Facturarea din transferuri

Odoo standard facturează o comandă de vânzare sau de achiziție ca întreg (sau prin asistentul propriu al comenzii Create Invoice); nu permite unui utilizator din depozit să transforme într-o factură o livrare sau o recepție anume, deja validată, și nu păstrează o evidență explicită a transferurilor care au ajuns exact pe care linie de factură. Clienții eYssen care facturează pe aviz de livrare, care grupează mai multe livrări pentru același client pe o factură colectivă sau care trebuie să urmărească o linie de factură până la mișcarea fizică de mărfuri care o justifică, au nevoie de ambele capacități. Această funcție adaugă o acțiune Facturare direct pe transferurile de stoc, un indicator al stării facturii pe fiecare transfer și o legătură permanentă, în ambele sensuri, între ridicări și facturile/facturile de furnizor generate din ele.

Starea facturii pe transferurile de stoc

screenshot: invoicing-from-transfers-picking-list-status
menu
Inventory ‣ Deliveries ‣ Filters ‣ To be Invoice
shows
Inventory app, Deliveries list view, with the "Invoice Status" column visible (badges: Not invoiced / To Invoice / Fully Invoiced / Over Invoiced) and the "To be Invoice" filter applied.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

Fiecare stock.picking (livrare, recepție sau transfer intern) primește un câmp Stare factură cu cinci valori posibile: Nefacturat, De facturat, Facturat integral, Supra-facturat și Nu necesită facturare. Este calculat comparând cantitatea totală mutată în operațiunile transferului cu cantitatea deja preluată de liniile de factură și este afișat ca insignă colorată atât în lista de transferuri, cât și pe formularul transferului.

Vizualizarea listă primește și un concept de Direcție expus ca Tip operațiune (Recepție, Livrare sau Transfer intern), un filtru rapid De facturat și o opțiune Group By: Invoice State, astfel încât contabilitatea să poată găsi rapid fiecare transfer finalizat care încă așteaptă să fie facturat.

În fila de operațiuni a formularului ridicării, fiecare linie afișează o coloană de cantitate Facturat lângă cerere, codificată prin culoare: verde când linia este complet facturată, portocaliu când nu s-a facturat încă nimic, albastru când este facturată parțial și roșu când este supra-facturată.

Crearea unei facturi direct dintr-unul sau mai multe transferuri

screenshot: invoicing-from-transfers-picking-form-button
menu
Inventory ‣ Deliveries ‣ open a Done transfer
shows
A validated (Done) outgoing delivery form, showing the "Számlázás" header button, the "Invoice Status" field next to Source Document, and the "Invoiced" quantity column on the operations list.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

Un transfer finalizat a cărui Stare factură este Nefacturat sau De facturat afișează un buton de antet Facturare. Aceeași acțiune este disponibilă și ca acțiune în masă din lista de transferuri, astfel încât mai multe transferuri pot fi selectate și facturate împreună dintr-un singur clic.

screenshot: invoicing-from-transfers-bulk-invoice-action
menu
Inventory ‣ Deliveries ‣ select rows ‣ Actions (gear icon)
shows
Deliveries list view with several Done rows for the same customer selected via checkboxes, and the gear/Actions menu open showing the "Számlázás" action.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

