GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

NFe Prefeitura de São Paulo


#1

Boa tarde,

Queria saber se alguém já implementou o WS da NFe da prefeitura de São Paulo para trocarmos algumas idéias e experiências.
Encontrei diversos posts, mas todos relacionados às Sefaz estaduais.
Se alguém sabe um link para um tópico sobre a NFe paulistana, por favor, postem aqui :wink:

[]s


#2

E ai, alguém?!?!?!


#3

Boa Tarde, você já conseguiu fazer a implementação do WS da NFS-E da Prefeitura de São Paulo.


#4

Olá amigos

Iniciei os trabalhos com a NF-e (NFS-e) do município de São Paulo - SP a uma semana....

Estou na fase de testes unitários, mas sofrendo com muitos problemas...

Gostaria de trocar idéias com o pessoal que também está trabalhando nisso.

Abraços.


#5

Você ou alguem conseguiu concluir o envio de lote de rps? Estou tendo problemas com a ssinatura individual de cada rps.


#6

Cara, depois de muita pesquisa consegui fazer a assinatura para a NFS-e de SP. Consegui fazer em C# e ficou da seguinte maneira:

public string SignRPS(X509Certificate2 cert, String sAssinatura)
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa = cert. PrivateKey as RSACryptoServiceProvider;

byte[] sAssinaturaByte = enc.GetBytes(sAssinatura);

RSAPKCS1SignatureFormatter rsaf = new RSAPKCS1SignatureFormatter(rsa);
SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();

byte[] hash;
hash = sha1.ComputeHash(sAssinaturaByte);

rsaf.SetHashAlgorithm("SHA1");
sAssinaturaByte = rsaf.CreateSignature(hash);

string convertido;
convertido = Convert.ToBase64String(sAssinaturaByte);
return convertido;
}

Não fiz todos os testes ainda (surgiram outras prioridades na empresa). Utilizei como referência a documentação da Prefeitura de Recife, que tem uma assinatura semelhante.
Qq novidade comunica ai...
Abraços.

Giordani


#7

Caras,

Estou com o mesmo problema, gerar a tag Assinatura para o envio de RPS para a prefeitura de SP.

Ninguém conseguiu fazer em Java?

[ ]'s
Giuseppe Lopes


#8

Pessoal, não sei se estou ressucitando o assunto...mais estou com um sério problema para assinar a mensagem da NFS-e (serviços) de são paulo...o problema é que a Prefeitura pede que seja assinado o "lote" mais não existe uma tag específica para o Lote e sim somente os RPS jogados dentro do arquivo...e não existe uma "referencia" para ser assinada...

Alguém pelo Amor de Deus já conseguiu assinar em java ???

Abraços.


#9

Você tem de assinar aquela cadeia de caracteres concatenados conforme o manual, isso vai gerar um outro Node 'Assinatura' no XML que terás de postar com essa assinatura da RPS.

Não sei como assinar em Java, pois no fim acabei implementando em php mesmo.

[ ]'s
Giuseppe Lopes


#10

Essa é a TAG assinatura...ela eu consigo "assinar".

O Problema é para gerar o Signature que assina o XML inteiro.

Pode me ajudar?

tem skype ? alexandre.axs


#11

Exatamente isso que falei é assinar o RPS, depois tens de assinar o XML como nos demais métodos, gerando os nodes:

'SignedInfo'
'CanonicalizationMethod'
'SignatureMethod'
'Reference'

'Transforms'
'Transform'
'DigestMethod'
'SignatureValue'
'KeyInfo'
'X509Data'
'X509Certificate'

Acho que é isso, se não me engano tem um método em Java que gera essa assinatura com essas infos, isso vai ser necessário em todos os métodos que for implementar do acesso ao WS da prefeitura de SP.

[ ]'s
Giuseppe Lopes


#12

Atualmente estou implementando para a prefeitura de horotolandia.Após ler muitos tópicos e artigos consegui enviar e receber as respostas corretamente.

Eu criei a classe para assinatura dos documentos através do artigo http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/


#13

giuseppelopes

é que pra NFS-e de São Paulo só pode ter Signature, geralmente as NFS-e (Salvador, Nota Carioca) tem um id

exe: Salvador:

