Exemplo de envio do XML NFSe Salvador

2,470 views
Skip to first unread message

Eduardo Monteiro

unread,
Sep 2, 2015, 2:28:28 PM9/2/15
to NFePHP
Olá,

Alguém tem um exemplo de envio de NFSe de Salvador usando PHP? Pode ser um exemplo usando SOAP ou CURL.
Já montei o XML assinado para enviar no endereço https://nfsehml.sefaz.salvador.ba.gov.br/EnvioLoteRPS/EnvioLoteRPS.svc, mas não faço idéia de como enviar.
Também não descobri se preciso envelopar o XML ou posso enviar o XML cru mesmo.

Thiago Colares

unread,
Sep 2, 2015, 6:07:55 PM9/2/15
to nfe...@googlegroups.com
Em Salvador eu só consegui criar o envelope sobrescrevendo a SoapClient e mudando os parâmetros da big hand antes do __doRequest :) 

Essa classe do Giuliano Nascimento e Roberto Leite Machado é uma referência:

* o request é o 'EnviarLoteRpsEnvio'

Em outros municípios eu consigo usar a SoapClient nativa, passando as variáveis até por array.

P.s.: o Soapui ajuda a criar requisições com o envelope. Ele monta tudo a partir do wsdl.

Envelope que funciona é algo assim: 

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://tempuri.org/">
    <SOAP-ENV:Body>
        <EnviarLoteRPS>
            <loteXML><![CDATA[<?xml version="1.0" encoding="utf-8"?><EnviarLoteRpsEnvio xmlns="http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd">...</EnviarLoteRpsEnvio>]]></loteXML>
        </EnviarLoteRPS>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Um exemplo completo:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://tempuri.org/" ><SOAP-ENV:Body><EnviarLoteRPS><loteXML><![CDATA[
<?xml version="1.0" encoding="utf-8"?>
    <LoteRps id="001">
        <NumeroLote>1</NumeroLote>
        <Cnpj>...</Cnpj>
        <InscricaoMunicipal>...</InscricaoMunicipal>
        <QuantidadeRps>1</QuantidadeRps>
        <ListaRps>
            <Rps>
                <InfRps id="rpsId22">
                    <IdentificacaoRps>
                        <Numero>22</Numero>
                        <Serie>1</Serie>
                        <Tipo>1</Tipo>
                    </IdentificacaoRps>
                    <DataEmissao>2015-08-26T13:31:31</DataEmissao>
                    <NaturezaOperacao>1</NaturezaOperacao>
                    <RegimeEspecialTributacao>1</RegimeEspecialTributacao>
                    <OptanteSimplesNacional>2</OptanteSimplesNacional>
                    <IncentivadorCultural>2</IncentivadorCultural>
                    <Status>1</Status>
                    <Servico>
                        <Valores>
                            <ValorServicos>100</ValorServicos>
                            <ValorDeducoes>0</ValorDeducoes>
                            <ValorPis>0</ValorPis>
                            <ValorCofins>0</ValorCofins>
                            <ValorIr>0</ValorIr>
                            <ValorCsll>0</ValorCsll>
                            <IssRetido>2</IssRetido>
                            <ValorIss>5</ValorIss>
                            <ValorIssRetido>0</ValorIssRetido>
                            <OutrasRetencoes>0</OutrasRetencoes>
                            <BaseCalculo>100</BaseCalculo>
                            <Aliquota>0.05</Aliquota>
                            <ValorLiquidoNfse>100</ValorLiquidoNfse>
                            <DescontoIncondicionado>0</DescontoIncondicionado>
                            <DescontoCondicionado>0</DescontoCondicionado>
                        </Valores>
                        <ItemListaServico>305</ItemListaServico>
                        <CodigoCnae>4399102</CodigoCnae>
                        <Discriminacao></Discriminacao>
                        <CodigoMunicipio>2927408</CodigoMunicipio>
                    </Servico>
                    <Prestador>
                        <Cnpj>...</Cnpj>
                        <InscricaoMunicipal>...</InscricaoMunicipal>
                    </Prestador>
                    <Tomador>
                        <IdentificacaoTomador>
                            <CpfCnpj>
                                <Cpf>...</Cpf>
                            </CpfCnpj>
                        </IdentificacaoTomador>
                        <RazaoSocial></RazaoSocial>
                    </Tomador>
                </InfRps>
                <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
                    <SignedInfo>
                        <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                        <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
                        <Reference URI="#rpsId22">
                            <Transforms>
                                <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                                <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                            </Transforms>
                            <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                            <DigestValue>...</DigestValue>
                        </Reference>
                    </SignedInfo>
                    <SignatureValue>...</SignatureValue>
                    <KeyInfo>
                        <X509Data>...</X509Certificate>
                        </X509Data>
                    </KeyInfo>
                </Signature>
            </Rps>
        </ListaRps>
    </LoteRps>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
        <SignedInfo>
            <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
            <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
            <Reference URI="#001">
                <Transforms>
                    <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                    <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
                </Transforms>
                <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                <DigestValue>...</DigestValue>
            </Reference>
        </SignedInfo>
        <SignatureValue>...</SignatureValue>
        <KeyInfo>
            <X509Data>
                <X509Certificate>...</X509Certificate>
            </X509Data>
        </KeyInfo>
    </Signature>
