TF FISCAL - API de Nota Fiscal Brasileira
https://api.tffiscal.com
A API TF FISCAL permite a integração com o sistema de notas fiscais eletrônicas (NF-e) do Brasil. Atualmente suporta emissão de notas fiscais para produtos em todo o território brasileiro.
Fluxo do Sistema
- Informações do Cliente (comprador)
- Informações dos Produtos
- Informações Fiscais (impostos)
- Informações de Transporte
- Validação dos dados
- Cálculo de impostos
- Geração do XML da NF-e
- Autorização na SEFAZ
- XML da nota fiscal
- PDF da nota fiscal
- DANFE (Documento Auxiliar)
- Status de autorização
Autenticação
Todas as requisições devem incluir os seguintes cabeçalhos:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Content-Type | string | Sim | application/json;charset=utf-8 |
| sign | string | Sim | Assinatura digital da requisição |
| timestamp | string | Sim | Timestamp UTC da requisição |
| token | string | Sim | Token de autenticação |
Observação: Para criar empresa e obter lista de empresas, use o token do distribuidor (b2b_token).
Algoritmo de Assinatura (SIGN)
static string GetSign(string AppKey, string Path, string bodyString, string timestamp)
{
string input = AppKey + Path + bodyString + timestamp;
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] hashBytes = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append(hashBytes[i].ToString("x2"));
}
return sb.ToString();
}
}
Endpoints Disponíveis
| Endpoint | Método | Funcionalidade |
|---|---|---|
/api/company/create |
POST | Criar empresa |
/api/company/get_detail |
GET | Consultar empresa |
/api/company/edit |
POST | Editar empresa |
/api/company/get_list |
GET | Listar empresas |
/api/category/get_list |
GET | Listar categorias |
/api/invoice/create |
POST | Criar nota fiscal |
/api/invoice/get_list |
GET | Listar notas fiscais |
/api/invoice/get_detail |
GET | Consultar nota fiscal |
/api/invoice/refresh |
POST | Atualizar status da nota |
/api/invoice/cancel |
POST | Cancelar nota fiscal |
/api/invoice/invalid |
POST | Invalidar nota fiscal |
Parâmetros Tributários
Os parâmetros tributários são essenciais para a correta classificação fiscal das operações.
Parâmetros ICMS
11.1 Cenário de Tributação
11.2 Situação Tributária
| Valor | Descrição |
|---|---|
| 00 | Entrada com recuperação de crédito |
| 01 | Entrada tributada com alíquota zero |
| 02 | Entrada isenta |
| 03 | Entrada não-tributada |
| 04 | Entrada imune |
| 05 | Entrada com suspensão |
| 49 | Outras entradas |
| 01 | Operação Tributável - Base de Cálculo = Valor da Operação Alíquota Normal |
| 02 | Operação Tributável - Base de Cálculo = Valor da Operação (Alíquota diferenciada) |
| 03 | Operação Tributável - Base de Cálculo = Quantidade Vendida X Alíquota por Unidade de Produto |
| 04 | Operação Tributável - Tributação Monofásica - (Alíquota Zero) |
| 05 | Operação Tributável - (Substituição Tributária) |
| 06 | Operação Tributável (Alíquota Zero) |
| 07 | Operação Isenta de Contribuição |
11.3 Tipo de Pessoa
Parâmetros PIS/COFINS
12.1 Cenário de Tributação
12.2 Situação Tributária - PIS/COFINS
| Valor | Descrição |
|---|---|
| 71 | Operação de Aquisição com Isenção |
| 72 | Operação de Aquisição com Suspensão |
| 73 | Operação de Aquisição a Alíquota Zero |
| 74 | Operação de Aquisição sem Incidência da Contribuição |
| 75 | Operação de Aquisição por Substituição Tributária |
| 98 | Outras Operações de Entrada |
| 99 | Outras Operações |
12.3 Tipo de Pessoa
Parâmetros de Pagamento
Configuração dos métodos de pagamento e informações de cartão para a nota fiscal.
13. Indicador de Pagamento
| Valor | Descrição |
|---|---|
| 0 | À vista |
| 1 | À prazo |
14. Método de Pagamento
| Valor | Descrição |
|---|---|
| 01 | Dinheiro |
| 02 | Cheque |
| 03 | Cartão de Crédito |
| 04 | Cartão de Débito |
| 05 | Cartão da Loja |
| 10 | Vale Alimentação |
| 11 | Vale Refeição |
| 12 | Vale Presente |
15. Informações do Cartão
Nota: Preencher apenas quando payment_method for 03 (Cartão de Crédito) ou 04 (Cartão de Débito).
15.1 Tipo de Integração
| Valor | Descrição | Explicação |
|---|---|---|
| 1 | Pagamento integrado com o sistema de automação da empresa | Como TEF ou gateway de pagamento integrado |
| 2 | Pagamento não integrado com o sistema de automação da empresa | POS independente, sem sincronização automática |
15.2 Código da Bandeira
| Valor | Bandeira |
|---|---|
| 01 | Visa |
| 02 | Mastercard |
| 03 | American Express |
| 04 | Sorocred |
| 05 | Diners Club |
| 06 | Elo |
| 07 | Hipercard |
| 08 | Aura |
| 09 | Cabal |
| 10 | Alelo |
| 11 | Banes Card |
| 12 | CalCard |
| 13 | Credz |
| 14 | Discover |
| 15 | GoodCard |
| 16 | GreenCard |
| 17 | Hiper |
| 18 | JCB |
| 19 | Mais |
| 20 | MaxVan |
| 21 | Policard |
| 22 | RedeCompras |
| 23 | Sodexo |
| 24 | ValeCard |
| 25 | Vercoheque |
| 26 | VR |
| 27 | Ticket |
| 99 | Outros |
Solução de Problemas com XML
Rejeição 225 - Falha no Schema XML
Cenário: Quando você tenta cancelar, baixar XML, inutilizar número, ou fazer manifestação do destinatário de uma NF-e que não foi registrada com sucesso na base de dados da SEFAZ.
Confirme se a NF-e foi autorizada com sucesso (status "Autorizada") usando a funcionalidade de consulta de status.
Se não foi autorizada, tente reemitir a NF-e (refazer a emissão).
Se o número da nota não foi utilizado e notas subsequentes já foram autorizadas, considere inutilizar o número da nota.
Como Identificar o Erro Específico
Quando o erro é "falha no schema", significa que algumas informações no XML não estão de acordo com o layout válido da SEFAZ. No caminho indicado em vermelho, ele sempre indicará qual XML TAG é inválida.
Resultado da Validação do Schema e de Regras de Negócio:
- Parecer XML: Nenhum erro encontrado
- Tipo de Mensagem: Documento de NF-e
- Schema XML: The http://www.portalfiscal.inf.br/nfe element is invalid
The value '$86.300' is invalid according to its datatype 'String'
The Pattern constraint failed
Caminho: NF-e[1]/infNFe[1]/det[1]/prod[1]/NCM
Ferramentas de Validação
Validação Online da SEFAZ
Use o validador oficial da SEFAZ para identificar problemas no XML:
https://www.sefaz.rs.gov.br/nfe/nfe-val.aspx
Acesse o sistema e copie todo o conteúdo do arquivo XML.
Cole o conteúdo XML no campo apropriado do validador.
Verifique os erros específicos apontados pelo validador.
Problemas Comuns
- Endereço do destinatário incompleto ou com dados anormais (símbolos especiais)
- Informações fiscais do produto incorretas (NCM inválido, classificações tributárias erradas)
- Formatação de valores incorreta (pontos, vírgulas, casas decimais)
- Campos obrigatórios ausentes
Informações do Certificado
Dias Restantes do Certificado
É essencial monitorar a validade do certificado digital. Certificados expirados causam rejeição das NF-e.
Recomendações
- Renove o certificado pelo menos 30 dias antes da expiração
- Mantenha backup do certificado e senha em local seguro
- Teste o novo certificado antes da expiração do atual
- Configure alertas para expiração do certificado
Verificação da Validade
Para verificar os dias restantes do certificado:
1. Abra o Internet Explorer
2. Vá em Ferramentas → Opções da Internet → Conteúdo → Certificados
3. Selecione seu certificado e clique em "Exibir"
4. Verifique a data de validade na aba "Geral"