Import facturi clienti
Importul facturilor de clienti se realizeaza in doua etape:
- Inserarea in tabelele de antete si linii a informatiilor corecte si complete. In cazul in care se doreste importul simultan pentru mai multe documente se foloseste pentru legatura dintre antet si linii campul id_document. Structura tabelelor este prezentata in anexele B si C.
- Apelarea procedurii stocate importex_facturi_clienti_exec care valideaza, importa datele si goleste tabelele-buffer. In cazul in care datele nu sunt corecte procedura intoarce o exceptie si intregul proces de import este abandonat, restabilindu-se starea dinaintea importului. Lista erorilor posibile este prezentata in anexa D.
Anularea unui import se face prin apelarea procedurii stocate importex_facturi_clienti_anulare cu parametrul id_importex (id lot articole importate), dar si prin id_document (id-ul extern din aplicatia terta). Procedura stocata verifica consistenta efectului de anulare a datelor deja importate si dupa caz realizeaza stergerea efectiva a datelor sau intoarce un mesaj de eroare.
Puteti consulta urmatoarele tabele pentru a verifica, in prealabil sau ulterior importului, datele existente:
- Antete de documente: cli. Cheia primara a tabelului: anluna + pct_lcr + id.
- Linii de documente pentru produse: linfactclienti. Legatura cu antetul anluna + pl_cli + id_cli.
ANEXA A. Parametri import:
Câmp | Tip | Descriere |
---|---|---|
id_importex | varchar(25) | ID pentru identificarea unui lot de documente importate (util, de ex., pentru ștergerea în bloc a unui lot de documente importate), valoare implicită NULL |
id_document | varchar(25) | ID-ul documentului care se dorește a fi importat. În cazul în care se dorește importul tuturor documentelor se va trimite NULL. Valoarea implicită este NULL. |
keep_data_on_err | bit | 0 - nu se vor păstra datele în tabelele buffer (valoare implicită) 1 - se vor păstra datele în tabelele buffer, în caz de eroare |
single_tran | bit | Se specifică dacă se va deschide o singură tranzacție pentru întregul import sau se va utiliza o tranzacție per document. 1 - în cazul apariției unei erori la importul unui document, sistemul va reveni complet la starea dinaintea importului (valoare implicită). 0 - documentele importate până la apariția erorii rămân în baza de date |
gen_pvmpma | bit | 0 - Nu se generează PV modificare preț pentru marfa cu amănuntul (valoare implicită) 1 - Se generează în prealabil PV modificare preț pentru marfa cu amănuntul |
exec_type | tinyint | 0 - Validare și import, cu oprire în cazul erorilor (valoare implicită) 1 - Validare și import, sărind peste înregistrările cu erori 2 - Validare date, fără a realiza importul |
return_errorlist | tinyint | 0 - Fără listă erori (valoare implicită) 1 - Returnează lista înregistrărilor cu erori 2 - Returnează lista tuturor înregistrărilor |
inchidere_cmd | tinyint | 0 - Nu se închide comanda asociată facturii (valoare implicită) 1 - Închide comanda, indiferent dacă a fost onorată integral sau nu 2 - Închide comanda doar dacă au fost onorate toate produsele |
ANEXA B. Tabel antete document: importex_facturi_clienti avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_importex | varchar(25) | ID pentru identificarea unui lot de documente importate (util, de ex., pentru stergerea in bloc a unui lot de documente importate) Atentie! Gestionarea, verificarea si validarea acestui camp este in sarcina dezvoltatorului utilitarului de export-import. |
id_document | varchar(25) | ID unic pentru identificarea documentului |
tip_document | varchar(15) | Tipul documentului (Factura, Factura externa, Fact.ext.cu TVA) (optional, implicit Factura) |
id_carnet | bigint | Codul intern al carnetului din care este emis documentul (optional) |
serie_document | varchar(10) | Seria documentului (optional) |
numar_document | varchar(20) | Numarul documentului (format dintr-o parte numerica de pana la 10 cifre, urmata de un sufix de pana la 10 caractere alfanumerice) |
data_document | date | Data documentului |
data_scadenta | date | Data scadentei facturii |
moneda | char(3) | Moneda (RON, EUR) (optional, implicit RON) |
curs | money | Cursul valutar (1.00 pentru RON) (optional, implicit 1) |
id_gestiune | varchar(25) | Codul intern al gestiunii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_gestiune) |
id_extern_gestiune | varchar(25) | Id-ul extern al gestiunii (optional daca se specifica id_gestiune sau den_gestiune) |
den_gestiune | varchar(30) | Denumirea gestiunii (optional daca se specifica id_gestiune) |
cont_debit | varchar(17) | Cont debit. Poate fi de forma 4111.1, programul corectand automat formatul |
id_client | varchar(25) | Codul intern al clientului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cif_client sau den_client) |
id_extern_client | varchar(50) | Id-ul extern al clientului (optional daca se specifica id_client sau cif_client) |
cif_client | varchar(20) | Codul fiscal / CNP al clientului (optional daca se specifica id_client sau den_client) |
den_client | nvarchar(200) | Denumirea clientului (optional daca se specifica id_client sau cif_client) |
id_delegat | varchar(25) | Codul intern al delegatului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_delegat) |
id_extern_delegat | varchar(25) | Id-ul extern al delegatului (optional daca se specifica id_delegat sau den_delegat) |
den_delegat | varchar(30) | Denumirea delegatului (optional daca se specifica id_delegat) |
id_agent | varchar(25) | Codul intern al agentului de vanzari in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_agent) |
id_extern_agent | varchar(25) | Id-ul extern al agentului (optional daca se specifica id_agent sau den_agent) |
den_agent | varchar(100) | Denumirea agentului de vanzari (optional daca se specifica id_agent) |
id_facturist | varchar(25) | Codul facturistului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_facturist) |
id_extern_facturist | varchar(25) | Id-ul extern al facturistului (optional daca se specifica id_facturist sau den_facturist) |
den_facturist | varchar(100) | Denumirea facturistului (optional daca se specifica id_facturist) |
observatii | varchar(max) | Observatii document |
livrat_afara_ro | bit | Livrat in afara Romaniei (optional, implicit 0) |
taxare_inversa | bit | Factura cu taxare inversa (optional, implicit 0) |
validare | bit | Se va valida sau nu documentul dupa salvare |
anulare | bit | Se va anula sau nu documentul dupa salvare |
valoare | money | Valoarea inclusiv TVA pentru control final (NULL pentru a ignora verificarea) |
id_adresa | varchar(25) | Codul intern al adresei in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci adresa este considerat implicit 1 (optional daca se specifica den_adresa) |
den_adresa | varchar(200) | Denumirea adresei (optional daca se specifica id_adresa) |
id_transport | varchar(25) | Codul intern al transportului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci adresa este considerat implicit 1 (optional daca se specifica den_transport) |
den_transport | varchar(100) | Denumirea transportului (optional daca se specifica id_transport) |
observatii_print | varchar(1000) | Observatii print |
cod_factura | varchar(50) | Codul de bare al facturii (optional) |
incasare_bon_fiscal | bit | Factura incasata cu bon fiscal |
numar_cmd_hotel | numeric(18,0) | Numar comanda servicii hoteliere. |
id_extern_rez_hotel | varchar(25) | ID-ul unic al rezervarii hoteliere (optional daca se specifica numar_rez_hotel si data_rez_hotel). |
numar_rez_hotel | varchar(25) | Numarul rezervarii hoteliere (optional daca se specifica id_extern_rez_hotel). |
data_rez_hotel | date | Data documentului rezervarii hoteliere (optional daca se specifica id_extern_rez_hotel). |
jurnal_tva | bit | Includ document in jurnal de TVA |
intrastat_tara_expediere | varchar(2) | Tara de expediere intrastat |
errorlist_antet | varchar(max) | Lista a erorilor specifice campurilor din antet aparute la validarea importurilor |
nr_cmnz_hotel | varchar(500) | Numar comenzi hotel |
deducere_tva | bit | Deducere TVA |
reglement_selectie | varchar(20) | Reglement selectie |
nr_contract | varchar(20) | Numar contract |
data_contract | date | Data contract |
termen_incasare | smallint | Numar zile pana la data scadentei |
numar_awb | varchar(50) | Numar AWB |
mod_plata | varchar(25) | Mod plata |
data_anaf | date | Data la care a fost validata factura in SPV |
id_solicitare | numeric(18,0) | ID-ul solicitarii din SPV al facturii validate de catre ANAF |
id_carnet_aviz_antet | numeric(18,0) | ID-ul carnetului din nomenclatorul Carnete cu tip Aviz marfa |
serie_aviz_antet | varchar(10) | Seria avizului |
numar_aviz_antet | numeric(10,0) | Numarul avizului |
numar_comanda_antet | varchar(30) | Numarul comenzii de client |
operatiuni_neimpoz | bit | Operatiuni neimpozabile |
id_model_doc | numeric(18,0) | Id model document |
ANEXA C. Tabel linii facturi clienti: importex_facturi_clienti_lin avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_document | varchar(25) | ID unic pentru identificarea documentului |
id_produs | varchar(25) | Codul intern al produsului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cod_produs sau den_produs) |
id_extern_produs | varchar(25) | Id-ul extern al produsului (optional daca se specifica id_produs, cod_produs sau den_produs) |
cod_produs | varchar(50) | Codul de bare al produsului (optional daca se specifica id_produs sau den_produs) |
den_produs | varchar(173) | Denumirea produsului (optional daca se specifica id_produs sau cod_produs) |
tip_produs | char(3) | Codul din 3 caractere corespunzator tipului de produs definit in nomenclatorul de bunuri si servicii (optional daca se specifica cont_produs) |
cont_produs | varchar(17) | Contul produsului (optional daca se specifica tip_produs) |
serie_produs | varchar(50) | Seria/numarul de lot al produsului (optional) |
cantitate | numeric(13,3) | Cantitatea |
pret_achizitie | money | Pretul de achizitie(optional, descarcarea marfii se va face FIFO) |
pret_vanzare | money | Pretul de vanzare fara TVA in moneda facturii |
cota_tva_ies | int | Cota TVA iesire (optional, implicit e preluata din nomenclator) |
data_expirare | date | Data expirarii (optional) |
denumire_sup | nvarchar(2000) | Denumire suplimentara (optional) |
id_centru_profit | varchar(25) | Codul intern al centrului de profit in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_centru_profit) |
den_centru_profit | nvarchar(100) | Denumirea centrului de profit (optional daca se specifica id_centru_profit) |
id_aviz | varchar(25) | Codul intern al avizului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica serie_aviz, numar_aviz, data_aviz) |
id_extern_aviz | varchar(25) | Id-ul extern al avizului (optional daca se specifica id_aviz) |
serie_aviz | varchar(30) | serie aviz insotire marfa din care se factureaza |
numar_aviz | varchar(10) | Numar aviz insotire marfa din care se factureaza |
data_aviz | date | Data aviz insotire marfa din care se factureaza |
numar_auto | varchar(20) | Numar de inmatriculare autovehicul (optional) |
pret_vanzare_tva | money | Pretul de vanzare cu TVA in moneda facturii |
id_comanda | varchar(25) | Codul intern al comenzii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 |
id_extern_comanda | varchar(50) | Id-ul extern al comenzii (optional daca se specifica id_comanda) |
serie_comanda | varchar(10) | Seria/numarul comenzii |
numar_comanda | varchar(20) | Numarul comenzii |
data_comanda | date | Data comenzii |
corectie_tva | money | Corectie TVA |
discount | money | Valoare discount |
discount_proc | decimal(5,2) | Discount procentual |
errorlist_linii | varchar(max) | Lista a erorilor specifice campurilor din linii aparute la validarea importurilor |
id_extern_centru_profit | varchar(25) | Id-ul extern al centrului de profit (optional daca se specifica id_centru_profit sau den_centru_profit) |
id_linie_comanda | varchar(32) | Id-ul intern al liniei de comanda, in formatul ANLUNA_PCTLCR_ID |
id_furnizor | varchar(25) | Codul intern al furnizorului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cod_furnizor sau den_furnizor). Acest camp este valabil doar pentru servicii (transportatorul). |
cod_furnizor | varchar(20) | Codul fiscal / CNP al transportatorului (optional daca se specifica id_furnizor sau den_furnizor). Acest camp este valabil doar pentru servicii (transportatorul). |
den_furnizor | nvarchar(200) | Denumirea transportatorului(optional daca se specifica id_furnizor sau cod_furnizor). Acest camp este valabil doar pentru servicii (transportatorul). |
id_proiect | varchar(25) | Codul intern al proiectului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_proiect). |
den_proiect | nvarchar(150) | Denumirea proiectului(optional daca se specifica id_proiect) |
pret_lista | money | Pretul aferent listei de pret |
retur_bon_fiscal | bit | Se va specifica 1 in cazul in care se realizeaza returul in baza unui bon fiscal si 0 pentru returul in baza unei facturi |
id_factura | varchar(32) | Codul intern al facturii referinta pentru care se realizeaza stornarea, in formatul ANLUNA_PCTLCR_ID. Campul se va utiliza doar pentru facturile storno (optional daca se trimite numar_factura, serie_factura, data_factura). In cazul in care retur_bon_fiscal este 1 se trimite id-ul bonului fiscal |
serie_factura | varchar(10) | Seria facturii referinta pentru care se realizeaza stornarea. Campul se va utiliza doar pentru facturile storno (optional daca se trimite id_factura). In cazul in care retur_bon_fiscal este 1 se trimite numarul casei + "-" + zet (de exemplu: 23-546) |
numar_factura | varchar(20) | Numarul facturii referinta pentru care se realizeaza stornarea. Campul se va utiliza doar pentru facturile storno (optional daca se trimite id_factura) In cazul in care retur_bon_fiscal este 1 se trimite numarul bonului fiscal |
data_factura | date | Data facturii referinta pentru care se realizeaza stornarea. Campul se va utiliza doar pentru facturile storno (optional daca se trimite id_factura). In cazul in care retur_bon_fiscal este 1 se trimite data bonului fiscal |
ANEXA D. Tabel erori posibile la importul facturilor clienti:
Coloana | Descriere |
---|---|
FCL001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
FCL002 | Client nespecificat |
FCL003 | Gestiune nespecificata |
FCL004 | Moneda nespecificata |
FCL005 | Curs nespecificat |
FCL006 | Cont debit nespecificat |
FCL007 | Tip document invalid |
FCL008 | Produs nespecificat |
FCL009 | Cont produs nespecificat |
FCL010 | Lipsa antet |
FCL011 | Urmatoarele valori nu identifica unic moneda |
FCL012 | Lipsa moneda in nomenclator |
FCL013 | Urmatoarele conturi sunt invalide |
FCL014 | Cont debit invalid (nu exista/este sintetic) in balanta |
FCL015 | Urmatoarele coduri fiscale nu identifica unic partenerul |
FCL016 | Lipsa gestiune in nomenclator |
FCL017 | Urmatoarele id-uri externe nu identifica unic partenerul |
FCL018 | Urmatoarele denumiri nu identifica unic partenerul |
FCL019 | Lipsa partener in nomenclator |
FCL020 | Document deja existent |
FCL021 | Urmatoarele conturi sunt invalide |
FCL022 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
FCL023 | Lipsa pozitie in nomenclator bunuri si servicii |
FCL024 | Urmatoarele coduri nu identifica unic produsul dupa cod extern |
FCL025 | Urmatoarele denumiri nu identifica unic produsul |
FCL026 | Lipsa produs in nomenclator |
FCL027 | Urmatoarele denumiri nu identifica unic centrul de profit |
FCL028 | Lipsa centru de profit in nomenclator |
FCL029 | Lipsa autovehicul in nomenclator |
FCL030 | Urmatoarele numere de inmatriculare nu identifica unic autovehiculul |
FCL031 | Cantitate insuficienta pe stoc |
FCL032 | Urmatoarele coduri de carnet nu exista in nomenclator ... |
FCL033 | Sesiunea documentului a fost blocata la modificari |
FCL034 | Sesiunea documentului depaseste sesiunea curenta |
FCL035 | Exista linii cu pret de achizitie negativ |
FCL036 | Exista linii cu pret de vanzare negativ |
FCL037 | Urmatoarele informatii nu identifica unic avizul de insotire marfa |
FCL038 | Lipsa aviz de insotire marfa |
FCL039 | Valoarea totala a documentului importat difera de cea presetata in campul [Valoare] |
FCL040 | Urmatoarele denumiri nu identifica unic delegatul |
FCL041 | Procent TVA nespecificat pentru documente de tip Livrare OSS |
FCL042 | Cota TVA incorecta |
FCL043 | Lipsa comanda client |
FCL044 | Clientul din comanda client nu corespunde cu cel de pe factura! |
FCL045 | Urmatoarele coduri nu identifica unic produsul dupa cod echivalent |
FCL046 | Urmatoarele denumiri nu identifica unic agentul |
FCL047 | Lipsa agent in nomenclator |
FCL048 | Urmatoarele denumiri nu identifica unic o adresa de livrare |
FCL049 | Lipsa adresa de livrare in nomenclator |
FCL050 | Urmatoarele denumiri nu identifica unic un transportator |
FCL051 | Lipsa transportator in nomenclator |
FCL052 | Procent discount invalid |
FCL053 | Urmatoarele coduri nu identifica unic produsul dupa cod selectie |
FCL054 | Data scadenta trebuie este anterioara datei facturii |
FCL055 | Urmatoarele denumiri nu identifica unic facturistul |
FCL056 | Lipsa facturist in nomenclator |
FCL057 | Urmatoarele id-uri externe nu identifica unic gestiunea |
FCL058 | Urmatoarele id-uri externe nu identifica unic delegatul |
FCL059 | Urmatoarele id-uri externe nu identifica unic agentul |
FCL060 | Urmatoarele id-uri externe nu identifica unic facturistul |
FCL061 | Urmatoarele id-uri externe nu identifica unic agentul |
FCL062 | Urmatoarele id-uri externe nu identifica unic avizul de insotire marfa |
FCL063 | Urmatoarele id-uri externe nu identifica unic comanda client |
FCL064 | Urmatoarele valori nu identifica tara |
FCL065 | Urmatoarele id-uri externe nu identifica unic centrul de profit |
FCL066 | Numar nespecificat |
FCL067 | Lipsa linie comanda |
FCL068 | Urmatoarele coduri fiscale nu identifica unic furnizorul |
FCL069 | Urmatoarele denumiri nu identifica unic furnizorul |
FCL070 | Lipsa furnizor in nomenclator |
FCL071 | Urmatoarele denumiri nu identifica unic proiectul |
FCL072 | Lipsa proiect in nomenclator |
FCL073 | Cantitate nespecificata |
FCL074 | Urmatoarele informatii nu identifica unic factura de client |
FCL075 | Lipsa factura client |
FCL076 | Clientul din factura referinta nu corespunde cu cel de pe factura storno |
FCL077 | Format data expirare invalid. Interval permis 1900-01-01 - 2079-06-06 |
FCL078 | Urmatorii parteneri sunt blocati |
FCL079 | Urmatorii furnizori sunt blocati |
FCL080 | Valoarea facturii difera de suma totala a comenzilor incluse in aceasta factura! |
FCL081 | Nu exista, in modulul Hotel, comanda cu numarul |
FCL082 | Lipsa model factura client |
FCL083 | Id solicitare e-Factura existent pe factura |
FCL084 | Urmatoarele coduri de carnet aviz nu exista in nomenclator |
FCL085 | Lipsa factura client |
FCL086 | Clientul din factura referinta nu corespunde cu cel de pe factura storno! |
FCL087 | Urmatoarele informatii nu identifica unic bonul fiscal |
FCL088 | Lipsa bon fiscal |
FCL089 | Clientul din bonul fiscal referinta nu corespunde cu cel de pe factura storno! |