<EnviarLoteRpsEnvio xmlns="http://www.abrasf.org.br/nfse.xsd">
	<LoteRps Id="lote" versao="1.00">
		<NumeroLote>1</NumeroLote>
		<Cnpj>99999999000191</Cnpj>
		<InscricaoMunicipal>1733160024</InscricaoMunicipal>
		<QuantidadeRps>2</QuantidadeRps>
		<ListaRps>
			<Rps>
				<InfRps Id="rps:1ABCDZ">
					<IdentificacaoRps>
						<Numero>1</Numero>
						<Serie>ABCDZ</Serie>
						<Tipo>1</Tipo>
					</IdentificacaoRps>
					<DataEmissao>2009-06-16T21:00:00</DataEmissao>
					<NaturezaOperacao>1</NaturezaOperacao>
					<RegimeEspecialTributacao>6</RegimeEspecialTributacao>
					<OptanteSimplesNacional>1</OptanteSimplesNacional>
					<IncentivadorCultural>2</IncentivadorCultural>
					<Status>1</Status>
					<Servico>
						<Valores>
							<ValorServicos>1000.00</ValorServicos>
							<ValorDeducoes>10.00</ValorDeducoes>
							<ValorPis>10.00</ValorPis>
							<ValorCofins>10.00</ValorCofins>
							<ValorInss>10.00</ValorInss>
							<ValorIr>10.00</ValorIr>
							<ValorCsll>10.00</ValorCsll>
							<IssRetido>1</IssRetido>
							<ValorIss>10.00</ValorIss>
							<OutrasRetencoes>10.00</OutrasRetencoes>
							<Aliquota>5</Aliquota>
							<DescontoIncondicionado>10.00</DescontoIncondicionado>
							<DescontoCondicionado>10.00</DescontoCondicionado>
						</Valores>
						<ItemListaServico>11.01</ItemListaServico>
						<CodigoTributacaoMunicipio>522310000
						</CodigoTributacaoMunicipio>
						<Discriminacao>Teste.</Discriminacao>
						<CodigoMunicipio>3106200</CodigoMunicipio>
					</Servico>
					<Prestador>
						<Cnpj>99999999000191</Cnpj>
						<InscricaoMunicipal>1733160024</InscricaoMunicipal>
					</Prestador>
					<Tomador>
						<IdentificacaoTomador>
							<CpfCnpj>
								<Cnpj>99999999000191</Cnpj>
							</CpfCnpj>
							<InscricaoMunicipal>1733160032</InscricaoMunicipal>
						</IdentificacaoTomador>
						<RazaoSocial>INSCRICAO DE TESTE SIATU - D'AGUA -PAULINO'S
						</RazaoSocial>
						<Endereco>
							<Endereco>DA BAHIA</Endereco>
							<Numero>200</Numero>
							<Complemento>ANDAR 14</Complemento>
							<Bairro>CENTRO</Bairro>
							<CodigoMunicipio>3106200</CodigoMunicipio>
							<Uf>MG</Uf>
							<Cep>30160010</Cep>
						</Endereco>
					</Tomador>
					<IntermediarioServico>
						<RazaoSocial>INSCRICAO DE TESTE SIATU - D'AGUA -PAULINO'S
						</RazaoSocial>
						<CpfCnpj>
							<Cnpj>99999999000191</Cnpj>
						</CpfCnpj>
						<InscricaoMunicipal>8041700010</InscricaoMunicipal>
					</IntermediarioServico>
					<ConstrucaoCivil>
						<CodigoObra>1234</CodigoObra>
						<Art>1234</Art>
					</ConstrucaoCivil>
				</InfRps>
			</Rps>
			<Rps>
				<InfRps Id="rps:2ABCDZ">
					<IdentificacaoRps>
						<Numero>2</Numero>
						<Serie>ABCDZ</Serie>
						<Tipo>1</Tipo>
					</IdentificacaoRps>
					<DataEmissao>2009-06-16T21:00:00</DataEmissao>
					<NaturezaOperacao>1</NaturezaOperacao>
					<RegimeEspecialTributacao>6</RegimeEspecialTributacao>
					<OptanteSimplesNacional>1</OptanteSimplesNacional>
					<IncentivadorCultural>2</IncentivadorCultural>
					<Status>1</Status>
					<Servico>
						<Valores>
							<ValorServicos>1000.00</ValorServicos>
							<ValorDeducoes>10.00</ValorDeducoes>
							<ValorPis>10.00</ValorPis>
							<ValorCofins>10.00</ValorCofins>
							<ValorInss>10.00</ValorInss>
							<ValorIr>10.00</ValorIr>
							<ValorCsll>10.00</ValorCsll>
							<IssRetido>1</IssRetido>
							<ValorIss>10.00</ValorIss>
							<OutrasRetencoes>10.00</OutrasRetencoes>
							<Aliquota>5</Aliquota>
							<DescontoIncondicionado>10.00</DescontoIncondicionado>
							<DescontoCondicionado>10.00</DescontoCondicionado>
						</Valores>
						<ItemListaServico>11.01</ItemListaServico>
						<CodigoTributacaoMunicipio>522310000
						</CodigoTributacaoMunicipio>
						<Discriminacao>Teste.</Discriminacao>
						<CodigoMunicipio>3106200</CodigoMunicipio>
					</Servico>
					<Prestador>
						<Cnpj>99999999000191</Cnpj>
						<InscricaoMunicipal>1733160024</InscricaoMunicipal>
					</Prestador>
					<Tomador>
						<IdentificacaoTomador>
							<CpfCnpj>
								<Cnpj>99999999000191</Cnpj>
							</CpfCnpj>
							<InscricaoMunicipal>1733160032</InscricaoMunicipal>
						</IdentificacaoTomador>
						<RazaoSocial>INSCRICAO DE TESTE SIATU - D'AGUA -PAULINO'S
						</RazaoSocial>
						<Endereco>
							<Endereco>DA BAHIA</Endereco>
							<Numero>200</Numero>
							<Complemento>ANDAR 14</Complemento>
							<Bairro>CENTRO</Bairro>
							<CodigoMunicipio>3106200</CodigoMunicipio>
							<Uf>MG</Uf>
							<Cep>30160010</Cep>
						</Endereco>
					</Tomador>
					<IntermediarioServico>
						<RazaoSocial>INSCRICAO DE TESTE SIATU - D'AGUA -PAULINO'S
						</RazaoSocial>
						<CpfCnpj>
							<Cnpj>99999999000191</Cnpj>
						</CpfCnpj>
						<InscricaoMunicipal>8041700010</InscricaoMunicipal>
					</IntermediarioServico>
					<ConstrucaoCivil>
						<CodigoObra>1234</CodigoObra>
						<Art>1234</Art>
					</ConstrucaoCivil>
				</InfRps>
			</Rps>
		</ListaRps>
	</LoteRps>
