Cadastros

Clientes, produtos, transportadoras e perfis fiscais.

Cadastros reutilizáveis na emissão. Use o IBGE do CEP — não invente município. CRT 1/2 → csosn; CRT 3 → cst.

Clientes

cMun é opcional se houver UF+cidade ou CEP (resolvido na base IBGE). Na emissão você também pode mandar o cliente inline em POST /v1/nfe (customer) — upsert por CPF/CNPJ, sem duplicar.

GET/v1/customers
POST/v1/customers
PUT/v1/customers/:id
POST /v1/customersjson
{
  "nome": "Cliente Exemplo LTDA",
  "cpfCnpj": "00000000000191",
  "tipoPessoa": "J",
  "endereco": {
    "logradouro": "Rua Exemplo",
    "numero": "100",
    "bairro": "Centro",
    "cMun": "4106902",
    "xMun": "Curitiba",
    "UF": "PR",
    "CEP": "80010000"
  }
}

Produtos

Peso é opcional, em kg por unidade. Um campo só: peso. Os dois: pesoLiquido / pesoBruto. Na NF-e com frete, vira soma nos volumes.

GET/v1/products
POST/v1/products
PUT/v1/products/:id
POST /v1/productsjson
{
  "codigo": "SKU-001",
  "descricao": "PRODUTO TESTE",
  "ncm": "61091000",
  "cfop": "5102",
  "valorUnitario": 150.00,
  "unidade": "UN",
  "origem": 0,
  "csosn": "102",
  "peso": 0.85
}

Transportadoras

Cadastro para o bloco de transportadora da NF-e. Modalidade: modFrete / modalidadeFrete (9 = sem frete). Custo: valorFrete na nota.

GET/v1/carriers
POST/v1/carriers
DELETE/v1/carriers/:id
Exemplojson
{
  "razaoSocial": "Logística Rápida LTDA",
  "cnpjCpf": "00000000000191",
  "ie": "123456789",
  "uf": "SP"
}

Perfis fiscais

Geram regras (CSOSN/CFOP/PIS/COFINS) por segmento. Na emissão, informe fiscalProfileId no item. Exclusão é soft-delete.

GET/v1/fiscal-profiles
POST/v1/fiscal-profiles
PUT/v1/fiscal-profiles/:id
POST/v1/fiscal-profiles/seed-defaults
PUT /v1/fiscal-profiles/:idjson
{
  "nome": "Venda Geral (Revenda)",
  "segmento": "revenda",
  "paraConsumidorFinal": false,
  "descricao": "Vendas interestaduais de mercadoria"
}