feat(nfse): INI completo, lote assíncrono e cancelamento no ABRASF - #22
Merged
Merged
Conversation
O INI do RPS omitia [tribMun], [tribFederal], [totTrib], a Reforma Tributária e os grupos de comércio exterior, e escrevia [tribFed], nome que a lib não lê. Outras 156 chaves aceitas pela lib não tinham campo no contrato. O país das pessoas e do serviço não era fixado para município brasileiro, e indTotTrib e tpRetPisCofins descartavam o zero, que é valor válido nos dois. Três defeitos eram da lib e entram como patches sobre a r48100, aplicados no build dela: o LerIniRps não lia [IBSCBSNFSE], o releitor do ABRASF 2.04 perdia o CodigoPais do endereço nacional, e o gravador do GISS nunca emitia indTotTrib. Lote assíncrono aceito voltava como autorizado. Passa a 202 processando, e POST /transmissao/lote consulta o desfecho, com o XML da nota quando ela sai. O cancelamento ABRASF exigia chave, que o provedor não tem, e lia o resultado fora de [RetCancelamento], chamando de erro um cancelamento registrado.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O defeito
No caminho ABRASF a nota saía incompleta sem erro, e dois desfechos voltavam
trocados.
[tribMun],[tribFederal],[totTrib], a ReformaTributária e os grupos de comércio exterior, e escrevia
[tribFed], que a libnão lê. Outras 156 chaves aceitas pela lib não tinham campo no contrato.
Lote sem percentuais de carga tributária era recusado com
E160, e tomadorcom endereço nacional, com
1871 ... EnderecoCompletoExterior.autorizado.chave, que o provedor não tem, e um cancelamentoregistrado voltava como erro 502.
A causa
No contrato, os grupos eram tratados como exclusivos do Padrão Nacional, mas o
leitor de INI da lib é um só.
indTotTribetpRetPisCofinstinhamomitemptyem campos onde zero é valor válido. O país de pessoas e serviço nãoera fixado em 1058 para município brasileiro.
Na lib (r48100), três defeitos:
LerIniRpsnão lê[IBSCBSNFSE], de onde o gravador do GISS tiracLocalidadeIncid,pRedutorevBC;CodigoPais=0no endereço nacional, e ociclo
CarregarXML+Emitirda transmissão o regera como exterior;choiceTCTribTotal:sem percentuais sai
<pTotTribSN>0.00</pTotTribSN>, eindTotTribnuncachega ao XML.
Na borda,
Sucesso=1do envio assíncrono quer dizer lote enfileirado, e oresultado do cancelamento vem em
[RetCancelamento], que não era lido.A decisão
que a lib lê. O contrato passa a cobrir o INI de emissão: as chaves não
enviadas caem de 156 para 83, e o que sobra é consulta, campo atribuído pelo
fisco ou seção fora do alcance de um RPS.
docker/acbr-patches, aplicados nomake acbr-compilare descritos emdocs/ACBRLIB.md. O build da lib falha sealgum não aplicar limpo.
202 processando.POST /v1/nfse/transmissao/loteconsulta o desfecho pelo protocolo e devolveo XML da nota quando ela sai. Envio síncrono e Padrão Nacional não mudam.
Padrão Nacional continua exigindo a chave.
Verificação
test,vet,fmt-check,openapi-check,enums-conferir,acbr-chaves-conferir,yaml-validaetest-cgo.publicar.yml:/readyzresponde, os 5bindings carregam e a rota nova está no contrato servido.
indTotTribe ogrupo IBS/CBS preenchido, e a emissão em produção deixou de ser recusada por
carga tributária e por endereço. As recusas seguintes foram de cadastro do
tomador (
E417,E418).Libs
A imagem publicada por este merge usa as
.sooficiais do release apontado porACBR_LIBS_RELEASE, sem os patches. As libs patchadas vão como anexos dorelease desta versão, e um PR seguinte aponta
ACBR_LIBS_RELEASEpara ele.