Emitindo notas fiscais de serviço
Para emitir uma nota fiscal você deve chamar o endpoint de "Agendar nota fiscal". Mas, antes, vamos verificar o ID dos serviços municipais.
Listar serviços municipais
GET
/v3/invoices/municipalServices
Confira a referência completa deste endpoint.
A lista de serviços municipais pode ser utilizada para consultar informações do serviço que deve ser enviado na geração da nota fiscal.
O campo description
além de conter o código e descrição do serviço pode conter também o código CNAE, sendo apresentado no seguinte formato: CNAE | Codigo - Descrição
.
A cada requisição são retornados no máximo 500 serviços, caso o serviço desejado não seja retornado, utilize o filtro description
na requisição.
- Dependendo da sua prefeitura o código CNAE pode não ser retornado.
- Caso sua prefeitura não disponibilize a lista de serviços nenhum resultado será retornado.
Caso você tenha o ID do serviço municial, basta enviá-lo na requisição.
Agendar uma nota fiscal
POST
/v3/invoices
Confira a referência completa deste endpoint.
{
"payment": "pay_637959110194",
"serviceDescription": "Nota fiscal da Fatura 101940. \nDescrição dos Serviços: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS",
"observations": "Mensal referente aos trabalhos de Junho.",
"value": 300,
"deductions": 0,
"effectiveDate": "2023-07-03",
"municipalServiceId": "21234",
"municipalServiceName": "Análise e desenvolvimento de sistemas",
"taxes": {
"retainIss": false,
"iss": 3,
"cofins": 3,
"csll": 1,
"inss": 0,
"ir": 1.5,
"pis": 0.65
}
}
Os status possíveis de uma nota fiscal são os seguintes:
SCHEDULED
- Agendada
SYNCHRONIZED
- Enviada para prefeitura
AUTHORIZED
- Emitida
PROCESSING_CANCELLATION
- Processando cancelamento
CANCELED
- Cancelada
CANCELLATION_DENIED
- Cancelamento negado
ERROR
- Erro na emissão
A Nota Fiscal pode estar atrelada a uma cobrança, parcelamento ou pode ser gerada de forma avulsa.
Se a Nota Fiscal for originada de uma cobrança existente, é necessário informar o atributo payment
. O mesmo ocorre para parcelamentos, onde neste caso, é necessário informar o atributo installment
. Para gerar uma Nota Fiscal avulsa, é necessário informar o atributo customer
.
Na chamada de agendar notas, dentre vários atributos, existem três fundamentais para a nota ser emitida com sucesso, são eles: municipalServiceId
, municipalServiceCode
, municipalServiceName
.
E é bastante importante que sejam informados corretamente. O municipalServiceId
e o municipalServiceCode
, tem por objetivo informarem o código de serviço que está sendo emitida a nota. Como, por exemplo, o serviço 1.01 - Análise e desenvolvimento de sistemas
.
Em nossa API trabalhamos com Ids para identificar e os serviços funcionam da mesma forma. Ao listar os serviços do município, voltará uma lista com vários serviços e como o exemplo abaixo:
{
"id": "203561",
"description": "1.01 - Análise e desenvolvimento de sistemas",
"issTax": 2
}
Pode-se observar que o código 1.01 é representado pelo ID 203561
. Nesses casos, o municipalServiceId
é esse. E como já se tem o id do código, não há necessidade de dobrar a informação, sob risco de a nota sair errada, colocando novamente o código no municipalServiceCode
. Então, o cliente deverá enviar apenas:
{
...,
"municipalServiceId": "203561",
"municipalServiceCode": null,
"municipalServiceName" : "1.01 - Análise e desenvolvimento de sistemas"
}
Porém, nem todas as cidades retornam essas listagens. São poucas, mas há prefeituras que não tem lista de serviços na API e com isso, o cliente precisará verificar qual é o código do seu serviço e inserir manualmente, ficando assim:
{
...,
"municipalServiceId": null,
"municipalServiceCode": "1.01",
"municipalServiceName" : "Análise e desenvolvimento de sistemas"
}
Podemos concluir que, sempre que houver lista de serviços, enviar municipalServiceId
. Caso não tenha, enviar o municipalServiceCode
. Nesses casos, sempre se envia um ou outro.
Notas fiscais em assinaturas
Para assinaturas, você pode configurar a emissão de notas fiscais automáticas na seção de assinaturas.
Emitir uma nota fiscal agendada
Caso ocorra sucesso nesta requisição, a Nota Fiscal será agendada para emissão na data informada no atributo effectiveDate
. Se a data informada for o dia atual, em até 15 minutos após a requisição a Nota Fiscal será emitida e você receberá a atualização através do webhook (se ativado).
O Webhook para notas fiscais enviará eventos quando os status de notas fiscais mudarem ou elas forem criadas
Se você tem uma nota fiscal agendada para o futuro e deseja adiantar a emissão da mesma, pode chamar o endpoint "Emitir uma nota fiscal".
POST
/v3/invoices/{id}/authorize
Confira a referência completa deste endpoint.
Emitir uma nota fiscal usando o Portal Nacional
Se você utiliza o Portal Nacional para emissão de suas notas fiscais, ao acessar o recurso de listar serviços municipais, a API lhe devolverá a seguinte exceção:
{
"errors": [
{
"code": "error",
"description": "O código de serviços municipais não está habilitado para esta conta."
}
]
}
Nesse caso, o serviço da nota precisará ser informado manualmente no agendamento da mesma, conforme os código dos serviços disponibilizados no Portal Nacional. Caso tenha dúvidas, acesse o Portal Nacional ou verifique junto ao seu contador quais são os códigos de serviço utilizados em seu negócio.
Com o código de serviço em mãos, basta utilizar a API de agendar nota fiscal enviando o código no campo municipalServiceCode.
{
...,
"municipalServiceId": null,
"municipalServiceCode": "1.01",
"municipalServiceName" : "Análise e desenvolvimento de sistemas"
}
Updated 5 months ago