AutoAzur Global Invoice Reconciler
One global invoice, hundreds of orders, one run
Reads the marketplace's global tax invoice, creates the invoice in Odoo and links every line to its sales order. Closes the billing cycle for hundreds of orders without typing a single line. It is the accounting half of Odoo Marketplugin.
How you get it
Every development works in all three Odoo environments. The only thing that changes is how we deliver it.
Odoo Online (SaaS)
You do not need the ability to install modules. A Millora consultant comes in with temporary access that you authorize and implements it with Odoo Studio. When they are done, you revoke the access.
Odoo.sh or your own server
You receive the module and the installation guide by email as soon as payment clears. Install it yourself, or we install it with you.
Installation · shell
# 1 · copia el módulo a tu addons_path
cp -r millora_conciliador_factura_global_autoazur /mnt/extra-addons/
# 2 · reinicia y actualiza la lista de apps
odoo-bin -u all -d tu_base --stop-after-init
# 3 · instala desde Apps
# busca "AutoAzur Global Invoice Reconciler"What it solves
The problem
A marketplace doesn't invoice you order by order. It sends one single global tax document at period close, with hundreds of line items inside. On the Odoo side you have hundreds of sales orders waiting to be invoiced.
Matching them is pure data entry: open the XML, read item by item, find which order each one belongs to, type the line, repeat. At three hundred items that is a day's work. And a typo doesn't stay a typo: it becomes an order invoiced twice, or one never invoiced that nobody notices until close.
Where those orders come from
This development is the accounting half of Odoo Marketplugin, Millora's integration syncing Odoo with more than twelve sales channels: Mercado Libre, Amazon, Walmart, Liverpool, Coppel, Elektra, Sears, Claro Shop, Shein, TikTok Shop, Shopify and WooCommerce. The integration engine comes from AutoAzur, a Mexican platform with over eight years and a hundred million orders processed.
Marketplugin handles the way in: it pulls sales in real time, updates inventory across every channel, stops overselling and leaves orders ready to fulfil. But at period end the global tax document arrives, and that is where what a connector can do for you ends.
This is what comes next. And it is why it fits so well on top of Marketplugin: the orders already arrived carrying their channel reference, which is exactly what reconciliation needs to find them.
How it works
You upload the XML and run it.
The module reads the document — series, number, date, currency, payment form and method, and the stamp's UUID — pulls out every line item and looks up each one's sales order by the reference at the start of its description.
When it finds it, it doesn't just note it down: it links the invoice line to the order line, which is what makes Odoo consider that order invoiced. If the order has a single line, the link is direct; if it has several, it matches by SKU, and if the SKU doesn't line up, by unit price and quantity.
Shipping items are set aside and consolidated into one line, so freight doesn't muddy the reconciliation.
Before creating anything it checks that the UUID doesn't already exist in the database. The same XML never goes in twice.
When it finishes you have the invoice created, posted and with the XML attached — plus a panel stating how many lines reconciled, how many didn't, the coverage percentage and the difference between the document total and the Odoo invoice total. Lines with no order are listed separately, with their amount, for review.
What it does not do
Worth saying up front. Lines that find no sales order still get invoiced: they go into the invoice, just unlinked. The panel flags them for someone to review; it does not leave them out.
The invoice is issued to the general public taxpayer, which is how a global document works, and applies 16% VAT to every line — other rates are not covered. Running it again on an already processed record only regenerates the panel: it does not redo or correct the invoice.
And reconciliation lives or dies by the description: the order reference has to appear at the start of every line item in the tax document, and match what the order carries in Odoo.
What changes
A billing close that took a day takes one run. But what really changes is that it stops being a black box: instead of assuming everything matched, you get a number — how many out of how many — and the exact list of what is still pending.
And with Marketplugin on the other side, the cycle closes end to end: the order arrives on its own from the channel and leaves invoiced and reconciled without anyone typing a line.
What's included
- Reads the global tax document and extracts series, number, date, currency, payment forms and UUID
- Looks up each line item's sales order by the reference in its description
- Links the invoice line to the order line, which is what marks it as invoiced
- Matches by SKU and, failing that, by unit price and quantity
- Rejects the XML if its UUID already exists: nothing is invoiced twice
- Consolidates shipping items into a single line
- Creates the invoice, posts it and attaches the original XML
- Panel with reconciled lines, pending lines, coverage and difference against the document
- Fits on top of the orders Odoo Marketplugin pulls from Mercado Libre, Amazon, Walmart and other channels
Requirements
- Sales and Accounting modules with the Mexican localisation installed
- A general public taxpayer contact with tax ID XAXX010101000 and a 16% sales VAT configured
- The order reference at the start of every line item's description in the tax document
- That same reference recorded on the Odoo sales order. If orders come in through Odoo Marketplugin, it is already there
You might also need
Payment Allocator
You decide how much goes to each invoice, not the order of the list
Accounting & tax
Manual Reconciliation
Split a payment or credit note across invoices by hand, to the full 100%
Accounting & tax
Aspel NOI payroll import
The payroll you already filed lands in Odoo as a journal entry
Accounting & tax

