Sou inexperiente em desenvolvimento de XML para NFSe e estou precisando desenvolver uma aplicação em que devo gerar uma um arquivo XML contendo lotes de RPS para NFSe.
Na minha aplicação já tenho montada toda estrutura do XML que é feita pelo próprio banco de dados Oracle, que este me retorna já montado todo o arquivo montado.
Veja Exemplo.
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<e:EnviarLoteRpsEnvio xmlns:e="http://www.betha.com.br/e-nota-contribuinte-ws">
<LoteRps id="000008">
<NumeroLote>8</NumeroLote>
<Cnpj>00363533000138</Cnpj>
<InscricaoMunicipal>006011</InscricaoMunicipal>
<QuantidadeRps>1</QuantidadeRps>
<ListaRps>
<Rps>
<InfRps id="rps1">
<IdentificacaoRps>
<Numero>1</Numero>
<Serie>A</Serie>
<Tipo>1</Tipo>
</IdentificacaoRps>
<DataEmissao>2013-03-17</DataEmissao>
<NaturezaOperacao>1</NaturezaOperacao>
<OptanteSimplesNacional>2</OptanteSimplesNacional>
<IncentivadorCultural>2</IncentivadorCultural>
<Status>1</Status>
<Servico>
<Valores>
<ValorServicos>61260.03</ValorServicos>
<ValorDeducoes>0.00</ValorDeducoes>
<ValorPis>398.19</ValorPis>
<ValorCofins>1837.80</ValorCofins>
<ValorIr>918.90</ValorIr>
<ValorCsll>612.60</ValorCsll>
<IssRetido>2</IssRetido>
<ValorIss>1225.20</ValorIss>
<BaseCalculo>61260.03</BaseCalculo>
<Aliquota>0.02</Aliquota>
<ValorLiquidoNfse>57492.54</ValorLiquidoNfse>
</Valores>
<Valores>61260.03</Valores>
<ItemListaServico>1</ItemListaServico>
<Discriminacao>CONSULTORIA EM SISTEMAS DE INFORMACAO</Discriminacao>
<CodigoMunicipio>3523909</CodigoMunicipio>
</Servico>
<Prestador>
<Cnpj>00363533000138</Cnpj>
<InscricaoMunicipal>006011</InscricaoMunicipal>
</Prestador>
<Tomador>
<IdentificacaoTomador>
<CpfCnpj>
<Cnpj>54652177000100</Cnpj>
</CpfCnpj>
</IdentificacaoTomador>
<RazaoSocial>Mega Sistemas Corporativos Ltda</RazaoSocial>
<Endereco>
<Endereco>Marginal Emicol, 21.500-Rua 4-21-Cond WestPark</Endereco>
<Bairro>Jardim Emicol</Bairro>
<CodigoMunicipio>3523909</CodigoMunicipio>
<Uf>SP</Uf>
<Cep>13312-820</Cep>
</Endereco>
<Contato>
<Telefone>xxx</Telefone>
<Email>xxx</Email>
</Contato>
</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="#99">
<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>(Tag para ser inserida)</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>(Tag para ser inserida)</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>(Tag para ser inserida)</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</Rps>
</ListaRps>
</LoteRps>
</e:EnviarLoteRpsEnvio>
Pretendo somente inserir as Tags DigestValue, SignatureValue e X509Certificate. Estou utilizando para isso o e-CPF A3.
Para fazer essa interface estou utilizando o Delphi 7
Por favor, será que alguém poderia me explicar como posso proceder para resolver esse problema?
Grato.