Ir para conteúdo
  • Cadastre-se

(ACBR-8667) Provedor betha - API Própria (Padrão Nacional)


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 133 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia, @julio_cld!

Muito obrigado pela contribuição, foi criada a tarefa ACBR-8667 para validar a implementação.
Em breve estará disponível em nossas soluções.

image.png

Eric Bortoleto Silva
Ajude o Projeto ACBr crescer - Assine o SAC

image.png(15) 2105-0750 image.png(15) 97458-2412  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade!

"Que vergonha é para o homem envelhecer sem nunca ver a beleza e a força que sua mente é capaz” - Sócrates

"Use a força, leia os fontes" -  Daniel Simões
 

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

  • Eric Bortoleto changed the title to (ACBR-8667) Provedor betha - API Própria (Padrão Nacional)
  • Membro Pro Verificado
Postado

Bom dia!

Testei aqui, consegui pegar o retorno,  mas fiz alterações no código.

em TACBrNFSeProviderBethaAPIPropria.PrepararConsultaSituacao alterei a forma que pega o ambiente para

TACBrNFSeX(FAOwner).Configuracoes.WebServices.Ambiente

da forma original, estava sempre buscando em homologação.

 

Em TratarRetornoConsultaSituacao, alterei a forma de pegar o idDps, pois da forma que estava, não estava retornando

Response.NumeroLote := ObterConteudoTag(ANode.Childrens.FindAnyNs('emissao').Childrens.FindAnyNs('idDps'), tcStr);

 

Fiz também atribuir a propriedade Response.DescSituacao, atribuindo o statusProcessamento.

 

Uma nota que eu emiti ontem, permanece o mesmo status:

Aguardando validação do ambiente nacional

 

Outras duas notas que emiti, está com a situação:

'<ConsultarStatusDpsResposta xmlns:ns2="http://www.betha.com.br/e-nota-dps"><statusProcessamento>Processado com erro</statusProcessamento><dataHoraRecebimento>2026-01-05T10:54:37.416-03:00</dataHoraRecebimento><protocolo>324908099955543</protocolo><listaMensagens><mensagem><codigo/><mensagem>The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: N36Z0T9WB2AVF46V; S3 Extended Request ID: H7+4XBiKWQCwOSH/qsNAutcA+N8K3iAS68gWDyvwz3X7w07ynpaBtTnNa4lCykfSKjUcOkb74y/PDzuZu2P4PCd1UDTwwFwX)</mensagem><correcao/></mensagem></listaMensagens><emissao><idDps>DPS431210421064985900018000001000000000000151</idDps></emissao></ConsultarStatusDpsResposta>

 

 

 

 

Betha.Provider.pas 646043444188928-sit-soap.xml

Postado

Bom dia.

Em cima das alterações do Julio e do C4Dev, eu adicionei mais alguns campos que eu precisei utilizar para realizar a impressão do PDF.

Como a Betha não está mais retornando o XML da nota, estou salvando o link do PDF que o provedor retorna e realizando o download do mesmo para a impressão.

 

Alterei também o preenchimento do campo pAliq, que a Betha exige que seja antes do campo tpRetISSQN, enquanto o nacional exige após. Por isso há alterações no arquivo do PadraoNacional.GravarXML anexos.

Mergeei com o último commit disponível no SVN.

 

@Eric Bortoleto se possível atualizar a tarefa para contemplar as novas alterações.

 

Segue arquivos alterados.

ACBrNFSeX.zip

  • Curtir 1
Postado

Boa tarde, @Wesley Lamb!

Muito obrigado, atualizei na tarefa.

  • Obrigado 1

image.png

Eric Bortoleto Silva
Ajude o Projeto ACBr crescer - Assine o SAC

image.png(15) 2105-0750 image.png(15) 97458-2412  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade!

"Que vergonha é para o homem envelhecer sem nunca ver a beleza e a força que sua mente é capaz” - Sócrates

"Use a força, leia os fontes" -  Daniel Simões
 

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Postado

Bom dia @julio_cld, poderi me indicar qual está a sua configuração no nfsexservicos.ini?
O meu está assim e está indicando que o serviço não existe

[4208906]
Nome=Jaragua do Sul
UF=SC
Provedor=Betha
Versao=2.02
ProRecepcionar=https://nota-eletronica.betha.cloud/dps/service.wsdl
HomRecepcionar=https://nota-eletronica.betha.cloud/dps/service.wsdl

 

Postado

@Suporte Bravus Sistemas veja nesta postagem. Com este .ini em conjunto com as classes desta postagem consegui emitir NFS-e nos municípios que utilizam o Betha.

Pelo que eu testei, o provedor está aguardando o retorno do nacional antes de retornar para a automação que a nota está autorizada. Tive de utilizar o método ConsultarSituacao para receber o retorno do status da nota. Neste método também há um link para o PDF na property Link que pode ser usado em caso de sucesso

 

  • Curtir 1
