This page covers the most common issues encountered when installing and using ERPNext Mexico Compliance. Each section describes the symptom, its most likely cause, and the steps to resolve it.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/TI-Sin-Problemas/erpnext_mexico_compliance/llms.txt
Use this file to discover all available pages before exploring further.
Stamp CFDI button is not visible
Stamp CFDI button is not visible
CFDI Stamping Error: "No Digital Signing Certificate"
CFDI Stamping Error: "No Digital Signing Certificate"
The stamping process requires a valid CSD (Certificado de Sello Digital) issued by the SAT for the company on the document.Steps to resolve:
- Go to Mexico Compliance → Digital Signing Certificate and verify that a certificate exists for the company associated with the Sales Invoice or Payment Entry.
- If no certificate exists, add one:
- Click Add Digital Signing Certificate.
- Select the correct Company.
- Attach the
.cercertificate file and the.keyprivate key file. - Enter the key password and click Save.
- If you are using the auto-stamp feature (stamping on submission), confirm that the Default CSD is configured in Mexico Compliance → CFDI Stamping Settings for that company.
CFDI Stamping Error: "Customer has no tax ID"
CFDI Stamping Error: "Customer has no tax ID"
Every CFDI must carry the recipient’s RFC. Stamping will fail if the Customer record does not have a Tax ID set, or if the Tax ID is not a validly formatted Mexican RFC.Steps to resolve:
- Open the Customer record and set the Tax ID field to the customer’s RFC.
- The RFC must be either 12 characters (legal entity) or 13 characters (natural person) and match the SAT format. Use the
is_valid_rfcvalidator to check the format programmatically: - For sales to the general public (Público en General), use the generic RFC
XAXX010101000. For foreign customers, useXEXX010101000.
CFDI Stamping Error: "Address has no zip code"
CFDI Stamping Error: "Address has no zip code"
The SAT requires a postal code (
LugarExpedicion) on every CFDI. The app reads this from the issuing company’s address.Steps to resolve:- Open the Company record and navigate to the linked address.
- Confirm that the Zip Code / Postal Code field is filled in with a valid 5-digit Mexican postal code.
- For Sales Invoices, also verify that the Customer’s billing address has a Zip Code set — this is used as the recipient’s address data.
- After saving the address, retry stamping.
SAT Catalog items not appearing
SAT Catalog items not appearing
SAT catalogs (SAT Product or Service Keys, SAT UOM Keys, SAT Payment Methods, etc.) are populated during
bench migrate via the after_migrate hook, which runs erpnext_mexico_compliance.migrate.execute_after_migrate_tasks.Steps to resolve:- Run a fresh migration to trigger catalog population:
- Large catalogs (SAT Product or Service Keys, SAT UOM Keys) are enqueued on the long queue. Make sure the long-queue worker is running:
- Check for background job errors: in the ERPNext Desk go to Settings → Background Jobs and look for failed jobs with
erpnext_mexico_compliancein the function path. - If catalogs still do not appear after a successful migration, clear the cache:
Cancellation status stuck at "Pending Cancellation"
Cancellation status stuck at "Pending Cancellation"
After a CFDI cancellation request is submitted, the document moves to
"Pending Cancellation" status and waits for the SAT to confirm. The hourly scheduled job (check_cancellation_status) polls the SAT automatically.Steps to resolve:- Wait for the next hourly run. The scheduler queries the SAT for every document with
mx_cfdi_status = "Pending Cancellation"and updates them automatically. - To check immediately without waiting, open the Sales Invoice or Payment Entry and click Check Cancellation Status. The current SAT response (code, document status, cancellability, cancellation status) will appear in a dialog.
- If the SAT reports
CancellationStatus.REJECTED(“Solicitud rechazada”), the cancellation request was denied by the recipient. You will need to coordinate with the recipient and submit a new cancellation request once they accept, or choose a different cancellation reason that does not require recipient approval (CANCELLABLE_BY_DIRECT_CALL). - If the scheduler is not running, restart it:
test_mode is producing non-valid CFDIs
test_mode is producing non-valid CFDIs
When Test Mode is enabled in CFDI Stamping Settings, the web service returns a test UUID. These CFDIs are not registered with the SAT and are not legally valid fiscal documents.Steps to resolve:
- Go to Mexico Compliance → CFDI Stamping Settings.
- Uncheck the Test Mode checkbox.
- Click Save.
- Any CFDIs stamped while in test mode must be re-stamped — they cannot be converted to valid CFDIs retroactively.
bench migrate fails or catalogs do not update
bench migrate fails or catalogs do not update
A failed
bench migrate can leave SAT catalogs partially updated or not updated at all. This is most commonly caused by a missing long-queue worker.Steps to resolve:- Confirm the long-queue worker is running before migrating:
- Re-run the migration:
- Watch the worker output for errors. Common causes include database connection issues and missing Python dependencies (
satcfdi,lxml). - To check that
satcfdiandlxmlare installed in the bench virtualenv:If either is missing, reinstall the app:
Translation strings not showing in Spanish
Translation strings not showing in Spanish
The app ships with
es and es_MX locale files. If the UI is displaying untranslated strings (English keys) after switching the language, the translation cache is likely stale.Steps to resolve:- Clear the site cache:
- Hard-reload the browser (Ctrl+Shift+R / Cmd+Shift+R) to discard cached JavaScript bundles.
- Confirm the user’s Language preference is set to
Spanish (es)orSpanish (Mexico) (es_MX)in User Settings. - If strings are still missing, the translation file may need to be rebuilt: