Read and verify CFDI bills via SAT's web service
Project description
cfdibills
Utility to parse CFDI (Mexican invoice) versions 3.3 and 4.0 and validate their status against the SAT.
Features
- Load a CFDI in XML format into a pydantic object
- CFDIs are validated against the XSD schema, but a thorough check (i.e. conditional values) is not performed.
- Query the status of a CFDI via SAT's web service
- DOESN'T REQUIRE additional dependencies to read the XML like libxml2-dev, libxslt-dev
Installation
Run:
pip install cfdibills
Examples
You can load and verify a bill directly from its XML:
import cfdibills
cfdi = cfdibills.read_xml("path/to/bill.xml")
status = cfdibills.verify(cfdi)
Or you can verify it manually:
import cfdibills
status = cfdibills.verify(uuid="folio fiscal", rfc_emisor="re", rfc_receptor="rr", total_facturado=150.00)
In both cases, status
would look something like this:
SATConsultaResponse(
codigo_estatus='S - Comprobante obtenido satisfactoriamente.',
es_cancelable='Cancelable con aceptación',
estado='Vigente',
estatus_cancelacion=None,
validacion_efos='200',
)
Contributing
This repository uses pre-commit to help developers perform almost the same validations as in the CI pipeline but before having to wait for a Pull-Request. You can set it up using:
pip install -r requirements_dev.txt
pre-commit install
License
Licensed under the GNU LGPLv3 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cfdibills-0.3.0.tar.gz
(25.4 kB
view hashes)