Postado

A função de consulta, é a mesma chamada de antes, eu sinceramente não to conseguindo validar neste modelo pela Betha, tipo a nota é enviada, mas não consigo consultar e pegar ela novamente, para setar como enviada ou por exemplo imprimir.

Se tento reenviar da erro dizendo que a DPS já existe, então ela foi.

Só que se consulta lá no Fly os lotes aparecem com erro estranho, parece problema da Betha, se consulta as NFSe também não aparece nada no portal.

Componente esta atualizado e não sei o que esta errado. Já os municípios que migraram diretamente pro nacional estou emitindo sem problema algum.

 

image.thumb.png.0c60c867b95e0cbf70bebc76a5437d4f.pngimage.png.61d0da011e5d2b0e8e5fb7e4319281b7.png

Postado

Eu estou tentando o envio de notas para cidade de Jaraguá do sul, Provedor Betha, não usam o Fly e sim o ambiente Cloud. 

Eu consegui emitir somente após enviar a URI na assinatura, dessa forma:

<Reference URI="#DPS420890622843507700010300900000000000004038">

E depois alterar a posicao da tag pAliq para enviar antes da tag tpRetISSQN, ficando assim: 

 

<dps:pAliq>2.50</dps:pAliq>
<dps:tpRetISSQN>1</dps:tpRetISSQN>
 
Somente com essas alteração a nota foi pra betha e tbm pro ambiente nacional., porem não consigo ter o retorno da nota, pois o metodo de consulta  novo não esta implementado no acbr ainda:
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:e="http://www.betha.com.br/e-nota-dps">
<soapenv:Header/>
<soapenv:Body>
<e:ConsultarStatusDpsEnvio>
<e:tpAmb>2</e:tpAmb>
<e:codigoIbge>4205407</e:codigoIbge>
<e:cpfCnpjPrestador>00456865000167</e:cpfCnpjPrestador>
<e:protocolo>123456789013245</e:protocolo>
<e:tipoIntegracao>EMISSAO</e:tipoIntegracao>
</e:ConsultarStatusDpsEnvio>
</soapenv:Body>
</soapenv:Envelope>
 
Por favor, alguem teria mais informação sobre como podemos fazer para conseguir colocar esses ajustes da melhor forma no acbr para emitir com sucesso e tbm implementar essa consulta nova?

 

Postado
1 hora atrás, jacke venson disse:

Eu estou tentando o envio de notas para cidade de Jaraguá do sul, Provedor Betha, não usam o Fly e sim o ambiente Cloud. 

Eu consegui emitir somente após enviar a URI na assinatura, dessa forma:

<Reference URI="#DPS420890622843507700010300900000000000004038">

E depois alterar a posicao da tag pAliq para enviar antes da tag tpRetISSQN, ficando assim: 

 

<dps:pAliq>2.50</dps:pAliq>
<dps:tpRetISSQN>1</dps:tpRetISSQN>
 
Somente com essas alteração a nota foi pra betha e tbm pro ambiente nacional., porem não consigo ter o retorno da nota, pois o metodo de consulta  novo não esta implementado no acbr ainda:
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:e="http://www.betha.com.br/e-nota-dps">
<soapenv:Header/>
<soapenv:Body>
<e:ConsultarStatusDpsEnvio>
<e:tpAmb>2</e:tpAmb>
<e:codigoIbge>4205407</e:codigoIbge>
<e:cpfCnpjPrestador>00456865000167</e:cpfCnpjPrestador>
<e:protocolo>123456789013245</e:protocolo>
<e:tipoIntegracao>EMISSAO</e:tipoIntegracao>
</e:ConsultarStatusDpsEnvio>
</soapenv:Body>
</soapenv:Envelope>
 
Por favor, alguem teria mais informação sobre como podemos fazer para conseguir colocar esses ajustes da melhor forma no acbr para emitir com sucesso e tbm implementar essa consulta nova?

 

Todos esses ajustes exceto o Reference URI já estão no .zip que eu postei anteriormente neste tópico.
Esta questão do Reference URI não tive problemas. Testei em diversos municípios

  • Consultores
Postado
4 horas atrás, jacke venson disse:

Eu estou tentando o envio de notas para cidade de Jaraguá do sul, Provedor Betha, não usam o Fly e sim o ambiente Cloud. 

Eu consegui emitir somente após enviar a URI na assinatura, dessa forma:

<Reference URI="#DPS420890622843507700010300900000000000004038">

E depois alterar a posicao da tag pAliq para enviar antes da tag tpRetISSQN, ficando assim: 

 

<dps:pAliq>2.50</dps:pAliq>
<dps:tpRetISSQN>1</dps:tpRetISSQN>
 
