Invoice Sequence project implements a clear way to distinguish "full", "simplified" and "aggregated" invoices created in any touchpoint, in terms of document type, numbering and printing.
A full invoice is also known as a full or complete VAT invoice. A complete invoice requires both seller and buyer identification, that is buyer’s name, address and tax id; therefore it allows a proper VAT deduction for the buyer.
A simplified invoice is commonly known as a ticket in some countries. A simplified invoice does not require identifying the customer to who products are being sold, by indicating his/her name, address or tax id. Regardless of what simplified invoices can include any of that data if provided.
An aggregated invoice is an invoice that gathers as many tickets issued to the same buyer as required. This invoice type is created at the time of cash up, not at the time of sale.
Draft tickets will not have a document number assigned any more. Once a ticket is completed using Web POS, a new document number will be generated using the corresponding document sequence and the ticket will be synchronized to back office using this document number. Thus, duplicated document number generation will be avoided when having several opened draft tickets.
Simplified and aggregated invoices can be enabled at Touchpoint Type level.
Both types of invoicing are incompatible. In case Generate Simplified Invoices is enabled, a simplified invoice will be created at sale time and for each ticket created in the touchpoint.
In case Generate Aggregated Invoices is enabled, aggregated invoices will be created at cash up time and gathering tickets created for the same customer in the touchpoint.
New document types should be created for simplified and aggregated invoices, related to order and return document types defined in each Organization.
In case invoice document types are not defined for current store, an error will be shown when loading Web POS.
New sequence prefixes must be defined for full and simplified invoices at Touchpoint level. Thus, each invoice type will follow a different document number sequence.
In case a different sequence needs to be used for full or simplified return invoices, the corresponding prefix needs to be defined as well.
Changing a sequence prefix will reset the sequence last number, starting next document number from zero.
In case full invoice sequence prefix is not defined for current touchpoint, an error will be shown when trying to issue a full invoice.
In case simplified invoice sequence prefix is not defined for current touchpoint, an error will be shown when trying to issue simplified invoices.
Finally, new print templates can be defined for new invoice types in Organization window.
In case Generate Aggregated Invoices is enabled at Touchpoint Type level, aggregated invoices will be created at cash up time and gathering tickets with Immediate invoice terms created for the same customer in the touchpoint.
Aggregated invoices will be generated using aggregated invoice document type and sequence defined at Document Type level.
Full invoices can be issued on demand for identified customers and based on invoice terms:
- In case of After Delivery or After Order Delivered invoice terms, full invoice will be automatically generated for delivered lines.
- In case of Immediate invoice terms, full invoice will be generated in case Issue Invoice menu option is selected.
- Do not invoice invoice terms will not generate any kind of invoice.
Full invoices will be generated using full invoice document sequence defined at Touchpoint level, will be printed using full invoice template defined at Organization level and will be synchronized to back office using full invoice document type defined at Document Type level.
In order to generate a full invoice, customer must be identified by a commercial or fiscal name, an invoice location and a valid tax ID. In case tax ID is not defined for the customer, the invoice will not be generated and an error will be shown in Web POS.
In case Generate Simplified Invoices is enabled at Touchpoint Type level, a simplified invoice will be created at sale time and for each ticket created in the touchpoint with Immediate invoice terms.
Simplified invoices will be generated using simplified invoice document sequence defined at Touchpoint level, will be printed using simplified invoice template defined at Organization level and will be synchronized to back office using simplified invoice document type defined at Document Type level.
Simplified Invoice Thresholds
Simplified Invoice Threshold for Retail module allows to define this threshold up to one, it is not possible to issue a simplified invoice but a full invoice.
Two preferences have been created to define the threshold for taxable and not taxable customers:
- Web POS - Simplified Invoices Threshold for VAT taxable person preference.
- Web POS - Simplified Invoices Threshold for non VAT taxable person preference.
If ticket amount exceeds the defined limit for current customer type, an error will be displayed:
OBSIT_CheckTaxableCustomer hook has been created to allow to determine which preference applies to current customer.
By default, any customer is considered as not taxable. Registering the hook and updating "isTaxable" business partner property is the way to change it.
Thus, any external module could use this hook to change the taxable definition of a customer depending on any country rules, such as the module org.openbravo.retail.simpinvoicethreshold.pt_PT.
Starting from the version 22Q3, a new field has been created named "Business Partner type", to determine which preference applies. Companies and Professionals are considered as VAT taxable, while any other option that is final consumer or public sector are considered as not VAT taxable.