Issues an NFCom from the submitted body. The client sends only the business data — the issuer block (emit) is built automatically from the registration of the token's company, and the technical access-key fields are calculated by the server. Credit is debited only in production (tpAmb=1) and when the NFCom is authorized. After authorization, the XML (nfcomProc) and the DANFE-COM (PDF) are generated and made available by URL.
Required headers
| Header | Type | Description |
| token | string | Token of the issuing company |
| sign | string | MD5 signature: MD5(token + path + body + timestamp) |
| timestamp | string | Unix timestamp in seconds (5-minute window) |
Body — root
| Field | Type | Description |
| ide | object | NFCom identification (environment, series, taxable event period) |
| dest * | object | Recipient / service taker data |
| assinante * | object | Service subscriber data (required in the NFCom layout) |
| det * | array | Billed items — at least 1 |
| total | object | Totals. Optional — calculated from the items when omitted |
| gFat | object | Invoice data (billing period, due date, barcode) |
| infAdFisco | string | Information of interest to the tax authority |
| infCpl | array | Complementary information (list of texts) |
| autXML | array | CNPJs/CPFs authorized to access the XML (list of strings) |
Required fields in the request: dest with xNome, one of CNPJ/CPF/idOutros and enderDest (xLgr, nro, xBairro, cMun, xMun, CEP with 8 digits, UF); assinante.iCodAssinante; and at least 1 item in det with xProd, cClass (7 digits from the NFCom item classification table), vItem and vProd. All other fields are optional.
ide — Identification
| Field | Type | Description |
| tpAmb | int | Environment: 1=production, 2=staging. Default: 2 |
| nNF | long | Sequential NFCom number. Optional — auto-incremented by the server when omitted or 0 |
| dhEmi | string | Issuance date/time. Optional — generated by the server when omitted |
| cMunFG | long | IBGE code of the taxable event municipality (7 digits). Optional — default: the municipality from the company registration |
| finNFCom | int | Purpose: 0=Normal, 3=Replacement, 4=Adjustment. Default: 0 |
| tpFat | int | Billing type: 0=Normal, 1=Centralized, 2=Co-billing. Default: 0 |
| nSiteAutoriz | int | Authorizing site (1 digit of the access key). Default: 0 |
| indPrePago | string | Prepaid service indicator: "1" when applicable |
Filled in automatically by the server — you do not need to send them: mod (fixed at 62), serie (the NFCom series registered for the company; set it in /api/company/edit via serie_nfcom), cUF (derived from the company registration), cNF (7-digit numeric code), cDV (access key check digit), tpEmis (normal) and verProc. The complete emit block and the infNFComSupl (QR code) are also built by the server.
dest — Recipient / Service taker
| Field | Type | Description |
| xNome * | string | Recipient name or corporate name |
| CNPJ ⚠ | string | Recipient CNPJ (14 digits) |
| CPF ⚠ | string | Recipient CPF (11 digits) |
| idOutros ⚠ | string | Other identification document (foreigner etc.) |
| indIEDest | int | IE indicator: 1=taxpayer, 2=exempt, 9=non-taxpayer. Default: 9 |
| IE | string | Recipient state registration (when a taxpayer) |
| enderDest * | object | Recipient address (see structure below) |
enderDest — Address
| Field | Type | Description |
| xLgr * | string | Street |
| nro * | string | Number |
| xCpl | string | Complement |
| xBairro * | string | Neighborhood |
| cMun * | long | IBGE municipality code (7 digits) |
| xMun * | string | Municipality name |
| CEP * | string | Postal code (8 digits) |
| UF * | string | State abbreviation (2 letters) |
| fone | string | Phone |
| email | string | E-mail |
assinante — Service subscriber
| Field | Type | Description |
| iCodAssinante * | string | Unique subscriber identification code (1–30 characters) |
| tpAssinante | int | Subscriber type: 1=Commercial, 2=Industrial, 3=Residential, 4=Rural producer, 5=Public agency, 6=Telecom service provider, 7=Diplomatic missions, 8=Churches and temples, 99=Others. Default: 1 |
| tpServUtil | int | Type of service used: 1=Telephony, 2=Data communication, 3=Pay TV, 4=Internet access, 5=Multimedia, 6=Others, 7=Several. Default: 1 |
| nContrato | string | Subscriber contract number |
det[] — Billed items
| Field | Type | Description |
| cProd | string | Item code. Optional — default: sequential number |
| xProd * | string | Description of the billed service/item |
| cClass * | string | Item classification code (7 digits — NFCom item classification table) |
| CFOP | string | CFOP of the service (required when the item has ICMS) |
| uMed | string | Unit of measure: 1=Minute, 2=MB, 3=GB, 4=UN. Default: 4 |
| qFaturada | string | Billed quantity. Default: "1" |
| vItem * | string | Unit value of the item |
| vProd * | string | Total value of the item |
| vDesc | string | Discount value |
| infAdProd | string | Additional item information |
| icms | object | ICMS taxation of the item (see below) |
| pis | object | Item PIS (see below) |
| cofins | object | Item COFINS (same structure as PIS) |
| ibscbs | object | IBS/CBS — Tax Reform (see below) |
det[].icms — Item ICMS
| Field | Type | Description |
| cst | string | ICMS CST. Default: "00" (full taxation) |
| vBC | string | ICMS calculation base |
| pICMS | string | ICMS rate (%) |
| vICMS | string | ICMS value |
| simplesNacional | bool | true = Simples Nacional issuer (ICMSSN group) |
| semCST | bool | true = item not related to ICMS (indSemCST; do not send CFOP in this case) |
det[].pis / det[].cofins
| Field | Type | Description |
| cst | string | PIS/COFINS CST (01, 02, 06, 07, 08, 09, 49). Default: "01" |
| vBC | string | Calculation base |
| pAliq | string | Rate (%) |
| valor | string | Tax value |
det[].ibscbs — IBS/CBS (Tax Reform)
| Field | Type | Description |
| cst | string | IBS/CBS CST (3 digits) |
| cClassTrib | string | Tax classification code |
| vBC | string | Calculation base |
| pIBSUF / vIBSUF | string | Rate and value of the state IBS |
| pIBSMun / vIBSMun | string | Rate and value of the municipal IBS |
| vIBS | string | Total IBS value |
| pCBS / vCBS | string | Rate and value of the CBS |
total — Totals (optional)
| Field | Type | Description |
| vProd | string | Sum of the items. Calculated when omitted |
| vBC | string | Total ICMS calculation base |
| vICMS | string | Total ICMS value |
| vDesc | string | Total discounts |
| vNF | string | Total NFCom value. Default: equal to vProd |
gFat — Invoice data
| Field | Type | Description |
| CompetFat | string | Invoice billing period in AAAAMM format |
| dVencFat | string | Due date in AAAA-MM-DD format |
| codBarras | string | Invoice barcode (digits only, 1–48) |
* Required field. ⚠ In the recipient, at least one of CNPJ, CPF or idOutros is required. Monetary values and rates are sent as strings with a decimal point (e.g.: "99.90").