</EnviarLoteRpsEnvio>

Nesse exemplo eu consigo assinar as tags InfRps pois tem o atributo Id, agora olha o XML de São Paulo:

<?xml version="1.0" encoding="UTF-8"?>
<PedidoEnvioLoteRPS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.prefeitura.sp.gov.br/nfe">
  <Cabecalho Versao="1" xmlns="">
    <CPFCNPJRemetente>
      <CNPJ>04642554000143</CNPJ>
    </CPFCNPJRemetente>
    <transacao>false</transacao>
    <dtInicio>2007-01-20</dtInicio>
    <dtFim>2007-01-20</dtFim>
    <QtdRPS>2</QtdRPS>
    <ValorTotalServicos>2000</ValorTotalServicos>
    <ValorTotalDeducoes>200</ValorTotalDeducoes>
  </Cabecalho>
  <RPS xmlns="">
    <Assinatura>ro6Og7L5BMPpYZKXfSSITNe8U9C4a95P9dIspX8R0Okg1CRsA87N08Llaq+q6IVOGLhjGMkAELBIkQ8T0BGR3czgtJAuOcgMlOmGZlgziWAg3Kww3pFD+rYxE+DRgL2M5QXTaZEYwVNj0lZyJpt1nS9LHUqO7PB+ivYRk+ewUVA=</Assinatura>
    <ChaveRPS>
      <InscricaoPrestador>31000000</InscricaoPrestador>
      <SerieRPS>LLLLL</SerieRPS>
      <NumeroRPS>1</NumeroRPS>
    </ChaveRPS>
    <TipoRPS>RPS-M</TipoRPS>
    <DataEmissao>2007-01-20</DataEmissao>
    <StatusRPS>N</StatusRPS>
    <TributacaoRPS>T</TributacaoRPS>
    <ValorServicos>1000</ValorServicos>
    <ValorDeducoes>100</ValorDeducoes>
    <CodigoServico>2658</CodigoServico>
    <AliquotaServicos>0.05</AliquotaServicos>
    <ISSRetido>false</ISSRetido>
    <CPFCNPJTomador>
      <CPF>18564071878</CPF>
    </CPFCNPJTomador>
    <RazaoSocialTomador>PATRICIA TUPYNAMBA</RazaoSocialTomador>
    <EnderecoTomador>
      <TipoLogradouro>R</TipoLogradouro>
      <Logradouro>Guararapes</Logradouro>
      <NumeroEndereco>495 A</NumeroEndereco>
      <ComplementoEndereco>ap 102</ComplementoEndereco>
      <Bairro>BROOKLIN PAULISTA</Bairro>
      <Cidade>3550308</Cidade>
      <UF>SP</UF>
      <CEP>4561000</CEP>
    </EnderecoTomador>
    <EmailTomador>ptupynamba@prodam.sp.gov.br</EmailTomador>
    <Discriminacao>Desenvolvimento de Web Site Pessoal</Discriminacao>
  </RPS>
  <RPS xmlns="">
    <Assinatura>jkTucEqcj8Qkes8RalHZW+p6Zc6weeqnPabOK7IHSkyVTO9reNqpMclEh8n6nHXSPGcnsvhQx4JWx/sK26IxVTOMKp3i41/1w3OyC9SvL0VPtzrARKQMEqTf2kqwu9skHMzw5d4T/jfjYLrp5n/YAbMqKQ5zaa4qAcY0A066OAc=</Assinatura>
    <ChaveRPS>
      <InscricaoPrestador>31000000</InscricaoPrestador>
      <SerieRPS>LLLLL</SerieRPS>
      <NumeroRPS>2</NumeroRPS>
    </ChaveRPS>
    <TipoRPS>RPS-M</TipoRPS>
    <DataEmissao>2007-01-20</DataEmissao>
    <StatusRPS>N</StatusRPS>
    <TributacaoRPS>T</TributacaoRPS>
    <ValorServicos>1000</ValorServicos>
    <ValorDeducoes>100</ValorDeducoes>
    <ValorPIS>10</ValorPIS>
    <ValorCOFINS>20</ValorCOFINS>
    <ValorINSS>30</ValorINSS>
    <ValorIR>40</ValorIR>
    <ValorCSLL>50</ValorCSLL>
    <CodigoServico>2658</CodigoServico>
    <AliquotaServicos>0.05</AliquotaServicos>
    <ISSRetido>false</ISSRetido>
    <CPFCNPJTomador>
      <CNPJ>06215299000188</CNPJ>
    </CPFCNPJTomador>
    <RazaoSocialTomador>Grixco Soluções</RazaoSocialTomador>
    <EnderecoTomador>
      <TipoLogradouro>R</TipoLogradouro>
      <Logradouro>Augusta</Logradouro>
      <NumeroEndereco>01642</NumeroEndereco>
      <ComplementoEndereco>3 Andar</ComplementoEndereco>
      <Bairro>Cerqueira Cesar</Bairro>
      <Cidade>3550308</Cidade>
      <UF>SP</UF>
      <CEP>1304001</CEP>
    </EnderecoTomador>
    <Discriminacao>Manutenção de Sistema</Discriminacao>
  </RPS>
  <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="">
        <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>AkHyCjCwkANg3aRAnltAXR1YQ4c=</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>IkLB0qfZLDuTNXNB83tXXsZ2TFNK9X0l7gq8jRCOcwhit059iF5gNHfmuM4NoUhyhZ+rC6UGn9lSMv1A35lofsplIuWUJO13yPtHsxaY6/rP9DTB4Ve3ihzwrEkpenANoEU1C5wLenX0lRtYc1k3fWeDmZUvv+b/M81pwoPBL8k=</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>MIIFUzCCBDugAwIBAgIQSUJS8pELZyjasDkgGzKm0TANBgkqhkiG9w0BAQUFADBuMQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDEsMCoGA1UECxMjU2VjcmV0YXJpYSBkYSBSZWNlaXRhIEZlZGVyYWwgLSBTUkYxHDAaBgNVBAMTE0FDIENlcnRpU2lnbiBTUkYgVjMwHhcNMDYwNzE5MDAwMDAwWhcNMDkwNzE4MjM1OTU5WjCB1DELMAkGA1UEBhMCQlIxEzARBgNVBAoUCklDUC1CcmFzaWwxKjAoBgNVBAsTIVNlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFsLVNSRjETMBEGA1UECxQKU1JGIGUtQ05QSjELMAkGA1UECBMCUkoxFzAVBgNVBAcUDlJJTyBERSBKQU5FSVJPMUkwRwYDVQQDE0BUSVBMQU4gQ09OU1VMVE9SSUEgRSBTRVJWSUNPUyBFTSBJTkZPUk1BVElDQSBMVERBOjA0NjQyNTU0MDAwMTQzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx86LAoJRVmtQMzmtdWpyNgKy200+bwjtz/TuywNcTjvfw7qHFGIgTjipmuZ3zhX28CgYLYXp3tj1Dfh2B7EhjHdLJPfvoF4MgbN/dQGXmGpMpF5cNxYusOGCZiyASvI7Gqt/xE4xLSIalNr6kF6CaPLkpFgTNNe+WQkG0fMqsQQIDAQABo4ICCDCCAgQwgbEGA1UdEQSBqTCBpqA/BgVgTAEDBKA2DDQyNDA3MTk3NjA3MTM4NTM3Nzg2MDAwMDAwMDAwMDAwMDAwMDAwOTI5OTA2MjFDTkggIFJKoB8GBWBMAQMCoBYMFEZFUk5BTkRPIFNJTFZBIEJSQUdBoBkGBWBMAQMDoBAMDjA0NjQyNTU0MDAwMTQzoBEGBWBMAQMHoAgMBjIzOTU0OIEUZmJyYWdhQHRpcGxhbi5jb20uYnIwCQYDVR0TBAIwADBiBgNVHR8EWzBZMFegVaBThlFodHRwOi8vaWNwLWJyYXNpbC5jZXJ0aXNpZ24uY29tLmJyL3JlcG9zaXRvcmlvL2xjci9BQ0NlcnRpU2lnblNSRlYzL0xhdGVzdENSTC5jcmwwHwYDVR0jBBgwFoAU9p1ZXf6/xXLN3c7ELmYbLu4Iz3YwDgYDVR0PAQH/BAQDAgXgMFUGA1UdIAROMEwwSgYGYEwBAgMGMEAwPgYIKwYBBQUHAgEWMmh0dHA6Ly9pY3AtYnJhc2lsLmNlcnRpc2lnbi5jb20uYnIvcmVwb3NpdG9yaW8vZHBjMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjA4BggrBgEFBQcBAQQsMCowKAYIKwYBBQUHMAGGHGh0dHA6Ly9vY3NwLmNlcnRpc2lnbi5jb20uYnIwDQYJKoZIhvcNAQEFBQADggEBAC5w/CBXAykvPSbBGf+u0UPcWVJATL2ix0hCfNUVtHaCjMz8hRjgYqmhpefzDm2LCTvoCPzG6XQBYxAmnDhX1f/gyjHz+E1xJg451qtqcyCJ9861o9R2bHd4zR0DuyxCNGOTiYJ4Gc/Xa4xqECorAx5ktkk1T/HOc1K/ntRGpdL+llsO/jqSRmTOnRgdeNHcKkyXsOgL5BwxxgGNuIyqirgGXW0by4Io1GnSXtixxfvEOnqOicxBY6AcVS9HHuhmOBYiK9skAUp0Sm2v41hpsC8uIkfUeRxsJIp2CNZ4DjoyfmKwNLMCRZQAKpwMXyyHZlX1a4o/9iGTszNeeShw61g=</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</PedidoEnvioLoteRPS>