Când este declanșată — pe o singură ridicare sau pe o selecție multiplă — acțiunea:

  • cere ca fiecare transfer selectat să aparțină aceluiași partener, să fie în starea Efectuat și să aibă aceeași monedă; în caz contrar, se oprește cu o eroare clară;

  • stabilește tipul documentului țintă după tipul de operațiune al transferului: transferurile de ieșire creează o factură de client, orice altă direcție (recepții, transferuri interne folosite ca mișcări de furnizor) creează o factură de furnizor;

  • determină o dată de onorare pe transfer — pentru o livrare preferă data efectivă de finalizare din Odoo și revine la data livrării proprii a transferului; pentru o recepție preferă data livrării înregistrate (care poate fi anterioară datei la care recepția a fost validată în Odoo) și revine la data finalizării;

  • cu localizarea maghiară, dacă transferurile selectate nu au toate aceeași dată de onorare, partenerul trebuie să aibă bifată caseta Acord de factură agregată, în caz contrar acțiunea este refuzată — o singură factură nu poate combina în tăcere mai multe date de onorare fără acel acord;

  • refuză combinarea transferurilor ale căror date de onorare cad în luni calendaristice diferite; și

  • creează o factură/factură de furnizor nouă, în stare de ciornă, pentru partenerul, data și moneda determinate și o completează imediat cu câte o linie pentru fiecare mișcare de stoc nefacturată de pe transferurile selectate (vezi mai jos), apoi deschide noul document.

Adăugarea liniilor avizelor de livrare pe o factură existentă

screenshot: invoicing-from-transfers-add-from-deliveries
menu
Accounting ‣ Customer Invoices ‣ New ‣ set Customer
shows
A draft customer invoice (or vendor bill) form with a customer set, showing the "Add Products from Delivery Notes" button above the invoice lines table.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

Facturile nu trebuie să provină neapărat dintr-un transfer. Orice factură de client sau de furnizor în stare de ciornă care are deja setat un Client/Furnizor afișează un buton Adaugă produse din avizele de livrare deasupra liniilor facturii. Acesta deschide un asistent Selecție avize de livrare, prefiltrat pe transferurile Efectuate ale acelui partener care nu sunt încă facturate integral (cu excepția transferurilor interne).

screenshot: invoicing-from-transfers-select-deliveries-wizard
menu
from the invoice form, click "Add Products from Delivery Notes"
shows
The "Selection of Delivery Notes" popup wizard, listing candidate Done/unbilled transfers for the invoice's partner, with one or more rows selected and the "Loading Items" button visible.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

După selectarea unuia sau mai multor transferuri și un clic pe Se încarcă articolele, asistentul adaugă câte o linie de factură pentru fiecare mișcare de stoc rămasă de facturat, preluând produsul, cantitatea nefacturată, prețul unitar al mișcării (sau prețul liniei comenzii de vânzare asociate, când mișcarea nu are unul) și o legătură înapoi către linia comenzii de vânzare și/sau a comenzii de achiziție, acolo unde este cazul. Semnul cantității este ajustat automat, astfel încât același asistent funcționează și la încărcarea mișcărilor de retur/rambursare pe o notă de credit. Cu excepția cazului în care factura este un document de stornare (care trebuie să păstreze data facturii originale), data contabilă din antet și Data livrării sunt actualizate la data celei mai recente linii, iar comenzile de vânzare contributoare sunt adăugate la Origine a facturii.

Cu localizarea maghiară, fiecare linie primește și data de onorare a propriului transfer, iar datele din antet ale facturilor agregate și ale celor de corecție rămân neschimbate.

Trasabilitatea ridicare–factură

screenshot: invoicing-from-transfers-invoice-lines-detail
menu
invoice form ‣ Invoice Lines tab, after loading lines from the wizard
shows
The resulting invoice's Invoice Lines tab, with the "Delivery Note" column and the green/red truck "fully delivered" icon column visible next to the product lines.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