</EnviarLoteRpsEnvio>
]]></loteXML></EnviarLoteRPS></SOAP-ENV:Body></SOAP-ENV:Envelope>

--
Thiago Colares

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+un...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Thiago Colares

unread,
Sep 3, 2015, 7:43:10 AM9/3/15
to nfe...@googlegroups.com
Respondendo no grupo:
"Obrigado pelas dicas. Vou dar uma analisada na classe dele.
Outra coisa que estou tendo problemas é com a url do WebService. Parece que ele está fora do ar.
Ao tentar acessar o portal de homologação https://nfsehml.sefaz.salvador.ba.gov.br/ o browser indica que ele está fora do ar. Isso é normal?"

O webservice da prefeitura de Salvador mudou em Dezembro de 2013. Desde então, estão usando por trás algo igual ao webservice de São Paulo, mas parte da interface foi mantida.

Os novos endereços são:


Só é possível acessa-los pelo browser com um certificado de uma empresa de Salvador instalado. Em cada endereço são listados todos os endpoints que você precisa.

E toda consulta precisa ser feita com certificado.

Manual de integração do webservice:

Outros manuais:



--
Thiago Colares

Eduardo Monteiro

unread,
Sep 10, 2015, 11:50:22 AM9/10/15
to NFePHP
Thiago

Estou um pouco confuso. O Manual é da NFTS e estou querendo emitir uma NFSe.
Não existe diferença?

Eduardo Monteiro

unread,
Sep 10, 2015, 11:51:09 AM9/10/15
to NFePHP
Boa tarde.

Estou ficando confuso. Estou querendo emitir uma NFSe e não um NFTS.

Roberto Machado

unread,
Sep 10, 2015, 12:15:55 PM9/10/15
to nfe...@googlegroups.com
Oxente !

E se os omi gosta do "T" ??

Ao invés de chamar de NFSe eles chamaram da NFTS

Mas é esse manual que você deve usar !!

Roberto

Thiago Colares

unread,
Sep 10, 2015, 5:32:11 PM9/10/15
to nfe...@googlegroups.com
hahaha :D Não, eu enviei o manual errado. NFTS e NFSE são coisas diferentes.

A NFTS foi introduzida na prefeitura de Salvador há relativamente pouco tempo. Se eu não me engano, a NFTS serve para quando você, uma PJ, tomou algum serviço de um prestador FORA da cidade. Então você tem que registrar (i.e.: será bi-tributado hehe). Acho que tbm quando toma um serviço sem nota fiscal.

O manual que você procura é realmente o da NFSE, apesar de ambos serem bem parecidos (http://www.nota.salvador.ba.gov.br/arquivos/manual/ABRASF-Manual-de-Integracao.pdf). 

Eu tinha a impressão de que havia um manual mais novo, com a marca nova da prefeitura. Mas não sei onde está ou me confundi.


--
Thiago Colares

Roberto Machado

unread,
Sep 11, 2015, 7:59:46 AM9/11/15
to nfe...@googlegroups.com
Vixeee !! agora quem não gosta do "T" sou eu ....

Cada coisa que inventam.

Roberto

Eduardo Monteiro

unread,
Sep 11, 2015, 10:28:12 AM9/11/15
to NFePHP
Valeu pessoal!

Já montei o XML e estou enviando, mas está dando erro.
Vou conferir o XML de acordo com esse manual de agora.

Eduardo Monteiro

unread,
Sep 11, 2015, 10:54:48 AM9/11/15
to NFePHP
Pessoal,

Esse manual eu já tinha.
Conferi o XML de acordo come ele, mas continuo recebendo uma mensagem de erro.

Código: P68
Mensagem: XML não compatível com Schema.
Correção: Código de erro SEFAZ

Alguém já passou por isso?

Reply all
Reply to author
Forward
Message has been deleted
0 new messages