- APPS
- POS Receipt Viettel Sinvoice Information 18.0
| Lines of Code | 486 |
| Technical name | l10n_vn_viin_accounting_sinvoice_pos |
| License | OPL-1 |
| Website | https://viindoo.com/apps/modules/18.0/l10n_vn_viin_accounting_sinvoice_pos |
| Read description for | v 16.0 v 17.0 |
| Required Apps | Invoicing (account) Discuss (mail) Inventory (stock) |
| Included Dependencies | Vietnamese E-Invoice Integration E-Invoice - Viettel S-Invoice Integrator Show EInvoice Information on POS Receipt Partner Identity Information Pos Refund Advance Partner Budget Code Viindoo Base Accounting Foundation API Request Logger Legal Invoice Number |
POS Receipt - Viettel S-Invoice Information
Print the Viettel S-Invoice e-invoice number, lookup code and lookup URL on the point of sale receipt, keeping every cash-register sale compliant with Decree 254/2026/ND-CP.
Odoo 18.0 · Community and Enterprise · OPL-1
Extends Show EInvoice Information on POS Receipt with Viettel S-Invoice.
Key Features
Built natively on Odoo/Viindoo to streamline real business operations:
Decree 254/2026/ND-CP Receipt Disclosure
Prints the invoice number, the secure lookup code and the lookup URL for a Viettel S-Invoice e-invoice right on the printed POS receipt.
One Shared Receipt Layout
Plugs Viettel S-Invoice into the single, provider-agnostic POS receipt layout - no separate template to configure or maintain.
Built on Odoo's S-Invoice Integration
Works on top of Odoo's own Viettel S-Invoice point-of-sale integration, which issues the e-invoice at checkout - nothing to re-implement.
Benefits
Keeps every cash-register sale invoiced through Viettel S-Invoice compliant with Vietnam's Decree 254/2026/ND-CP e-invoice disclosure requirement.
Customers can verify their e-invoice directly from the printed receipt - invoice number, lookup code and lookup URL, no separate lookup needed.
Once Auto-send to SInvoice is on for the point of sale, the disclosure appears on its own - no receipt template to design.
The receipt looks and behaves the same whichever e-invoice provider the company uses, so cashiers need to learn only one layout.
A new register takes the company's Default PoS Symbol, so adding registers needs no extra receipt setup.
Decree 254/2026/ND-CP disclosure on the printed receipt
Viettel S-Invoice returns no tax authority code, so the receipt carries the invoice number and the lookup code.
Enable Viettel S-Invoice at the register
One-time setup: S-Invoice account, symbol and default serial
See POS Receipt - Viettel S-Invoice Information in Action
See how this module solves real business problems in a working Viindoo environment.
Need help with POS Receipt - Viettel S-Invoice Information?
For questions, implementation support, or consulting services, contact Viindoo.
Pre-Sales & Partnership
When contacting us, please include:
- Odoo/Viindoo version (CE/EE).
- Number of users and business scope.
- Other modules currently in use.
Technical Support
For faster troubleshooting, please provide:
- Order number or app reference.
- Odoo/Viindoo version & edition.
- Steps to reproduce the issue.
- Screenshots/logs if available.
Technical Requirement
Works Great With These Modules
Extend POS Receipt - Viettel S-Invoice Information with complementary Viindoo apps:
Vietnamese E-Invoice Integration
The provider-agnostic backbone: one E-Invoice menu, one status filter and one settings section for every Vietnamese e-invoice provider.
Module l10n_vn_viin_ediE-Invoice - Viettel S-Invoice Integrator
Issue Vietnamese e-invoices through Viettel S-Invoice on top of Odoo core, fully integrated with the unified E-Invoice interface.
Module l10n_vn_viin_accounting_sinvoiceShow EInvoice Information on POS Receipt
The shared, provider-agnostic Decree 254/2026/ND-CP receipt disclosure this module plugs Viettel S-Invoice into.
Module l10n_vn_viin_edi_posWho Should Use This Module?
Built for Vietnamese retail and food-service businesses that issue e-invoices through Viettel S-Invoice at the point of sale:
Retail & Shopping Centers
Supermarkets and shopping centers that must print the Decree 254/2026/ND-CP disclosure on every cash-register e-invoice.
Restaurants, Cafes & Hotels
Food-and-beverage and hospitality businesses issuing Viettel S-Invoice e-invoices straight from the register.
Accounting & Compliance Teams
Teams that need proof the mandated e-invoice disclosure reaches the customer at the point of sale, not only on the backend invoice.
Installation
- Navigate to Apps.
- Search with keyword l10n_vn_viin_accounting_sinvoice_pos.
- Press Activate.
Instruction
This module is a thin companion between Viettel S-Invoice and the point of sale. It ships no screen of its own: once it is installed alongside E-Invoice - Viettel S-Invoice Integrator (l10n_vn_viin_accounting_sinvoice), Show EInvoice Information on POS Receipt (l10n_vn_viin_edi_pos) and Odoo core's Viettel S-Invoice point-of-sale module (l10n_vn_edi_viettel_pos), a cash-register sale invoiced through Viettel S-Invoice prints the mandated Decree 254/2026/ND-CP e-invoice disclosure on the customer receipt - using the same shared receipt layout every e-invoice provider uses.
Note
Extends Show EInvoice Information on POS Receipt - see its documentation: l10n_vn_viin_edi_pos.
1. Confirm the required modules are installed.
- Odoo installs E-Invoice - Viettel S-Invoice Integrator, Show EInvoice Information on POS Receipt and the Viettel S-Invoice point-of-sale module automatically as dependencies when you install this module from Apps.
2. Set up Viettel S-Invoice as the company's e-invoice provider.
- Go to Invoicing > Configuration > E-Invoice > E-Invoice Services (the app is called Accounting in the Enterprise edition) and open the S-Invoice API v2 service of your company. Its Mode is Sandbox while you test and Production for live invoices.
- Go to Invoicing > Configuration > E-Invoice > Viettel S-Invoice and create the Templates and Symbols registered with Viettel, then go to Invoicing > Configuration > E-Invoice > E-Invoice Serial and create a serial that uses the S-Invoice service and an e-invoice template.
- Go to Invoicing > Configuration > Settings. Under Vietnamese Integration, enter the Username and Password of your Viettel S-Invoice account in Setup SInvoice and pick the Default PoS Symbol used by every point of sale that has no symbol of its own.
- In the Vietnam E-Invoicing section of the same Settings page, set Default Serial to the serial of the S-Invoice service. Customers without a serial of their own, such as the buyers of point of sale orders, are then invoiced through Viettel S-Invoice.
3. Enable automatic Viettel S-Invoice issuance on the point of sale.
- Go to Point of Sale > Configuration > Settings, choose the point of sale used at the register and, in the Accounting section, turn on Auto-send to SInvoice (it is on by default for a new point of sale of a Vietnamese company). Every invoiced order is then sent to Viettel S-Invoice in real time.
- The Symbol field below it holds the invoice symbol of this point of sale. It is filled with the Default PoS Symbol of the company; change it only to give this point of sale its own symbol. Without a symbol, the register refuses to validate an invoiced order and shows a Configuration Error asking you to set a POS symbol or to turn Auto-send to SInvoice off.
4. Complete a point of sale order that generates an invoice.
- At the register, add products, choose the customer, then click Payment. For a Vietnamese company the Invoice option is already turned on (it is off by default only on a refund), and the customer is Walk-in Customer until you choose another one.
- Choose the payment method, then click Validate. The order is invoiced and issued to Viettel S-Invoice.
5. Read the Decree 254/2026/ND-CP disclosure on the printed receipt.
- On the receipt screen, an Einvoice Information block follows the order lines. It shows the note that the e-invoice was generated from a cash register, the customer's name, address and tax number (when the customer has one), the e-invoice serial, the Invoice No, the Lookup Code and the Lookup URL where the customer can check the e-invoice. The block is drawn by the shared, provider-agnostic receipt layout.
- Viettel S-Invoice does not return a tax authority code to Odoo, so the Tax Authority Code row does not appear on these receipts; the invoice number and the lookup code let the customer look the e-invoice up.
6. If the e-invoice could not be sent.
- When the invoice is still waiting to be sent after the payment, for example because the Viettel S-Invoice credentials of Setup SInvoice are missing or the service cannot be reached, the register shows an SInvoice Error message asking you to check the backend for details and retry. The receipt then prints without the Einvoice Information block, which appears only once the e-invoice has its invoice number. Fix the cause and send the invoice again from the invoice in the back office.
- When the e-invoice is already issued but its invoice number has not come back yet, the register checks again up to three times, one second apart, before printing the receipt. If the number is still missing, the receipt prints without the Einvoice Information block.
This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file).
You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one).
It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software.
The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.