Skip to content

Docs

Tax invoices by API

NF-e, NFS-e and NFCom with asynchronous processing, batch download and webhooks for every invoice event.

Docs

NF-e 10472

Sale, R$ 1,284.90

draft

Issuer

Razao Social Emitente Ltda

Recipient

Customer

  1. POST sent/v1/invoices/product/sent
  2. processinginvoiceId pi_1234567890
  3. webhooksent-product-invoice
  4. issueddelivered to the customer
  • NFS-e
  • NFS-e Nacional
  • NFCom
  • Received invoices
  • Batch download

Clients and partners

  • Santander
  • Nuvemshop
  • Tray
  • Unisuam
  • Kora Saúde
  • Fiotec
  • NDD
  • Reserva
  • Avocado Pay
  • CF Contabilidade
  • SolarGrid
  • Transfero
  • RioCard Mais
  • WAM Group

What Openi Docs is

Openi Docs is Openi's tax invoice API. With it you issue, query and cancel NF-e, issue NFS-e (including NFS-e Nacional) and NFCom asynchronously, and follow every invoice event by webhook.

From registered company to authorized invoice.

  1. Register the company

    Register the issuer through the API. A single key serves several companies.

  2. Set up the webhook

    Subscribe to the sent-product-invoice event before issuing. Issuance is asynchronous.

  3. Send the invoice

    POST /v1/invoices/product/sent validates the data and returns the invoiceId with status processing.

  4. Follow the result

    The webhook delivers every update. Query, cancel or send a correction letter through the same API.

One POST to issue. One webhook to know.

# Abridged body. The full schema is in the documentation.
curl -X POST "https://api.twdocs.com.br/v1/invoices/product/sent" \
  -H "Authorization: Bearer $DOCS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "natureza_operacao": "Venda",
    "data_emissao": "2024-05-12",
    "tipo_documento": 1,
    "finalidade_emissao": 1,
    "cnpj_emitente": "YOUR_CNPJ",
    "nome_emitente": "Razao Social Emitente Ltda",
    "uf_emitente": "SP"
  }'

CaseTax invoices

40,000 tax invoices a month run by API

WAM Group runs 40,000 tax invoices a month on Docs. Issuance is one call, processing is asynchronous and every invoice event arrives by webhook, with single or batch download of the documents.

WAM Group
tax invoices per month
40K
Read the WAM Group case
From issuance to invoice event
Example
Invoice sent (API)Event (webhook)
  • NFS-e · Company 1

    R$ 1,840.00

    Authorized

    Authorized

    Document available

  • NF-e · Company 2

    R$ 12,300.00

    Authorized

    Authorized

    Document available

  • NFS-e · Company 1

    R$ 560.00

    Rejected

    Rejected

    With the reason

  • NF-e · Company 3

    R$ 4,215.90

    processing

    Processing

Sample data, to illustrate the flow.

The tax documents your operation issues and receives.

NF-e end to end

Issuance, query, cancellation, correction letter, interested party and financial reconciliation (ECONF) in the same API.

  • POST /v1/invoices/product/sent
  • sent-product-invoice event
  • Field names in Portuguese

NFS-e and NFS-e Nacional

Single and batch issuance, with lookup of received invoices.

NFCom

Communication invoices with the same authentication and response pattern.

Downloads

Download tax documents one by one or in batch.

Separate staging

A development environment with its own URL to test before production.

Simple API
REST, JSON and key authentication. Ready-made examples and a Postman collection in the documentation.
Agent-ready
An MCP server and llms.txt on every product, so your agents can read the documentation and operate the API.
Start free
A free plan on all three products and monthly plans from R$ 59.90, with a usage allowance included.

Combine with the other products

“We integrated Open Finance in one sprint. The documentation answers before we need to ask.”
Marina DuarteHead of Engineering, credit fintech
“The reconciliation that took the team two days now runs on its own.”
Rafael AntunesCTO, retail chain

Teams from fintechs, retail and accounting already integrate with Openi.

Request access

Run Docs on your account. The reference is already open.

Read the endpoints, copy the examples above and request credentials to make the same calls with your own data.