Somente com essas alteração a nota foi pra betha e tbm pro ambiente nacional., porem não consigo ter o retorno da nota, pois o metodo de consulta  novo não esta implementado no acbr ainda:
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:e="http://www.betha.com.br/e-nota-dps">
<soapenv:Header/>
<soapenv:Body>
<e:ConsultarStatusDpsEnvio>
<e:tpAmb>2</e:tpAmb>
<e:codigoIbge>4205407</e:codigoIbge>
<e:cpfCnpjPrestador>00456865000167</e:cpfCnpjPrestador>
<e:protocolo>123456789013245</e:protocolo>
<e:tipoIntegracao>EMISSAO</e:tipoIntegracao>
</e:ConsultarStatusDpsEnvio>
</soapenv:Body>
</soapenv:Envelope>
 
Por favor, alguem teria mais informação sobre como podemos fazer para conseguir colocar esses ajustes da melhor forma no acbr para emitir com sucesso e tbm implementar essa consulta nova?

 

anexa as units alteradas para que possa ser validada

  • Curtir 1

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
5 horas atrás, Wesley Lamb disse:

Todos esses ajustes exceto o Reference URI já estão no .zip que eu postei anteriormente neste tópico.
Esta questão do Reference URI não tive problemas. Testei em diversos municípios

Ok, vc esta certo, eu validei um envio com essas alteracoes da pasta que vc mencionou e o envio aconteceu com sucesso. Inclusive para o ambiente nacional, gerando Chave de acesso.  A consulta tbm funcionou e trouxe os dados para atualizacao no meu erp. 

Porém, não consegui cancelar. Vc esta conseguindo? Tentei enviar conforme a documentação da betha passando o tipoIntegracao>CANCELAMENTO</e:tipoIntegracao , porem retorna "Não há nenhuma DPS com os dados utilizados"

  • Curtir 1
Postado
Em 12/01/2026 at 15:44, jacke venson disse:

Eu estou tentando o envio de notas para cidade de Jaraguá do sul, Provedor Betha, não usam o Fly e sim o ambiente Cloud. 

Eu consegui emitir somente após enviar a URI na assinatura, dessa forma:

<Reference URI="#DPS420890622843507700010300900000000000004038">

E depois alterar a posicao da tag pAliq para enviar antes da tag tpRetISSQN, ficando assim: 

 

<dps:pAliq>2.50</dps:pAliq>
<dps:tpRetISSQN>1</dps:tpRetISSQN>
 
Somente com essas alteração a nota foi pra betha e tbm pro ambiente nacional., porem não consigo ter o retorno da nota, pois o metodo de consulta  novo não esta implementado no acbr ainda:
 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:e="http://www.betha.com.br/e-nota-dps">
<soapenv:Header/>
<soapenv:Body>
<e:ConsultarStatusDpsEnvio>
<e:tpAmb>2</e:tpAmb>
<e:codigoIbge>4205407</e:codigoIbge>
<e:cpfCnpjPrestador>00456865000167</e:cpfCnpjPrestador>
<e:protocolo>123456789013245</e:protocolo>
<e:tipoIntegracao>EMISSAO</e:tipoIntegracao>
</e:ConsultarStatusDpsEnvio>
</soapenv:Body>
</soapenv:Envelope>
 
Por favor, alguem teria mais informação sobre como podemos fazer para conseguir colocar esses ajustes da melhor forma no acbr para emitir com sucesso e tbm implementar essa consulta nova?

 

Bom dia, @jacke venson!

Consegue por gentileza anexar a Unit que você realizou essa alteração?
Se possível seria ainda melhor que você fizesse isso em cima da Unit que o @Wesley Lamb enviou por último constribuindo.

image.png

Eric Bortoleto Silva
Ajude o Projeto ACBr crescer - Assine o SAC

image.png(15) 2105-0750 image.png(15) 97458-2412  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade!

"Que vergonha é para o homem envelhecer sem nunca ver a beleza e a força que sua mente é capaz” - Sócrates

"Use a força, leia os fontes" -  Daniel Simões
 

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

  • Membros Pro
Postado

olá, utilizei os fontes do Wesley e para a cidade de Sorriso - MT não consegui emitir, só retorna isso :
<protocolo>769274569324849</protocolo>
<dhRecebimento>2026-01-15T16:51:20.674-03:00</dhRecebimento>
<status>Não processado</status></RecepcionarDpsResposta>

Postado
3 minutos atrás, Ello Tecnologia disse:

olá, utilizei os fontes do Wesley e para a cidade de Sorriso - MT não consegui emitir, só retorna isso :
<protocolo>769274569324849</protocolo>
<dhRecebimento>2026-01-15T16:51:20.674-03:00</dhRecebimento>
<status>Não processado</status></RecepcionarDpsResposta>

