Unofficial Facturapi.io Python client
Project description
FacturAPI Unofficial Python client
This is an unofficial Python wrapper for FacturAPI
FacturAPI makes it easy for developers to generate valid Invoices in Mexico (known as Factura Electrónica or CFDI).
If you've ever used Stripe or Conekta, you'll find FacturAPI very straightforward to understand and integrate in your server app.
Install
pip install facturapi-python
Getting started
Create a customer
from facturapi import Facturapi
api = facturapi("FACTURAPI_SECRET_KEY")
new_customer = api.customers.create({
"legal_name": "Dunder Mifflin",
"tax_id": "ABC101010111",
"tax_system": "601",
"email": "email@example.com",
"phone": 6474010101,
"address": {
"street": "Blvd. Atardecer",
"exterior": 142,
"interior": 4,
"neighborhood": "Centro",
"city": "Huatabampo",
"municipality": "Huatabampo",
"zip": 86500,
"state": "Sonora",
"country": "MEX"
}
})
Create a product
from facturapi import Facturapi
api = facturapi("FACTURAPI_SECRET_KEY")
new_product = api.products.create({
"description": "Ukelele",
"product_key": 60131324,
"price": 345.6,
"tax_included": true,
"taxability": "01",
"taxes": [{
"type": "IVA",
"rate": 0.16
}],
"local_taxes": [],
"unit_key": "H87",
"unit_name": "Elemento",
"sku": "string"
})
Create an invoice
from facturapi import Facturapi
api = facturapi("FACTURAPI_SECRET_KEY")
new_invoice = api.invoices.create({
"customer": "YOUR_CUSTOMER_ID", # You can also use a customer object instead
"payment_form": api.catalogs.payment_forms.TRANSFERENCIA_ELECTRONICA,
"items": [{
"quantity": 1,
"product": 'YOUR_PRODUCT_ID' # You can also use a product object instead
}]
})
Download your invoice
from facturapi import Facturapi
api = facturapi("FACTURAPI_SECRET_KEY")
with open("invoice.zip", "wb") as binary_file:
invoice = api.invoices.download_zip("INVOICE_ID")
binary_file.write(invoice)
Send your invoice by email
from facturapi import Facturapi
api = facturapi("FACTURAPI_SECRET_KEY")
message = api.invoices.send_by_email("INVOICE_ID", "customer@email.com")
Documentation
You can find more on what to do on the official documentation
Help
:warning: This is an unofficial project, the maintainers does not have any affiliation with FacturAPI or their developers. Any error with the service itself should be reported to the official support channels
Found a bug?
If you find a bug for this API client, please create an issue on the project's github page
Contribute
All PRs are welcome!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file facturapi_python-0.1.3.tar.gz
.
File metadata
- Download URL: facturapi_python-0.1.3.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0571c78583d188abd1536a297dc81beefc255e941ee0df0fedd38f6dee1ebaf4 |
|
MD5 | 8040431bbc81552225385a416aa7219b |
|
BLAKE2b-256 | b21b736d5dc55e1140cc73095d17ed24cd58f564443880340b972d86fef05202 |
File details
Details for the file facturapi_python-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: facturapi_python-0.1.3-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 127bce265fe164462843fd004c179838e11b50bf1256133fb2814434fec4e4c6 |
|
MD5 | 560ba2d12baeba95ebda32fba188b446 |
|
BLAKE2b-256 | f01965dbd4fc15eb0e75e2e7c8d9fce31175cf22c8b73df6a5114aa25b24c440 |