[MX] Bulk Upload Manual
This manual explains how to issue CFDIs in Mexico by uploading a file with the Brinta bulk template. It covers the steps in the dashboard, the general rules that apply to every row, and links to one guide per document type.
Supported document types
| Document | Invoice Document Type | Invoice Type | Template tab | Guide |
|---|---|---|---|---|
| Invoice (CFDI Ingreso) | invoice | debit | Invoices | Invoice |
| Credit note (CFDI Egreso) | credit note | credit | Invoices | Credit and debit notes |
| Debit note | debit note | debit | Invoices | Credit and debit notes |
| Payment complement (Complemento de Pago) | Not needed | Not needed | Complemento de Pago | Payment complement |
Payment complements go in their own fileInvoices and notes are uploaded from the Invoices tab. Payment complements are uploaded from the Complemento de Pago tab, in a separate file and with the payment complement adapter.
1. Steps to upload a file
- Go to Invoicing → Outgoing → Bulk Uploads. In the left menu, expand Invoicing, then Outgoing, and click Bulk Uploads.
- Click "Create Invoice". A window opens to choose the creation method.
- Select "Bulk Upload". Choose the option on the left (cloud icon with an arrow).
- Select the adapter. In Select adapter, choose the adapter of the company that issues the documents in the file and click Next. The value in the
Issuercolumn must match that company. - Upload the file. Upload the completed template as
.xlsxor.csv. - Check the result. Every row should end in Issued. Fix the failed rows and upload only those rows again in a new file.
2. Template
Request the Mexico template from your Account Executive (AE) and fill it in following the format of each column.
The template has these tabs:
| Tab | Use |
|---|---|
| Invoices | Invoices, credit notes and debit notes. Red headers are mandatory. |
| Complemento de Pago | Payment complements. Dark blue headers are mandatory, gray headers are optional or conditional. |
| Tax Registration Status | Accepted values for Buyer Tax Registration Status (column BRINTA). |
| Payment Method | SAT payment method codes and the matching Brinta values. |
| Export Reason | SAT export codes for Export Reason. |
| Reference / Reference Complemento de Pago | A short description of each column. |
Clean the template before uploadingThe data tabs come with example rows, sample values and a color legend. Delete all of it before you add your own rows, so the file only contains your documents.
3. Rules for every row
| Topic | Rule | Example |
|---|---|---|
| Header names | Keep the column headers exactly as in the template. Do not rename, translate or merge them. | Buyer Legal Name |
| Fixed values | Lowercase, exactly as listed in each guide. | invoice, credit note, business |
| Catalog values | Copy them exactly from the reference tabs, with the same accents, capital letters and spaces. | Régimen general |
| Dates | yyyy-mm-dd. Format the cell as text so Excel does not change it. | 2026-06-30 |
| Amounts | Numeric cells, dot as decimal separator, no thousands separator. | 1000.75 |
| Rates | Decimal, not a percentage. | 0.16 for 16% |
| RFC | No dashes, spaces or special characters. 12 characters for companies, 13 for individuals. | TRA150604TW1 |
| Leading zeros | Postal codes, Export Reason and payment method codes keep their leading zero. Format those columns as text. | 06600, 01, 03 |
| Postal code | 5 digits. | 06600 |
| State | ISO 3166-2:MX code. See the table below. | MX-CMX |
| Country | ISO 3166-1 alpha-2 code. | MX |
| Currency | ISO 4217 code. | MXN, USD |
| Issuer | The issuer value given to you during onboarding. It must match the adapter you select. |
Mexican state codes
| State | Code | State | Code |
|---|---|---|---|
| Aguascalientes | MX-AGU | Morelos | MX-MOR |
| Baja California | MX-BCN | Nayarit | MX-NAY |
| Baja California Sur | MX-BCS | Nuevo León | MX-NLE |
| Campeche | MX-CAM | Oaxaca | MX-OAX |
| Chiapas | MX-CHP | Puebla | MX-PUE |
| Chihuahua | MX-CHH | Querétaro | MX-QUE |
| Ciudad de México | MX-CMX | Quintana Roo | MX-ROO |
| Coahuila | MX-COA | San Luis Potosí | MX-SLP |
| Colima | MX-COL | Sinaloa | MX-SIN |
| Durango | MX-DUR | Sonora | MX-SON |
| Estado de México | MX-MEX | Tabasco | MX-TAB |
| Guanajuato | MX-GUA | Tamaulipas | MX-TAM |
| Guerrero | MX-GRO | Tlaxcala | MX-TLA |
| Hidalgo | MX-HID | Veracruz | MX-VER |
| Jalisco | MX-JAL | Yucatán | MX-YUC |
| Michoacán | MX-MIC | Zacatecas | MX-ZAC |
4. Common errors
| Error | Cause | How to fix it |
|---|---|---|
Postal code with 4 digits (6600) | Excel removed the leading zero. | Format the column as text and type the value again: 06600. |
Export Reason 1 or payment method code 3 | Excel removed the leading zero. | Format the column as text and use 01, 03. |
| Invalid RFC | The RFC has dashes or spaces, or the wrong length. | Remove them and check the length: 12 for companies, 13 for individuals. |
| Tax registration status not recognized | The value differs from the catalog in accents, capital letters or spaces. | Copy the value from the Tax Registration Status tab without changes. |
| Wrong adapter | The adapter does not match the Issuer in the file. | Select the adapter of the issuing company. |
| Generic RFC rejected | XAXX010101000 or XEXX010101000 sent with the buyer's postal code. | With a generic RFC, use the issuer's postal code. |
| Wrong state | State name instead of its code. | Use the ISO code, for example MX-CMX. |
| VAT rate not recognized | The cell is text or has a dropdown, or the rate is 16. | Numeric cell with the decimal rate: 0.16. |
| Value not accepted for a fixed field | Invoice, Credit Note, Business written with capital letters. | Use lowercase. |
5. Checking the result
- Go to Invoicing → Outgoing → Bulk Uploads and open the upload with the eye icon.
- Download the report. The last columns show the error message for each failed row.
- Fix only the failed rows and upload them again in a new file.
For questions about this process, contact the Brinta team.
Updated about 24 hours ago
