| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Invoicing (account) • Discuss (mail) • Inventory (stock) |
| Lines of code | 504 |
| Technical Name |
l10n_mx_edi_pos_unfuck |
| License | OPL-1 |
| Website | http://www.vauxoo.com |
| Versions | 18.0 19.0 |
Mexican POS Management System
Extends Odoo's native l10n_mx_edi_pos to automate invoice generation and enforce correct payment terms in Point of Sale sessions for Mexican companies.
Odoo 19 handles CFDI stamping, global invoicing, and the self-service portal out of the box. This module covers what native does not: automatic individual invoicing for partners with RFC, payment term control per payment method, and a printable CFDI session report.
Why this module?
Without it, every POS session in Mexico requires one or more of these manual steps:
- The cashier must check if the customer has an RFC and tick "Invoice" on each order.
- There is no way to set different payment terms (PUE vs PPD) depending on whether the customer pays cash or credit card.
- At session close, the user must remember to manually generate global invoices for orders without customer or without RFC. If they forget, those orders remain without CFDI.
- There is no printable PDF for the signed session CFDI.
With this module installed, all of the above is handled automatically.
Features
Automatic invoicing based on partner RFC
When a POS order is assigned to a partner with a VAT (RFC), the invoice is generated and validated automatically. No checkbox, no extra click. The decision happens at two points:
- On order save: if the partner has an RFC, the order is flagged for invoicing before it reaches the standard Odoo flow.
- On session close: all uninvoiced orders with an RFC'd partner are invoiced first, then the native session close runs (accounting entries, payments). This sequence prevents RFC'd partners from being lumped into the global invoice.
Automatic global invoices at session close
After individual invoices are generated for RFC'd partners, the module automatically generates two separate global invoices (facturas globales) for the remaining orders:
- Orders without customer: all anonymous sales grouped into one global CFDI.
- Orders with customer but without RFC: grouped into a second global CFDI.
This happens automatically at session close. The user does not need to remember to generate them manually, and there is no risk of forgetting to issue the CFDI for these sales.
Payment term per POS payment method
A new field on pos.payment.method lets you define the payment term for invoices generated from that method.
- Cash → PUE (Pago en Una sola Exhibición)
- Credit card → PPD (Pago en Parcialidades o Diferido)
When an order has multiple payment methods, the term from the method with the highest amount is used. This overrides whatever payment term the partner has configured by default.
CFDI session report
A printable PDF report that renders the signed CFDI XML with all SAT-required information: concepts, taxes, QR code, digital stamps, and certification chain. Available from the session print menu.
The report includes the invoice total in words using the Mexican standard format (e.g., CIEN PESOS 00/100 M.N. for MXN).
Journal payment method visibility
Makes the Payment Way (forma de pago) field visible on bank and cash journal forms, not only on sale and purchase journals. This lets you configure the SAT payment method code directly on the journal used by the POS.
Configuration
- Go to Point of Sale > Configuration > Payment Methods.
- Set the Payment Term on each method.
What stays in native Odoo
The following features are handled by the standard l10n_mx_edi_pos module and this module does not duplicate or modify them:
- CFDI stamping and signing with the company's PAC
- Global invoice generation at session close
- Self-service invoice portal (QR code on ticket)
- CFDI Usage and Payment Way selection in the POS UI
- CFDI origin on credit notes (type 03 for merchandise returns)
- SAT status tracking and update
- Highest-amount payment method selection for the forma de pago field
Maintainer
This module is maintained by Vauxoo.
A Latin American company that provides training, coaching, development and implementation of enterprise management systems and bases its entire operation strategy in the use of Open Source Software and its main product is Odoo.
Odoo Proprietary License v1.0 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.
Please log in to comment on this module