Configurações de retenção e situação tributária de PIS/COFINS
Antes de configurarPara determinar se estas configurações se aplicam à sua integração, verifique primeiro se a conta é Optante pelo Simples Nacional.
Essa informação pode ser consultada através do atributo
simplesNacionalno endpoint Recuperar informações fiscais.Caso o valor retornado seja
falsee o cliente realize a emissão de notas fiscais de serviço pelo Portal Nacional, as configurações de situação tributária e alíquotas de PIS/COFINS detalhadas neste guia tornam-se obrigatórias.
As configurações de PIS/COFINS são utilizadas na emissão de NFS-e para indicar a situação tributária da operação, as alíquotas de operação e, quando aplicável, os valores de retenção.
Essas informações são especialmente importantes para clientes enquadrados no Regime Normal que emitem notas fiscais de serviço pelo Portal Nacional, pois fazem parte das validações exigidas pelo padrão nacional de NFS-e.
Quando utilizar este guia
Utilize este guia quando sua integração precisar:
- emitir NFS-e pelo Asaas para clientes de Regime Normal;
- configurar corretamente os campos de PIS e COFINS no bloco de impostos da nota fiscal;
- adequar a integração às regras da NT-007;
- entender quando informar
pisCofinsTaxStatus,operationPiseoperationCofins; - diferenciar alíquotas de operação de valores retidos;
- evitar rejeições na emissão de notas fiscais por inconsistência tributária;
- atualizar integrações que ainda enviam
pisCofinsRetentionType.
Este conteúdo deve ser utilizado junto aos guias de Configurar informações fiscais e Emitindo notas fiscais de serviço.
Quem é impactado
As regras deste guia se aplicam principalmente a:
- clientes que não são optantes pelo Simples Nacional;
- contas enquadradas em Regime Normal, como Lucro Real ou Lucro Presumido;
- integrações que emitem NFS-e pelo Portal Nacional;
- emissões realizadas via endpoint de notas fiscais ou configurações de emissão automática de notas.
Clientes do Simples Nacional não precisam realizar alterações específicas de payload relacionadas à NT-007 para PIS/COFINS.
AtençãoA definição correta da situação tributária de PIS/COFINS depende do enquadramento fiscal da empresa, do serviço prestado e da orientação contábil aplicável.
Em caso de dúvida sobre qual CST utilizar, valide a informação com a contabilidade responsável antes de alterar a integração.
Campos principais
Os principais campos relacionados a PIS/COFINS são:
| Campo | Função | Quando informar |
|---|---|---|
pisCofinsTaxStatus | Define a situação tributária de PIS/COFINS da operação | Obrigatório para clientes Regime Normal que emitem via Portal Nacional |
operationPis | Define a alíquota de PIS da operação | Deve ser informado conforme a regra da situação tributária |
operationCofins | Define a alíquota de COFINS da operação | Deve ser informado conforme a regra da situação tributária |
pis | Define o percentual de PIS retido, quando houver retenção | Informe apenas quando houver retenção de PIS |
cofins | Define o percentual de COFINS retido, quando houver retenção | Informe apenas quando houver retenção de COFINS |
csll | Define o percentual de CSLL retido, quando houver retenção | Informe apenas quando houver retenção de CSLL |
pisCofinsRetentionType | Indica o tipo de retenção calculado pelo Asaas | Não deve ser enviado pela integração em novas implementações |
ImportanteO campo
pisCofinsRetentionTypenão deve ser utilizado como campo controlado pela integração.O tipo de retenção passa a ser calculado automaticamente pelo Asaas com base nos percentuais informados em
pis,cofinsecsll.Utilize o valor retornado pela API apenas para consulta, conciliação ou exibição interna.
Fluxo recomendado de configuração
Em uma integração típica, a configuração de PIS/COFINS deve seguir o fluxo abaixo:
Recuperar informações fiscais da conta
↓
Verificar o valor de simplesNacional
↓
Identificar se a emissão ocorre pelo Portal Nacional
↓
Validar com a contabilidade a situação tributária aplicável
↓
Definir pisCofinsTaxStatus
↓
Informar operationPis e operationCofins conforme a regra do CST
↓
Informar pis, cofins e csll somente quando houver retenção
↓
Emitir a NFS-e
↓
Tratar possíveis erros de validação fiscalEsse fluxo evita que a integração envie combinações incompatíveis de situação tributária, alíquotas de operação e retenções.
Diferença entre alíquota de operação e retenção
As configurações de PIS/COFINS possuem dois grupos de informação:
| Grupo | Campos | Finalidade |
|---|---|---|
| Alíquota de operação | operationPis, operationCofins | Indicam a tributação da operação na NFS-e |
| Retenção | pis, cofins, csll | Indicam valores retidos, quando aplicável |
A situação tributária definida em pisCofinsTaxStatus determina quais valores são aceitos para operationPis e operationCofins.
Já os campos pis, cofins e csll são utilizados para indicar retenções. Com base nesses percentuais, o Asaas calcula automaticamente o tipo de retenção da operação.
Opções para a situação tributária de PIS/COFINS
Utilize o campo pisCofinsTaxStatus para informar a situação tributária da operação.
| Valor | Código | Descrição |
|---|---|---|
NONE | 00 | Nenhum |
STANDARD_TAXABLE_OPERATION | 01 | Operação Tributável com Alíquota Básica |
DIFFERENTIATED_RATE_TAXABLE_OPERATION | 02 | Operação Tributável com Alíquota Diferenciada |
TAXABLE_PER_MEASURE_UNIT_OPERATION | 03 | Operação Tributável com Alíquota por Unidade de Medida de Produto |
MONOPHASIC_RESALE_ZERO_RATE_OPERATION | 04 | Operação Tributável monofásica - Revenda a Alíquota Zero |
TAX_SUBSTITUTION_OPERATION | 05 | Operação Tributável por Substituição Tributária |
ZERO_RATE_TAXABLE_OPERATION | 06 | Operação Tributável a Alíquota Zero |
EXEMPT_CONTRIBUTION_OPERATION | 07 | Operação Isenta da Contribuição |
NON_TAXABLE_OPERATION | 08 | Operação sem Incidência da Contribuição |
TAX_SUSPENSION_OPERATION | 09 | Operação com Suspensão da Contribuição |
OTHER_OUTPUT_OPERATION | 49 | Outras Operações de Saída |
CREDITABLE_EXCLUSIVE_TAXED_DOMESTIC_REVENUE_OPERATION | 50 | Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Tributada no Mercado Interno |
CREDITABLE_EXCLUSIVE_NON_TAXED_DOMESTIC_REVENUE_OPERATION | 51 | Operação com Direito a Crédito - Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno |
CREDITABLE_EXPORT_REVENUE_OPERATION | 52 | Operação com Direito a Crédito - Vinculada Exclusivamente a Receita de Exportação |
CREDITABLE_TAXED_AND_NON_TAXED_DOMESTIC_REVENUE_OPERATION | 53 | Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno |
CREDITABLE_TAXED_DOMESTIC_AND_EXPORT_REVENUE_OPERATION | 54 | Operação com Direito a Crédito - Vinculada a Receitas Tributadas no Mercado Interno e de Exportação |
CREDITABLE_NON_TAXED_DOMESTIC_AND_EXPORT_REVENUE_OPERATION | 55 | Operação com Direito a Crédito - Vinculada a Receitas Não Tributadas no Mercado Interno e de Exportação |
CREDITABLE_TAXED_AND_NON_TAXED_DOMESTIC_AND_EXPORT_REVENUE_OPERATION | 56 | Operação com Direito a Crédito - Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação |
PRESUMED_CREDIT_EXCLUSIVE_TAXED_DOMESTIC_REVENUE_OPERATION | 60 | Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno |
PRESUMED_CREDIT_EXCLUSIVE_NON_TAXED_DOMESTIC_REVENUE_OPERATION | 61 | Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno |
PRESUMED_CREDIT_EXCLUSIVE_EXPORT_REVENUE_OPERATION | 62 | Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação |
PRESUMED_CREDIT_TAXED_AND_NON_TAXED_DOMESTIC_REVENUE_OPERATION | 63 | Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno |
PRESUMED_CREDIT_TAXED_DOMESTIC_AND_EXPORT_REVENUE_OPERATION | 64 | Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação |
PRESUMED_CREDIT_NON_TAXED_DOMESTIC_AND_EXPORT_REVENUE_OPERATION | 65 | Crédito Presumido - Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação |
PRESUMED_CREDIT_TAXED_AND_NON_TAXED_DOMESTIC_AND_EXPORT_REVENUE_OPERATION | 66 | Crédito Presumido - Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação |
PRESUMED_CREDIT_OTHER_OPERATION | 67 | Crédito Presumido - Outras Operações |
ACQUISITION_WITHOUT_CREDIT_RIGHT_OPERATION | 70 | Operação de Aquisição sem Direito a Crédito |
ACQUISITION_WITH_EXEMPTION_OPERATION | 71 | Operação de Aquisição com Isenção |
ACQUISITION_WITH_SUSPENSION_OPERATION | 72 | Operação de Aquisição com Suspensão |
ACQUISITION_ZERO_RATE_OPERATION | 73 | Operação de Aquisição a Alíquota Zero |
ACQUISITION_WITHOUT_CONTRIBUTION_OPERATION | 74 | Operação de Aquisição sem Incidência da Contribuição |
ACQUISITION_BY_TAX_SUBSTITUTION_OPERATION | 75 | Operação de Aquisição por Substituição Tributária |
OTHER_INPUT_OPERATION | 98 | Outras Operações de Entrada |
OTHER_OPERATION | 99 | Outras Operações |
Valor descontinuadoO enum
TAXABLE_CONTRIBUTION_OPERATIONestá descontinuado e não deve ser utilizado em novas integrações.Quando a situação aplicável for o CST 07, utilize
EXEMPT_CONTRIBUTION_OPERATION, correspondente a 07 - Operação Isenta da Contribuição.
Regras de preenchimento de operationPis e operationCofins
operationPis e operationCofinsOs campos operationPis e operationCofins devem ser preenchidos de acordo com a situação tributária informada em pisCofinsTaxStatus.
| Situação tributária | Regra para operationPis e operationCofins |
|---|---|
NONE | Deve ser null |
STANDARD_TAXABLE_OPERATION | Deve ser maior que 0 |
DIFFERENTIATED_RATE_TAXABLE_OPERATION | Deve ser maior que 0 |
ZERO_RATE_TAXABLE_OPERATION | Deve ser 0 |
EXEMPT_CONTRIBUTION_OPERATION | Deve ser null |
NON_TAXABLE_OPERATION | Deve ser null |
TAX_SUSPENSION_OPERATION | Deve ser null |
Para os demais valores de situação tributária, valide a regra fiscal aplicável com a contabilidade responsável antes de enviar a nota.
Regras para retenção
A retenção de PIS, COFINS e CSLL deve ser informada por meio dos percentuais correspondentes:
pis;cofins;csll.
O Asaas utiliza esses campos para calcular automaticamente o tipo de retenção da operação.
Exemplos de comportamento:
| Cenário | Resultado esperado |
|---|---|
pis, cofins e csll maiores que zero | Retenção de PIS, COFINS e CSLL |
pis e cofins maiores que zero, csll nulo ou zero | Retenção de PIS e COFINS |
Apenas pis maior que zero | Retenção apenas de PIS |
| Todos os percentuais nulos ou zero | Sem retenção |
ImportanteA retenção não deve ser definida manualmente por
pisCofinsRetentionType.Informe os percentuais de retenção aplicáveis e utilize o valor retornado pela API para conciliação.
Exemplos práticos
Operação tributável com alíquota básica
Utilize quando a operação possuir tributação de PIS/COFINS com alíquota básica.
{
"taxes": {
"pisCofinsTaxStatus": "STANDARD_TAXABLE_OPERATION",
"operationPis": 0.65,
"operationCofins": 3.00,
"pis": 0.65,
"cofins": 3.00,
"csll": 1.00
}
}Nesse cenário:
pisCofinsTaxStatusindica operação tributável com alíquota básica;operationPiseoperationCofinsrepresentam as alíquotas de operação;pis,cofinsecsllindicam retenção;- o tipo de retenção será calculado automaticamente pelo Asaas.
Operação tributável com alíquota zero
Utilize quando a operação for tributável, mas com alíquota zero.
{
"taxes": {
"pisCofinsTaxStatus": "ZERO_RATE_TAXABLE_OPERATION",
"operationPis": 0,
"operationCofins": 0,
"pis": null,
"cofins": null,
"csll": null
}
}Nesse cenário, operationPis e operationCofins devem ser enviados como 0.
Operação isenta da contribuição
Utilize quando a operação for isenta de PIS/COFINS, conforme validação contábil.
{
"taxes": {
"pisCofinsTaxStatus": "EXEMPT_CONTRIBUTION_OPERATION",
"operationPis": null,
"operationCofins": null,
"pis": null,
"cofins": null,
"csll": null
}
}Nesse cenário, operationPis e operationCofins devem ser enviados como null.
Situação tributária não definida
Utilize NONE apenas quando não houver situação tributária de PIS/COFINS aplicável ao contexto da emissão.
{
"taxes": {
"pisCofinsTaxStatus": "NONE",
"operationPis": null,
"operationCofins": null,
"pis": null,
"cofins": null,
"csll": null
}
}
AtençãoSe sua operação possui retenção de PIS/COFINS, evite utilizar
pisCofinsTaxStatuscomoNONEsem validação contábil.Com
NONE, os camposoperationPiseoperationCofinsdevem ser nulos, o que pode fazer com que as informações de operação de PIS/COFINS não sejam apresentadas na nota fiscal conforme esperado.
Comportamentos relevantes
Ao configurar PIS/COFINS, considere os seguintes comportamentos:
pisCofinsTaxStatusé obrigatório para clientes de Regime Normal que emitem pelo Portal Nacional;operationPiseoperationCofinsdevem respeitar a regra da situação tributária selecionada;pisCofinsRetentionTypeé calculado automaticamente pelo Asaas;- valores enviados em
pisCofinsRetentionTypenão devem ser usados como base de controle da integração; TAXABLE_CONTRIBUTION_OPERATIONestá descontinuado;EXEMPT_CONTRIBUTION_OPERATIONdeve ser utilizado para o CST 07 quando aplicável;EXEMPT_CONTRIBUTION_OPERATION,NON_TAXABLE_OPERATIONeTAX_SUSPENSION_OPERATIONexigemoperationPiseoperationCofinsnulos;ZERO_RATE_TAXABLE_OPERATIONexigeoperationPiseoperationCofinsiguais a zero;STANDARD_TAXABLE_OPERATIONeDIFFERENTIATED_RATE_TAXABLE_OPERATIONexigemoperationPiseoperationCofinsmaiores que zero.
Algumas situações tributárias podem ser normalizadas automaticamente para NONE quando todos os percentuais de PIS/COFINS estiverem zerados ou nulos.
Erros comuns
Alguns erros comuns ao configurar PIS/COFINS incluem:
| Situação | Como corrigir |
|---|---|
pisCofinsTaxStatus não informado para cliente Regime Normal | Informe uma situação tributária válida no bloco de impostos |
operationPis ou operationCofins informado com valor incompatível | Ajuste os valores conforme a regra do CST selecionado |
Envio de operationPis maior que zero com ZERO_RATE_TAXABLE_OPERATION | Envie operationPis e operationCofins como 0 |
Envio de alíquotas de operação com EXEMPT_CONTRIBUTION_OPERATION | Envie operationPis e operationCofins como null |
Uso de TAXABLE_CONTRIBUTION_OPERATION | Substitua por EXEMPT_CONTRIBUTION_OPERATION, quando o CST aplicável for 07 |
Uso de pisCofinsRetentionType no payload | Remova o campo e informe apenas os percentuais de retenção aplicáveis |
Exemplo de erro esperado quando a situação tributária não é informada:
{
"errors": [
{
"description": "A Situação tributária do PIS/COFINS é obrigatória"
}
]
}Impactos operacionais
Configurações incorretas de PIS/COFINS podem impactar diretamente a emissão de NFS-e.
Os principais impactos são:
- rejeição da nota fiscal;
- falha na emissão automática de notas;
- divergência entre o payload enviado e o XML autorizado;
- necessidade de ajuste manual da nota;
- inconsistência na conciliação fiscal;
- problemas de integração com ERPs ou sistemas contábeis;
- atrasos no envio da nota fiscal ao cliente final.
Por isso, recomenda-se validar essas configurações em ambiente de teste antes de aplicar alterações em produção.
Boas práticas
Para evitar falhas de emissão, recomenda-se:
- consultar
simplesNacionalantes de aplicar as regras deste guia; - validar com a contabilidade qual CST deve ser utilizado;
- não enviar
pisCofinsRetentionTypeem novas implementações; - utilizar
EXEMPT_CONTRIBUTION_OPERATIONno lugar deTAXABLE_CONTRIBUTION_OPERATION, quando aplicável; - garantir que
operationPiseoperationCofinsrespeitem a regra da situação tributária; - diferenciar alíquotas de operação de percentuais de retenção;
- revisar payloads antigos que enviavam apenas
pis,cofinsecsll; - testar os principais cenários fiscais antes de operar em produção;
- acompanhar erros de emissão retornados pela API;
- manter os parsers preparados para os campos retornados no bloco de impostos.
Checklist antes de emitir NFS-e
Antes de enviar uma nota fiscal, valide:
- o cliente é Simples Nacional?
- a emissão ocorre pelo Portal Nacional?
pisCofinsTaxStatusfoi informado quando obrigatório?operationPisestá compatível com o CST selecionado?operationCofinsestá compatível com o CST selecionado?- os percentuais de retenção foram informados apenas quando aplicável?
pisCofinsRetentionTypefoi removido do payload?- o enum descontinuado
TAXABLE_CONTRIBUTION_OPERATIONfoi substituído? - a contabilidade validou a situação tributária utilizada?
Conteúdos relacionados
Consulte também:
- Recuperar informações fiscais;
- Configurar informações fiscais;
- Emitindo notas fiscais de serviço;
- Criar nota fiscal;
- Atualizar nota fiscal;
- Configurar emissão automática de notas fiscais em assinaturas;
- Webhooks para notas fiscais;
- Breaking Changes - NT-007.
Updated 16 days ago
