FISCALISTO / API
Complementos
Carta Porte, comercio exterior, impuestos locales, instituciones educativas y los demás complementos del CFDI, como un campo más de la factura.
Un complemento agrega al CFDI la información que el SAT pide para ciertas operaciones. En la API cada uno es un campo de POST /v1/invoices, de la factura o de cada concepto, y Fiscalisto lo revisa con las mismas reglas que la app antes de timbrar.
| Complemento | Campo | Para qué |
|---|---|---|
| Carta Porte 3.1 | carta_porte | Traslado de mercancías por carretera, mar, aire o tren: origen, destinos, mercancías, vehículo y operadores. Va en un traslado ("type": "T") o en una factura de flete. |
| Comercio exterior 2.0 | comercio_exterior | Exportación definitiva de mercancías, con "export": "02". |
| Impuestos locales | local_taxes | Impuestos estatales trasladados o retenidos, como el ISH de hospedaje. |
| Instituciones educativas | items[].iedu | Colegiaturas: alumno, CURP, nivel y RVOE, para que los padres las deduzcan. |
| A cuenta de terceros | items[].third_party | Un concepto que se cobra por cuenta de otro contribuyente. |
| Vehículo usado | items[].used_vehicle | Venta de un auto usado por una persona física. |
| Donatarias | donation | Recibos de donativos de una donataria autorizada. |
| INE | ine | Operaciones con partidos políticos y candidatos. |
| Leyendas fiscales | leyendas | Textos que una disposición fiscal pide incluir. |
| Addenda | addenda (y items[].addenda) | Lo que piden algunos receptores, como Walmart o Soriana. |
Las facturas también llevan sin complemento la cuenta predial (items[].predial) en un arrendamiento y los pedimentos (items[].pedimentos) de la mercancía importada.
La referencia de POST /v1/invoices describe cada campo de cada complemento, con su nombre en el XML del SAT.
Ejemplo: hospedaje con ISH
curl https://api.fiscalisto.com/v1/invoices \
-H "Authorization: Bearer $FISCALISTO_API_KEY" \
-H "Idempotency-Key: reserva-77812" \
-H "Content-Type: application/json" \
-d '{
"customer": { "tax_id": "ICV060329BY0", "legal_name": "INMOBILIARIA CVA", "tax_system": "601", "zip": "33826" },
"payment_form": "04",
"items": [{ "description": "Hospedaje, 2 noches", "product_key": "90111800", "unit_name": "Noche", "quantity": 2, "unit_price": 1500 }],
"local_taxes": [{ "retention": false, "name": "ISH", "rate": 3, "amount": 90 }]
}'rate va en por ciento y amount es el importe del impuesto local; Fiscalisto lo suma (o, si es una retención, lo resta) al total.
Si el producto del catálogo ya lleva el impuesto (local_taxes en POST /v1/products) y la factura no manda local_taxes, Fiscalisto lo agrega solo, calculado sobre los conceptos de ese producto: en una factura con hospedaje y cena, el ISH va sobre el hospedaje. Si la factura manda local_taxes, se usan los suyos tal cual. Al público en general solo se le trasladan.
Ejemplo: a cuenta de terceros
curl https://api.fiscalisto.com/v1/invoices \
-H "Authorization: Bearer $FISCALISTO_API_KEY" \
-H "Idempotency-Key: comision-3391" \
-H "Content-Type: application/json" \
-d '{
"customer": { "tax_id": "ICV060329BY0", "legal_name": "INMOBILIARIA CVA", "tax_system": "601", "zip": "33826" },
"payment_form": "03",
"items": [{
"description": "Consultoría",
"product_key": "80101500",
"unit_price": 1000,
"third_party": { "tax_id": "CACX7605101P8", "name": "XOCHILT CASAS CHAVEZ", "tax_system": "612", "zip": "36257" }
}]
}'