Fiecare linie de factură creată dintr-un transfer — fie prin butonul Facturare de mai sus, fie prin asistentul Adaugă produse din avizele de livrare, fie prin facturarea proprie a comenzilor de vânzare/achiziție din Odoo — păstrează o legătură către mișcarea (mișcările) de stoc exactă din care a fost facturată. Aceasta este expusă în mai multe locuri:

  • liniile de factură primesc o coloană doar pentru citire Aviz de livrare, care listează numele ridicării (ridicărilor) din spatele liniei (cu referința proprie a documentului partenerului între paranteze, când a fost înregistrată una pe recepție), și o coloană de pictogramă fără etichetă, care afișează un camion verde când cantitatea facturată a liniei corespunde cu ceea ce a fost efectiv livrat/primit și un camion roșu în caz contrar;

  • formularul mișcării de stoc primește un grup Linii factură care listează linia (liniile) de factură pe care a fost facturată (vizibil pentru grupul Facturare);

  • formularul transferului primește un buton inteligent Facturi, iar formularul facturii/facturii de furnizor primește un buton inteligent corespunzător Ridicări — ambele deschid direct înregistrarea (înregistrările) legată(e), ca formular când există una singură sau ca listă filtrată când există mai multe;

screenshot: invoicing-from-transfers-invoice-picking-smart-buttons
menu
open an already-invoiced transfer, and the invoice created from it
shows
Two linked records side by side (or two crops): the picking form with the "Invoices" smart button (pencil-square icon) in the button box, and the invoice form with the "Pickings" smart button (truck icon) in its button box.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.
  • odată ce o mișcare de stoc este efectuată și are o linie de factură legată de ea, cantitatea sa nu mai poate fi editată — Odoo refuză modificarea cu o eroare, astfel încât o mișcare deja facturată să nu poată deveni în tăcere nesincronizată cu factura.

Pe partea de vânzări, fluxul standard Creează factură al Odoo este extins astfel încât, pentru fiecare linie de comandă de vânzare, numai mișcările de stoc efectuate, nerebutate, orientate spre client, care mai au o cantitate nefacturată (sau, pentru o rambursare, numai mișcările marcate To Refund) să fie legate de noua linie de factură — astfel, această trasabilitate este completată automat chiar și când se facturează direct din comanda de vânzare, nu dintr-un transfer.

Facturarea comenzilor de achiziție

screenshot: invoicing-from-transfers-purchase-bill-link
menu
Purchase ‣ a confirmed order ‣ Create Bill ‣ post the bill ‣ open the bill form
shows
A posted vendor bill created from a confirmed purchase order, with the "Pickings" smart button in the button box.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

Aceeași trasabilitate se aplică și pe partea de achiziții: crearea unei facturi de furnizor dintr-o comandă de achiziție leagă fiecare linie de factură de mișcarea (mișcările) de stoc de recepție care îi acoperă cantitatea, respectând politica de facturare a produsului — Cantități comandate folosește cantitatea comandată minus cea facturată, Cantități primite folosește cantitatea primită minus cea facturată — și parcurgând mișcările de la cea mai recentă la cea mai veche.

O factură de furnizor poate fi creată și înainte de primirea mărfurilor, când produsul este facturat pe cantități comandate. În acest caz, după ce recepția corespunzătoare este validată ulterior, mișcarea de stoc nou efectuată este legată retroactiv de linia facturii de furnizor deja postate pentru acea linie de comandă de achiziție, astfel încât butonul inteligent Ridicări și trasabilitatea avizului de livrare rămân corecte chiar și când facturarea are loc înaintea primirii fizice.

Excluderea unui transfer de la facturare

screenshot: invoicing-from-transfers-no-need-to-invoice
menu
open a transfer ‣ Other Info tab ‣ scroll to the Számlázás group
shows
Picking form, "Other Info" tab, "Számlázás" group, with "No need to invoice" checked and a "Reason" filled in.
module
eyssen_stock_picking_invoice_link, eyssen_purchase_stock_picking_invoice_link
notes
English UI, light theme, 1440px width.

Un transfer care nu va fi niciodată facturat — o expediere de mostre, o corecție internă și așa mai departe — poate fi marcat Nu necesită facturare în fila sa Alte informații, cu un text obligatoriu Motiv. Aceasta setează Stare factură la Nu necesită facturare și îl elimină din filtrul De facturat și din domeniul de aplicare al butonului Facturare.

Important