no exemplo é assinado o XML inteiro.

Eu consegui assinar o XML agora...quando vou passar o Reference para a API do java eu passo "" e ai o XML inteiro é assinado.

Agora o erro é :
Rejeição: Certificado Assinatura - Erro Cadeia de Certificação.

Já passaram por isso ?? Será o jks que estou utilizando que está incorreto ?

Obrigado pela Ajuda!!!


#14

Consegui galera!!

O CNPJ que tava no XML estava diferente doq ue estava usando para assinar o XML.

Benza Deus!

Muito Obrigado pela Ajuda!!!

[]'s


#15

Cara, me fala qual codigo vc usou para assinar o RPS ?

Vc enviou para homologacao ou producao?

Valeu...

Giordani


#16

Usa o exemplo que o pessoal passou aqui!!

http://java.sun.com/developer/technicalArticles/xml/dig_signature_api/

Se não conseguir me fala!

Abraço


#17

Pessoal tenho que enviar as rps para prefeitura de são paulo, pelo que entendi tenho que criar um xml com os dados da rps e assinar essa rps dentro da tag, minha pergunta e como fazer isso?

Obrigado.


#18

Bom dia,

Recentemente adquirimos nosso primeiro contrato com um cliente da cidade de São Paulo para emissão de notas eletronicas de serviços.
Levamos aproximadamente 3 dias para consumir o WebService. Nossa Solução vide www.emissornfse.com.br


#19

Amigos, estou implementando a NFS-e aqui na empresa que trabalho. Já baixei os manuais do site da prefeitura de são paulo, mas não consego baixar o wsdl e os xsd's (schemas).

Alguém tem para me enviar?


#20

Ola pessoal.
Alguem poderia me passar um exemplo de codigo java de como fazer essa assinatura particuar de rps da tag ?
Estou tentando a dias e não consigo.

Desde ja, obrigado!