Conceitos
Dados da consulta
GTIN, CFOP, setor e data de referência, e como cada um muda o resultado.
Uma consulta tem quatro campos. Dois são obrigatórios:
| Campo | Obrigatório | Formato |
|---|---|---|
gtin | sim | 8, 12, 13 ou 14 dígitos, com dígito verificador válido |
cfop | sim | 4 dígitos |
sector | não | um dos códigos de GET /v1/enums/sectors |
referenceDate | não | data AAAA-MM-DD |
O corpo aceita exatamente esses campos. Qualquer outro, como um CNPJ, é recusado com 400 INVALID_REQUEST. O mesmo vale para cada item de um lote.
GTIN#
O código de barras do produto, só com dígitos: sem máscara, espaços ou hífens. GTIN-8, GTIN-12, GTIN-13 (o EAN-13 comum) e GTIN-14 são aceitos, desde que o dígito verificador confira (módulo 10 da GS1).
A resposta devolve o GTIN normalizado com 14 dígitos, com zeros à esquerda: 7891000315507 volta como 07891000315507. A identidade do produto não muda; use a forma de 14 dígitos como chave no seu banco.
CFOP#
O CFOP é atributo da operação, não do produto. Venda a consumidor, devolução, transferência entre filiais e remessa podem ter CST diferentes para o mesmo produto, por isso o campo é obrigatório e não tem valor padrão. Envie o CFOP da operação real.
O CFOP não é curinga. As regras fiscais são cadastradas para um CFOP exato ou para uma operação: uma lista explícita e versionada de CFOPs. O GetTax traduz o CFOP da consulta para a operação a que ele pertence na data de referência e aplica as regras daquela operação mais as cadastradas para o CFOP exato.
Algumas operações resolvem a classificação sozinhas, sem depender do produto. Uma transferência entre estabelecimentos do mesmo titular, por exemplo, pode ter uma regra de etapa OPERATION que vale para qualquer NCM. Ver Etapas do motor.
Setor#
O setor de atuação do cliente final da software house (supermercado, restaurante etc.). É opcional.
| Código | Contexto |
|---|---|
VAREJO_GERAL | Varejo em geral |
BAR_RESTAURANTE | Bares e restaurantes |
PRODUTOR_RURAL | Produtor rural |
GOVERNO | Governo |
ATACADO | Atacado |
ZONA_FRANCA | Zona Franca |
O setor filtra, não decide:
- Sem
sector: vêm todas as alternativas pertinentes ao produto e ao CFOP, de qualquer setor. - Com
sector: vêm as alternativas genéricas (sem setor) mais as daquele setor. As genéricas não são descartadas por existir uma específica. - Omitir o setor não equivale a
VAREJO_GERAL. - O setor sozinho não garante uma redução.
BAR_RESTAURANTE, por exemplo, não reduz nada automaticamente: as condições aparecem em cada alternativa, emapplicability. - Valor fora da lista é recusado com
400 INVALID_REQUEST.
A lista pode crescer. Leia de GET /v1/enums/sectors, que não consome franquia, em vez de fixá-la no código.
Data de referência#
referenceDate escolhe as regras e alíquotas vigentes. Sem ela, vale a data de hoje no fuso de São Paulo, independente do fuso do servidor ou do cliente. A data usada volta na resposta, em referenceDate.
- Para emitir um documento agora, omita o campo.
- Para reprocessar ou conferir um documento antigo, envie a data do documento.
Toda vigência no GetTax (regra, linha de cClassTrib, alíquota) é um intervalo [effectiveFrom, effectiveTo): início inclusivo, fim exclusivo. effectiveTo: null quer dizer sem data de término.