Doar utilizatorii din grupul Invoicing/Accounting Manager (account.group_account_manager) au voie să seteze sau să șteargă acest indicator; oricine altcineva care încearcă să îl editeze primește o eroare de permisiuni.

Configurare

Funcția nu necesită un ecran de setări dedicat — se activează automat odată ce modulele descrise mai jos sunt instalate peste sale_stock și/sau purchase. Ea se bazează totuși pe câteva câmpuri aparținând altor module eYssen:

  • cu localizarea maghiară, caseta Acord de factură agregată a clientului trebuie să fie activată în Contacte înainte ca transferurile acelui client, cu date de onorare diferite, să poată fi combinate pe o singură factură;

  • referința proprie a documentului partenerului de pe recepție (eyssen_stock_deliveryslip), când este completată, este adăugată la eticheta Aviz de livrare afișată pe liniile de factură.

Notă

Doar grupul Invoicing/Accounting Manager poate comuta Nu necesită facturare pe un transfer; nu trebuie acordat niciun drept de acces separat pentru restul funcției, în afara grupurilor obișnuite de acces la Stoc și Facturare.

Utilizare

  1. Validați o livrare sau o recepție ca de obicei, astfel încât să ajungă în starea Efectuat.

  2. Din vizualizarea listă sau din formularul transferului, verificați Stare factură. Dacă este Nefacturat sau De facturat, faceți clic pe Facturare (pe formular) sau selectați mai multe transferuri ale aceluiași partener și rulați acțiunea în masă din listă.

  3. Examinați factura/factura de furnizor în stare de ciornă pe care o deschide Odoo: este deja completată cu câte o linie pentru fiecare mișcare de stoc nefacturată, cu produs, cantitate, preț și referința avizului de livrare. Ajustați-o și postați-o ca pe orice altă factură.

  4. Pentru a adăuga mai multe transferuri la o factură deja existentă (de exemplu o ciornă încărcată parțial sau o factură creată manual), deschideți-o, faceți clic pe Adaugă produse din avizele de livrare, selectați transferurile suplimentare în asistent și faceți clic pe Se încarcă articolele.

  5. De pe oricare parte a legăturii, folosiți butoanele inteligente pentru a naviga: Facturi pe un transfer, pentru a vedea pe ce a fost facturat, sau Ridicări pe o factură/factură de furnizor, pentru a vedea ce transferuri acoperă.

  6. Dacă un transfer nu trebuie facturat niciodată, deschideți-l, accesați Alte informații, bifați Nu necesită facturare și completați Motiv.

Domeniu de aplicare și module

Funcția este livrată de următoarele module:

  • eyssen_stock_picking_invoice — butonul și acțiunea în masă Facturare pe transferuri, câmpurile transferului Stare factură/Nu necesită facturare, asistentul Adaugă produse din avizele de livrare și coloanele Aviz de livrare / livrat complet pe liniile de factură.

  • eyssen_stock_picking_invoice_link — legătura de bază many-to-many între mișcările de stoc și liniile de factură, butoanele inteligente Facturi/Ridicări, protecția împotriva editării unei mișcări deja facturate, legarea automată la facturarea dintr-o comandă de vânzare și re-legarea corectă la crearea unei note de credit (fork al modulului OCA stock_picking_invoice_link).

  • eyssen_purchase_stock_picking_invoice_link — extinde aceeași legătură la comenzile de achiziție și facturile de furnizor, inclusiv legarea retroactivă pentru mărfurile facturate înainte de primire (fork al modulului OCA purchase_stock_picking_invoice_link).

  • account_invoice_line_toolbar — bara de instrumente de deasupra liniilor facturii, care conține butonul Adaugă produse din avizele de livrare; instalat automat.

  • eyssen_stock_picking_invoice_l10n_hu — regulile maghiare (acordul de factură agregată, data de onorare a liniilor de factură, datele neschimbate ale facturilor agregate și de corecție); instalat automat când localizarea maghiară este instalată.