Estabelecimentos emissores
Cadastra, consulta, altera e exclui os CNPJs que emitem as notas fiscais da loja.
Um estabelecimento é um CNPJ autorizado a emitir nota: a matriz, uma filial ou uma loja. Ele guarda a inscrição estadual, o endereço fiscal e as séries da NF-e e da NFC-e. O primeiro cadastrado vira o estabelecimento padrão da loja, e só pode haver um padrão. Depois de cadastrar, provisione o estabelecimento no provedor de emissão.
Todas as rotas exigem o módulo focusnfe e o privilégio manage_nfe ou manage_settings.
Listar estabelecimentos
Devolve os estabelecimentos não excluídos, o padrão primeiro e depois por nome.
/api/v1/admin/fiscal/establishmentsAdminLista os estabelecimentos emissores
Exemplo de requisição
curl "$BASE_URL/api/v1/admin/fiscal/establishments" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"items": [
{
"id": "c04d4d27-b16d-4dcb-836a-7c9eb0a40c3b",
"name": "Loja Modelo Comércio Ltda",
"kind": "matriz",
"cnpj": "11222333000181",
"inscricao_estadual": "110042490114",
"ie_isento": false,
"uf": "SP",
"city": "São Paulo",
"cep": "01310100",
"street": "Avenida Paulista",
"number": "1000",
"complement": "Sala 12",
"neighborhood": "Bela Vista",
"serie_nfe": "1",
"serie_nfce": "1",
"focusnfe_empresa_ref": "",
"warehouse_id": "8e0f3b6a-52a1-4c7d-9d34-1f7a6b2c8e55",
"is_default": true,
"status": "active",
"created_at": "2026-07-14T06:21:59Z",
"updated_at": "2026-07-14T06:21:59Z"
}
]
}Campos da resposta
iduuidnamestringkindstringmatrizfiliallojacnpjstringinscricao_estadualstringie_isentobooleantrue quando o estabelecimento é isento de IE.ufstringcitystringcepstringstreetstringnumberstringcomplementstringneighborhoodstringserie_nfestringserie_nfcestringfocusnfe_empresa_refstringwarehouse_iduuidis_defaultbooleanstatusstringactiveinactivecreated_atstringupdated_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 500 | Falha de consulta | {"error":"failed to list establishments","detail":"..."} |
| 401 / 403 | Sem token, sem privilégio, módulo desligado | {"error":"insufficient privileges","privilege_required_any":["manage_nfe","manage_settings"]} |
Cadastrar um estabelecimento
Valida o CNPJ pelos dígitos verificadores (aceita o CNPJ alfanumérico novo) e exige a UF com 2 letras. Se for o primeiro da loja, é marcado como padrão automaticamente. Publica o evento fiscal.establishment.created.
/api/v1/admin/fiscal/establishmentsAdminCadastra um estabelecimento emissor
Corpo da requisição
namestringobrigatóriocnpjstringobrigatório11222333000181): o valor é gravado como veio e deve ser único.ufstringobrigatóriokindstringpadrão: matrizmatrizfiliallojainscricao_estadualstringie_isento for true.ie_isentobooleanpadrão: falsecitystringcepstringstreetstringnumberstringcomplementstringneighborhoodstringserie_nfestringpadrão: 1serie_nfcestringpadrão: 1focusnfe_empresa_refstringwarehouse_iduuidis_defaultbooleantrue quando a loja já tem um padrão falha com 422; para promover outro, use o PUT.statusstringpadrão: activeactiveinactiveExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/fiscal/establishments" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Loja Modelo Comércio Ltda",
"kind": "matriz",
"cnpj": "11222333000181",
"inscricao_estadual": "110042490114",
"uf": "SP",
"city": "São Paulo",
"cep": "01310100",
"street": "Avenida Paulista",
"number": "1000",
"neighborhood": "Bela Vista",
"serie_nfe": "1",
"serie_nfce": "1"
}'Resposta
{
"id": "c04d4d27-b16d-4dcb-836a-7c9eb0a40c3b",
"name": "Loja Modelo Comércio Ltda",
"kind": "matriz",
"cnpj": "11222333000181",
"inscricao_estadual": "110042490114",
"ie_isento": false,
"uf": "SP",
"city": "São Paulo",
"cep": "01310100",
"street": "Avenida Paulista",
"number": "1000",
"complement": "",
"neighborhood": "Bela Vista",
"serie_nfe": "1",
"serie_nfce": "1",
"focusnfe_empresa_ref": "",
"is_default": true,
"status": "active",
"created_at": "2026-10-11T22:30:00Z",
"updated_at": "2026-10-11T22:30:00Z"
}Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | JSON inválido | {"error":"invalid body","detail":"..."} |
| 422 | CNPJ com dígito verificador errado | {"error":"failed to create establishment","detail":"fiscal: invalid CNPJ"} |
| 422 | UF sem 2 letras | {"error":"failed to create establishment","detail":"fiscal: UF must be 2 letters"} |
| 422 | CNPJ ou depósito já usado, kind fora da lista | {"error":"failed to create establishment","detail":"..."} |
Consultar um estabelecimento
/api/v1/admin/fiscal/establishments/{id}AdminConsulta um estabelecimento emissor
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/admin/fiscal/establishments/c04d4d27-b16d-4dcb-836a-7c9eb0a40c3b" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "c04d4d27-b16d-4dcb-836a-7c9eb0a40c3b",
"name": "Loja Modelo Comércio Ltda",
"kind": "matriz",
"cnpj": "11222333000181",
"uf": "SP",
"serie_nfe": "1",
"serie_nfce": "1",
"is_default": true,
"status": "active"
}Exemplo abreviado; a resposta traz todos os campos da listagem.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 404 | Não existe, foi excluído ou o id não é UUID | {"error":"establishment not found"} |
Alterar um estabelecimento
Enviar is_default: true promove este estabelecimento a padrão e tira a marca do anterior, antes de gravar o resto. Publica o evento fiscal.establishment.updated.
/api/v1/admin/fiscal/establishments/{id}AdminAltera um estabelecimento emissor
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
namestringkindstringmatrizfiliallojacnpjstringufstringinscricao_estadualstringie_isentobooleanfalse.citystringcepstringstreetstringnumberstringcomplementstringneighborhoodstringserie_nfestringserie_nfcestringwarehouse_iduuidis_defaultbooleantrue promove a padrão. false ou omitido não retira a marca de padrão.Exemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/fiscal/establishments/c04d4d27-b16d-4dcb-836a-7c9eb0a40c3b" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Loja Modelo Comércio Ltda",
"cnpj": "11222333000181",
"uf": "SP",
"inscricao_estadual": "110042490114",
"city": "São Paulo",
"cep": "01310100",
"street": "Avenida Paulista",
"number": "1000",
"neighborhood": "Bela Vista",
"serie_nfe": "2"
}'Resposta
{
"id": "c04d4d27-b16d-4dcb-836a-7c9eb0a40c3b",
"name": "Loja Modelo Comércio Ltda",
"kind": "matriz",
"cnpj": "11222333000181",
"uf": "SP",
"serie_nfe": "2",
"serie_nfce": "1",
"is_default": true,
"status": "active"
}Exemplo abreviado; a resposta traz todos os campos da listagem.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | JSON inválido | {"error":"invalid body","detail":"..."} |
| 409 | Falha ao promover a padrão | {"error":"cannot set default","detail":"..."} |
| 422 | CNPJ inválido, CNPJ ou depósito já usados, kind fora da lista | {"error":"failed to update","detail":"fiscal: invalid CNPJ"} |
Excluir um estabelecimento
Exclusão lógica: o estabelecimento some das listagens e fica inactive. Notas já emitidas por ele continuam consultáveis. Não é possível excluir o padrão.
/api/v1/admin/fiscal/establishments/{id}AdminExclui um estabelecimento emissor
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X DELETE "$BASE_URL/api/v1/admin/fiscal/establishments/c04d4d27-b16d-4dcb-836a-7c9eb0a40c3b" \
-H "Authorization: Bearer $TOKEN"Resposta
(sem corpo)Erros
| Status | Quando | Corpo |
|---|---|---|
| 409 | É o estabelecimento padrão | {"error":"promote another default first","detail":"..."} |
| 500 | Não existe, já foi excluído ou id inválido | {"error":"failed to delete","detail":"..."} |