Betha tá com BO no lado deles, eles tão verificando mas não tão com pressa. Estamos há 3 dias já em contato com eles e eles demoram pra responder/ajustar

  • Curtir 1
  • Triste 1
Postado
Em 14/01/2026 at 12:46, jacke venson disse:

Oi, eu não precisei fazer as alterações, validei com as units do Wesley e ja funcionou aqui.

Bom dia, Vc conseguiu transmitir algum NFSe para jaraguá informando pis/cofins?
Quando informo na minha estrutura fica assim:

                 <trib>
                     <tribMun>
                        <tribISSQN>1</tribISSQN>
                        <pAliq>2.00</pAliq>
                        <tpRetISSQN>1</tpRetISSQN>
                     </tribMun>
                     <tribFed>
                        <piscofins>
                            <CST>01</CST>
                            <vBCPisCofins>290.89</vBCPisCofins>
                            <pAliqPis>0.65</pAliqPis>
                            <pAliqCofins>3.00</pAliqCofins>
                            <vPis>1.89</vPis>
                            <vCofins>8.73</vCofins>
                            <tpRetPisCofins>1</tpRetPisCofins>
                        </piscofins>
                        <vRetCP>0</vRetCP>
                        <vRetIRRF>0</vRetIRRF>
                        <vRetCSLL>2.91</vRetCSLL>
                    </tribFed>
                     <totTrib>
                        <vTotTrib>
                           <vTotTribFed>0</vTotTribFed>
                           <vTotTribEst>0</vTotTribEst>
                           <vTotTribMun>0</vTotTribMun>
                        </vTotTrib>
                     </totTrib>
                  </trib>

Porém aí o retorno que eu obtenho é sempre: 

                    <ns2:codigo>E00</ns2:codigo>
                    <ns2:mensagem>Erro na hora de resgatar a mensagem de erro</ns2:mensagem>
                    <ns2:correcao>Contate o suporte</ns2:correcao>
 
  • Membros Pro
Postado
14 horas atrás, Wesley Lamb disse:

Betha tá com BO no lado deles, eles tão verificando mas não tão com pressa. Estamos há 3 dias já em contato com eles e eles demoram pra responder/ajustar

Bom dia, obrigado pela atenção irmão. Vou aguardar a coplan normalizar.

  • Curtir 1
Postado
31 minutos atrás, Wesley Lamb disse:

@danielgustavo Sabe me dizer se o cliente é Lucro? Eu estou com o mesmo problema com um cliente em Lages, porém em outro cliente que é Simples Nacional está emitindo corretamente

Sim, nosso cliente é do lucro. Preciso emitir a nota com PIS/COFINS e CSLL retidos... se retiramos essa parte, a nota vai, mas caso contrário retorna aquele erro ao resgatar erro. É alguma informação provavelmente nos dados dos tributos mas ainda não conseguimos descobrir qual.

Postado
27 minutos atrás, danielgustavo disse:

Sim, nosso cliente é do lucro. Preciso emitir a nota com PIS/COFINS e CSLL retidos... se retiramos essa parte, a nota vai, mas caso contrário retorna aquele erro ao resgatar erro. É alguma informação provavelmente nos dados dos tributos mas ainda não conseguimos descobrir qual.

Vou repassar essa situação para o pessoal do Betha, agora que identificamos que tem relação com os campos de PIS e COFINS

Postado
3 horas atrás, Wesley Lamb disse:

@danielgustavo Sabe me dizer se o cliente é Lucro? Eu estou com o mesmo problema com um cliente em Lages, porém em outro cliente que é Simples Nacional está emitindo corretamente

Por acaso você tem um xml que está enviando e poderia anexar como modelo? estamos com algumas dificuldades e as nfs não passam, nem para lucro real e nem para simples.

Postado
2 minutos atrás, Wendel Lopes disse:

Por acaso você tem um xml que está enviando e poderia anexar como modelo? estamos com algumas dificuldades e as nfs não passam, nem para lucro real e nem para simples.

Se o muncípio utiliza o Fly e-nota, tá tudo dando BO, retornando Rejeição 0000.

Se usa o portal novo do Betha.cloud, baixa o .zip que está na 4a mensagem deste tópico e atualiza os fontes, vai funcionar a emissão sem PIS e COFINS

Postado

Utilizei o código disponibilizado pelo Wesley Lamb, mas tive que fazer adaptações.
Uma delas é a ordem da tag pAliq, é alterado o método da PadraoNacional, isso corrige pra betha e quebra a PadraoNacional, criei uma validação baseado no provedor instanciado.
A requisição estava sempre gerando para homologação, corrigi para pegar o ambiente correto.
No mais parece ter funcionado, a nota foi processada com erro, algo com código de serviço, apesar de estar enviando corretamente o sistema está recusando, a prefeitura (Dionisio Cerqueira/SC) abriu chamado na Betha.

  • Este tópico foi criado há 133 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.