The invoice each country requires, over the API.

Cord Invoicing issues invoices from the app or over the API and adapts the document to your business's country: the e-invoice its tax authority requires wherever Cord already issues it, or a standard invoice with each line's tax. Each authority is switched on country by country.

Tax issuing is available from the Starter plan where enabled. Free issues standard invoices and pro formas.

POST /api/v1/facturas/f3a8d1c4-…200 OK
{ "action": "finalize" }
{
  "data": {
    "numero": "INV-000187",
    "cliente": "Hochbau Kessler GmbH",
    "estado": "open",
    "estado_fiscal": "issued",
    "pais": "DE", "tipo": "commercial_invoice",
    "moneda": "EUR", "total": 14875.00,
    "saldo": 14875.00, "vence": "2026-10-30"
  }
}
XRechnung and Factur-X · PDF and XML in the emailinvoice.finalized → webhook

FULL CYCLE

Create, issue, collect and correct from your code.

POST /api/v1/facturas creates a draft. Then, on that same invoice, you issue it, email it with the PDF attached, record a full or partial payment, void it or create a credit note. Each action fires its event, so your system can react by webhook.

  • Draft first: nothing reaches the tax authority until you issue
  • Partial payments capped at the real balance
  • invoice.finalized, invoice.paid and invoice.voided as webhooks
An invoice lifecycle over the API
POST /api/v1/facturas                # draft
  { "cliente_id": "9b41…", "items": [ … ] }
← 200  { "id": "f3a8d1c4-…" }

POST /api/v1/facturas/f3a8…  { "action": "finalize" }
← 200  estado_fiscal: "issued"       # invoice.finalized

POST /api/v1/facturas/f3a8…  { "action": "send" }
← 200  # email with the PDF attached

POST /api/v1/facturas/f3a8…  { "action": "payment", "monto": 5000 }
← 200  saldo: 9875.00                 # partial payment

INVOICES IN THE APP

Your team sees what your integration sees.

What you create over the API shows up in Invoices with its commercial and tax status: open, overdue, paid or void, and whether issuing failed. Open, overdue and collected this month are calculated for you.

  • Commercial status and tax status kept apart
  • Balance and due date for each invoice
  • CSV export and recurring invoices
InvoicesExport CSV+ New invoice
$11,183 USDopen
$3,520 USDoverdue
$24,290 USDcollected this month
AllDraftsOpenOverduePaid
InvoiceClientDueTotalStatus
INV-000231RIRidgeline Builders LLCOct 30$4,123Open
INV-000230ÁVÁvila Construction LLCOct 12$5,540Partially paid
INV-000229NONorthgate HardwareSep 21$3,520Overdue
INV-000228ALAltamira GroupSep 18$8,712Paid
INV-000227CACasa SerranoSep 15$1,296Paid

BY COUNTRY

The right document for each country.

Cord issues in each country the document its tax authority requires, or a standard invoice where none is needed. In the United States, Canada and the United Kingdom it issues an invoice with each line's sales tax, GST/HST or VAT. Where an authority must receive each invoice, Cord switches that channel on country by country; until it goes live for the account, the invoice goes out as a standard invoice or a pro forma.

  • The electronic format each authority requires
  • Per-line taxes and withholdings, not a flat rate
  • PDF and XML validated by the authority, where it applies
Document by countrybased on your business's country
DE
GermanyXRechnung, Factur-X and Peppol · USt. per line
E-invoice
MX
MexicoCFDI 4.0 stamped with the SAT · UUID, PDF and XML
Tax
US
United StatesState sales tax · commercial invoice
Commercial
ES
SpainIVA and IRPF per line · Verifactu in beta; without a certificate, pro forma
Beta
CO
ColombiaIVA and ReteFuente per line · DIAN in beta
Beta

FREQUENTLY ASKED QUESTIONS

What developers ask about Tax invoicing.

The one the country's tax authority requires wherever Cord already issues it, or a standard invoice with each line's tax where nothing else is required. Several tax-authority registries are in beta; until they go live for your account, the invoice goes out as a standard invoice or pro forma, never with a tax status that was not generated.

Yes. POST /api/v1/facturas creates a draft and POST /api/v1/facturas/{id} with action finalize issues it. The same route accepts send, payment, void and credit_note.

Yes, wherever the country's e-invoicing is live for your account: Cord signs or stamps it with your tax credentials, files it with the authority and returns the PDF, the XML and the identifier the authority sends back. Where it is still in beta, the invoice goes out as a standard invoice or pro forma.

A standard invoice with each line's tax, such as sales tax, GST or VAT, which is the usual document where the authority does not require its own electronic format. It has its own payment link, accepts partial payments and fires the same events over the API.

The integration with that authority is built and tested against its official specifications, but it is not live for accounts yet. Meanwhile, the invoice goes out as a standard invoice or pro forma, and Cord never shows a tax status that was not generated.

The invoice keeps the tax status "error" and is not marked as issued. You see it in the app and over the API, and can fix the data and issue again.

Explore the rest of the developer platform.

Invoice from your system, with the right document.

Create your account, set up your tax details and issue your first invoice over the API.

See what you'll pay

Published pricing, with the fee for every payment in plain view.

Pricing details →

Start building

Start operating and sending quotes on the Free plan.

Integration options →