create_invoice
Issue a Paraguay electronic invoice (factura electrónica, Documento Electrónico for SIFEN / e-Kuatia) through FacturaSend, which generates, digitally signs and transmits it to the DNIT (tax authority) from YOUR OWN FacturaSend account — this server only forwards the call and never holds your certificate. It wraps POST /{tenant}/lote/create with a single DE. Amounts are in Paraguayan guaraníes (PYG), which have NO decimals — pass unit prices as INTEGERS, and prices are TAX-INCLUSIVE (IVA incluido). IVA (VAT) rate per line: 10 (standard), 5 (reduced), or 0 (exempt); the server liquidates the IVA portion locally (10% -> price*10/110, 5% -> price*5/105). Set draft=true to build the DE WITHOUT transmitting it to SIFEN (offline test, no fiscal effect). On success you get the 44-digit cdc, the numero (establecimiento-punto-numero), and the SIFEN estado (Aprobado / Aprobado con observacion / Rechazado). Required credential headers (set once in your MCP client, per-request, never stored): x-facturasend-tenant (your FacturaSend tenant/company id, in the URL path) + x-facturasend-key (your FacturaSend API key; the free test environments never reach SIFEN production). Optional owner-policy headers x-agentpay-max-amount / x-agentpay-approval-above / x-agentpay-allowed-tools.
Parameters9
| establecimiento | number | required | Establishment code of the issuing point, e.g. 1 (matches your FacturaSend timbrado config). |
| punto | string | required | Expedition point (punto de expedición), e.g. "001". |
| numero | number | required | Sequential document number for this establecimiento/punto, e.g. 123. |
| fecha | string | optional | Issue date-time (ISO 8601, e.g. 2026-07-10T10:30:00). Default: now. |
| moneda | string | optional | ISO currency code. Default PYG (guaraní, 0 decimals). |
| tipoTransaccion | number | optional | SIFEN transaction type 1-13. Default 1 (venta de mercadería / sale of goods). |
| cliente | object | required | Buyer / receptor. For a registered taxpayer set contribuyente=true and provide ruc; for a final consumer set contribuyente=false and (optionally) documentoTipo+documentoNumero. |
| items | array | required | Line items. Each: { descripcion, cantidad, precioUnitario (PYG integer, tax-inclusive), iva? (10|5|0, default 10), codigo?, unidadMedida? (default 77=Unidad) }. |
| draft | boolean | optional | true = build the DE WITHOUT transmitting to SIFEN (offline test, no fiscal effect). Default false. |
Raw schema
{
"type": "object",
"properties": {
"establecimiento": {
"type": "number",
"description": "Establishment code of the issuing point, e.g. 1 (matches your FacturaSend timbrado config)."
},
"punto": {
"type": "string",
"description": "Expedition point (punto de expedición), e.g. \"001\"."
},
"numero": {
"type": "number",
"description": "Sequential document number for this establecimiento/punto, e.g. 123."
},
"fecha": {
"type": "string",
"description": "Issue date-time (ISO 8601, e.g. 2026-07-10T10:30:00). Default: now."
},
"moneda": {
"type": "string",
"description": "ISO currency code. Default PYG (guaraní, 0 decimals)."
},
"tipoTransaccion": {
"type": "number",
"description": "SIFEN transaction type 1-13. Default 1 (venta de mercadería / sale of goods)."
},
"cliente": {
"type": "object",
"description": "Buyer / receptor. For a registered taxpayer set contribuyente=true and provide ruc; for a final consumer set contribuyente=false and (optionally) documentoTipo+documentoNumero.",
"properties": {
"contribuyente": {
"type": "boolean",
"description": "true = registered taxpayer (RUC required); false = final consumer."
},
"ruc": {
"type": "string",
"description": "Buyer RUC incl. check digit, e.g. 80012345-6 (required when contribuyente=true)."
},
"razonSocial": {
"type": "string",
"description": "Buyer legal/full name. For an anonymous consumer use \"Sin Nombre\"."
},
"tipoOperacion": {
"type": "number",
"description": "Operation type: 1=B2B, 2=B2C, 3=B2G, 4=B2F (export). Default: 1 if contribuyente else 2."
},
"pais": {
"type": "string",
"description": "Country code. Default PRY."
},
"tipoContribuyente": {
"type": "number",
"description": "When contribuyente: 1=persona física, 2=persona jurídica."
},
"documentoTipo": {
"type": "number",
"description": "Consumer ID type: 1=Cédula paraguaya, 2=Pasaporte, 3=Cédula extranjera, 4=Carné de residencia (for contribuyente=false)."
},
"documentoNumero": {
"type": "string",
"description": "Consumer ID number (for contribuyente=false)."
},
"email": {
"type": "string",
"description": "Optional buyer email (comma-separate multiple)."
},
"codigo": {
"type": "string",
"description": "Optional internal client code; defaults to the ruc/documento or \"1\"."
}
},
"required": [
"razonSocial"
]
},
"items": {
"type": "array",
"minItems": 1,
"description": "Line items. Each: { descripcion, cantidad, precioUnitario (PYG integer, tax-inclusive), iva? (10|5|0, default 10), codigo?, unidadMedida? (default 77=Unidad) }.",
"items": {
"type": "object",
"properties": {
"descripcion": {
"type": "string",
"description": "Item description."
},
"cantidad": {
"type": "number",
"description": "Quantity (>0)."
},
"precioUnitario": {
"type": "number",
"description": "Unit price in PYG (integer, tax-inclusive / IVA incluido)."
},
"iva": {
"type": "number",
"enum": [
0,
5,
10
],
"description": "IVA rate: 10 standard, 5 reduced, 0 exempt. Default 10."
},
"codigo": {
"type": "string",
"description": "Optional product code; defaults to a line index like \"IT-1\"."
},
"unidadMedida": {
"type": "number",
"description": "SIFEN unit-of-measure code. Default 77 (Unidad)."
}
},
"required": [
"descripcion",
"cantidad",
"precioUnitario"
]
}
},
"draft": {
"type": "boolean",
"description": "true = build the DE WITHOUT transmitting to SIFEN (offline test, no fiscal effect). Default false."
}
},
"required": [
"establecimiento",
"punto",
"numero",
"cliente",
"items"
]
}