Addendas and invoicing complements
Almost no invoice for a large Mexican retailer leaves Odoo the way the chain wants it. Here is what Studio solves at the customer level, what needs something more, and what your only option is on Odoo Online.
The two big topics
Everything in Mexican invoicing on Odoo falls into one of these two buckets, and each one is solved differently.
Addendas
They are configured per customer: each chain asks for its own data inside the XML, and that data is captured with Studio fields. That is why an addenda is reachable on both environments, with nothing installed and no server access.
Special invoices
Complemento detallista, sector and government complements, XML structures the localization simply does not contemplate. Studio no longer reaches here: the document has to be produced another way.
Addendas we have already built
Every chain has its own format, its own catalogues and its own receiving portal. We know these ones from the inside.
And many more, plus foreign trade in general. If your chain is not on the wall, it is almost always a matter of reading its specification: the work is exactly the same.
When an addenda is not enough
If what they are asking for is a complement or a special structure, your environment decides the options you have.
You are on Odoo.sh
Two paths, and both of them work.
Factora
You stamp through the platform without loading your Odoo with a heavy module. It is the fast route, and the one that leaves no technical debt.
A custom module
We build the module that produces the document and you install it on your instance. It pays off when the case is yours alone and will live for years.
You are on SaaS (Odoo Online)
One path only: you cannot install modules.
Factora
It is your only option, and it is enough. The document is assembled and stamped outside Odoo, and the result comes back to your invoice without ever leaving the standard cloud.
Specialized CFDI stamping for Odoo, with no technical debt
Factora is the platform we built at Millora for exactly these cases. It handles what the localization does not generate — retail addendas, complemento detallista, payment complements for factoring, foreign trade, primary sector, INE, donatarias — and returns the stamped document to your Odoo.
A minimal module in your Odoo
It assembles the preformed XML with the data the case requires. It never touches the native localization or the core.
Factora validates and stamps
It receives the document, validates it against the specification and sends it to the PAC.
Everything returns to the invoice
The UUID, the stamped XML and the SAT acknowledgement are written back into Odoo automatically.
Not sure which environment you are on?
The technical note on Studio and Odoo.sh explains what each one can do and where the real boundary sits.
Tell us which chain is asking for it
Send us the specification they handed you — or just the name of the chain — and we will tell you whether it is solved with Studio, with Factora or with a module, and what it costs before we start.

