NF-e de entrada: importar e consultar
Importa o XML da nota do fornecedor, lista as notas e consulta uma nota com suas linhas.
Listar notas de entrada
Uma NF-e de entrada é a nota fiscal eletrônica que o fornecedor emitiu contra o seller. Importá-la evita digitar a compra: a plataforma lê os itens, tenta casar com os seus produtos e, ao lançar, dá entrada no estoque e cria as contas a pagar. A listagem não traz as linhas.
/api/v1/vendor/erp/notas-entradaSellerLista as NF-e de entrada
Parâmetros de consulta
statusstringpending_matchmatchedpostedcancelledsourcestringuploadsefazpageintegerpadrão: 1per_pageintegerpadrão: 50Exemplo de requisição: Listar notas de entrada
curl "$BASE_URL/api/v1/vendor/erp/notas-entrada?status=pending_match" \
-H "Authorization: Bearer $TOKEN"Resposta: Listar notas de entrada
{
"invoices": [
{
"id": "5534915e-925c-45af-888a-4957b6fa54ff",
"access_key": "35261011222333000181550010000487651876543249",
"number": "48765",
"series": "1",
"supplier_cnpj": "11222333000181",
"supplier_name": "Distribuidora Aurora Ltda",
"supplier_id": null,
"purchase_order_id": null,
"warehouse_id": null,
"issue_date": "2026-10-09",
"total_products_cents": 99800,
"freight_cents": 5000,
"discount_cents": 0,
"total_invoice_cents": 104800,
"source": "upload",
"status": "matched",
"duplicatas": [
{
"number": "001",
"due_date": "2026-11-06",
"amount_cents": 52400
},
{
"number": "002",
"due_date": "2026-12-06",
"amount_cents": 52400
}
],
"created_at": "2026-10-11T14:30:00Z"
}
],
"total": 1
}Campos da resposta
invoicesarrayNotas da página.
iduuidaccess_keystringnumberstringseriesstringsupplier_cnpjstringsupplier_namestringsupplier_iduuidnull nas notas do seller.purchase_order_iduuidnull se não vinculado.warehouse_iduuidnull: o depósito é escolhido no lançamento.issue_datestringYYYY-MM-DD. null se ausente no XML.total_products_centsintegerfreight_centsintegerdiscount_centsintegertotal_invoice_centsintegersourcestringuploadsefazstatusstringpending_matchmatchedpostedcancelledduplicatasarrayParcelas de cobrança do XML. Pode vir null na listagem.
numberstringdue_datestringYYYY-MM-DD.amount_centsintegeritemsarrayLinhas. Só no detalhe e nas ações.
iduuidline_numberintegersupplier_codestringcProd).eanstringdescriptionstringncmstringcfopstringunitstringquantitystringconversion_factorstring1.0000). O estoque recebe quantity vezes este fator, que precisa dar inteiro.unit_value_centsintegeritem_total_centsintegerlanded_unit_cost_centsintegernull se não calculado.product_iduuidnull enquanto não casado.variation_iduuidmatch_statusstringautomanualunmatchedignoredproduct_namestringcreated_atdatetimetotalintegerErros: Listar notas de entrada
| Status | Quando | Corpo |
|---|---|---|
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Consultar nota de entrada
/api/v1/vendor/erp/notas-entrada/{id}SellerConsulta uma NF-e de entrada
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição: Consultar nota de entrada
curl "$BASE_URL/api/v1/vendor/erp/notas-entrada/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN"Resposta: Consultar nota de entrada
{
"id": "5534915e-925c-45af-888a-4957b6fa54ff",
"access_key": "35261011222333000181550010000487651876543249",
"number": "48765",
"series": "1",
"supplier_cnpj": "11222333000181",
"supplier_name": "Distribuidora Aurora Ltda",
"supplier_id": null,
"purchase_order_id": null,
"warehouse_id": null,
"issue_date": "2026-10-09",
"total_products_cents": 99800,
"freight_cents": 5000,
"discount_cents": 0,
"total_invoice_cents": 104800,
"source": "upload",
"status": "matched",
"duplicatas": [
{
"number": "001",
"due_date": "2026-11-06",
"amount_cents": 52400
},
{
"number": "002",
"due_date": "2026-12-06",
"amount_cents": 52400
}
],
"items": [
{
"id": "816501df-beb7-4b95-89d5-e75efd42400d",
"line_number": 1,
"supplier_code": "CAM-PRE-M",
"ean": "7891234567895",
"description": "Camiseta Básica Preta M",
"ncm": "61091000",
"cfop": "5102",
"unit": "UN",
"quantity": "20.0000",
"conversion_factor": "1.0000",
"unit_value_cents": 4990,
"item_total_cents": 99800,
"landed_unit_cost_cents": 5240,
"product_id": "94e6917e-8733-4ddc-b446-ed85977117e8",
"variation_id": null,
"match_status": "auto",
"product_name": "Camiseta Básica Preta M"
}
],
"created_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidaccess_keystringnumberstringseriesstringsupplier_cnpjstringsupplier_namestringsupplier_iduuidnull nas notas do seller.purchase_order_iduuidnull se não vinculado.warehouse_iduuidnull: o depósito é escolhido no lançamento.issue_datestringYYYY-MM-DD. null se ausente no XML.total_products_centsintegerfreight_centsintegerdiscount_centsintegertotal_invoice_centsintegersourcestringuploadsefazstatusstringpending_matchmatchedpostedcancelledduplicatasarrayParcelas de cobrança do XML. Pode vir null na listagem.
numberstringdue_datestringYYYY-MM-DD.amount_centsintegeritemsarrayLinhas. Só no detalhe e nas ações.
iduuidline_numberintegersupplier_codestringcProd).eanstringdescriptionstringncmstringcfopstringunitstringquantitystringconversion_factorstring1.0000). O estoque recebe quantity vezes este fator, que precisa dar inteiro.unit_value_centsintegeritem_total_centsintegerlanded_unit_cost_centsintegernull se não calculado.product_iduuidnull enquanto não casado.variation_iduuidmatch_statusstringautomanualunmatchedignoredproduct_namestringcreated_atdatetimeErros: Consultar nota de entrada
| Status | Quando | Corpo |
|---|---|---|
| 404 | A nota não existe ou é de outro seller. | {"error":"inbound invoice not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Importar XML
Envia o arquivo XML da NF-e (versão 4.00, com ou sem o envelope nfeProc) como multipart/form-data, no campo file, até 16 MB. A importação é idempotente pela chave de acesso: reenviar a mesma nota do mesmo seller devolve a nota já existente, também com 201. A importação não mexe em estoque nem cria contas; isso só acontece ao lançar.
/api/v1/vendor/erp/notas-entrada/import-xmlSellerImporta o XML de uma NF-e
Corpo da requisição
filefileobrigatórioExemplo de requisição: Importar XML
curl -X POST "$BASE_URL/api/v1/vendor/erp/notas-entrada/import-xml" \
-H "Authorization: Bearer $TOKEN" \
-F "file=@nfe-48765.xml;type=application/xml"Resposta: Importar XML
{
"invoice": {
"id": "5534915e-925c-45af-888a-4957b6fa54ff",
"access_key": "35261011222333000181550010000487651876543249",
"number": "48765",
"series": "1",
"supplier_cnpj": "11222333000181",
"supplier_name": "Distribuidora Aurora Ltda",
"supplier_id": null,
"purchase_order_id": null,
"warehouse_id": null,
"issue_date": "2026-10-09",
"total_products_cents": 99800,
"freight_cents": 5000,
"discount_cents": 0,
"total_invoice_cents": 104800,
"source": "upload",
"status": "matched",
"duplicatas": [
{
"number": "001",
"due_date": "2026-11-06",
"amount_cents": 52400
},
{
"number": "002",
"due_date": "2026-12-06",
"amount_cents": 52400
}
],
"items": [
{
"id": "816501df-beb7-4b95-89d5-e75efd42400d",
"line_number": 1,
"supplier_code": "CAM-PRE-M",
"ean": "7891234567895",
"description": "Camiseta Básica Preta M",
"ncm": "61091000",
"cfop": "5102",
"unit": "UN",
"quantity": "20.0000",
"conversion_factor": "1.0000",
"unit_value_cents": 4990,
"item_total_cents": 99800,
"landed_unit_cost_cents": 5240,
"product_id": "94e6917e-8733-4ddc-b446-ed85977117e8",
"variation_id": null,
"match_status": "auto",
"product_name": "Camiseta Básica Preta M"
}
],
"created_at": "2026-10-11T14:30:00Z"
},
"items_matched": 1,
"items_unmatched": 0
}Campos da resposta
invoiceobjectitems_matchedintegeritems_unmatchedintegerErros: Importar XML
| Status | Quando | Corpo |
|---|---|---|
| 400 | Não veio multipart/form-data válido. | {"error":"invalid multipart form"} |
| 400 | Falta o campo file. | {"error":"missing file field"} |
| 400 | O XML é inválido ou a chave de acesso não tem 44 dígitos. | {"error":"procurement: validation: invalid NF-e XML: ..."} |
| 400 | A chave de acesso já foi importada por outro seller ou pelo administrador. | {"error":"vendorerp: NF-e já importada em outro escopo"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |