DOCUMENTAÇÃO PARA GERAÇÃO DO XML DAJE E BOLETO
Sumário 1. INTRODUÇÃO E OBJETIVO... 5 2. DOCUMENTO... 6 2.1. ESTRUTURA DO DOCUMENTO... 6 2.2. ELEMENTO DAJES... 7 2.3. ELEMENTO DAJE... 7 2.4. ELEMENTO DADOS_DAJE... 7 2.5. ELEMENTO CONTRIBUINTE... 8 2.6. ELEMENTO VALORES... 9 2.7. ELEMENTO BOLETO_INTIMACAO... 10 3. DEFINIÇÃO DO XSD DE CONFECÇÃO E VALIDAÇÃO... 11 3.1. TIPAGEM DOS ELEMENTOS E ATRIBUTOS... 14 4. MODELO DO XML... 16
LISTA DE TABELAS Tabela 1 - Explicativo dos Atributos... 7 Tabela 2 - Elementos do Elemento DADOS_DAJE... 8 Tabela 3 - Elementos do Elemento CONTRIBUINTE... 8 Tabela 4 - Elementos do Elemento VALORES... 9 Tabela 5 - Elementos do Elemento LINHA_DIGITAVEL... 9 Tabela 6 - Elementos do Elemento BOLETO_INTIMACAO... 10 Tabela 7 - Tipagem dos Elementos e Atributos... 15
LISTA DE FIGURAS Figura 1 - Modelo do XSD Daje... 6
1. INTRODUÇÃO E OBJETIVO Com a implantação da Central de Remessas de Arquivos (CRA) no estado da Bahia, tornou-se necessário o desenvolvimento de diversos procedimentos específicos para o funcionamento em particular no referido estado. Para tanto, a transmissão dos DAJES gerados pelo tribunal, tanto quanto os boletos gerados pelos cartórios, deverão ser encaminhados para a CRA, por um meio de integração de interoperabilidade. Então, para a CRA-BA, foi gerado um modelo de XML que trafegará os dados necessários, tanto quanto o PDF dos documentos referidos. 5
2. DOCUMENTO O modelo de documento escolhido para a transmissão do DAJE e do boleto é o formato XML, anexando-se o documento PDF internamente no formato Base 64. 2.1. ESTRUTURA DO DOCUMENTO A definição do modelo do documento foi criada no padrão XSD, ou seja, um validador e gerador de exemplos que segue os padrões da World Wide Web Consortium, a W3C, que padroniza a escrita internacional de aplicações para a internet. A base inicial do documento, é mostrada no exemplo abaixo: Figura 1 - Modelo do XSD Daje 6
2.2. ELEMENTO DAJES Este elemento é a raiz inicial do documento XML que será confeccionado. Dentro deste elemento poderão existir um ou mais elementos DAJE. 2.3. ELEMENTO DAJE Este elemento contém atributos pessoais e outros elementos que compõe um único DAJE, inclusive acoplando, não obrigatóriamente, o boleto. Os atributos do elemento DAJE são descritos a seguir: Atributo Descrição tipo Tipo de Geração do Daje (Apontamento, Distribuição ou Desistência) codigo_banco Código do Banco que deverá pagar o Daje (ex: 237 Bradesco) comarca Código da Comarca (Tabela do IBGE) para o cartório codigo_cartorio_cra Código do Cartório quando Cadastrado no sistema CRA Tabela 1 - Explicativo dos Atributos 2.4. ELEMENTO DADOS_DAJE Este elemento é responsável pelas informações principais do daje. Dentro deste elemento, estão acoplados os elementos a seguir: 7
Elemento daje_numero daje_serie emissor destino codigo_ato quantidade_atos data_emissao data_validade tipo_natureza base64_daje Descrição Número do DAJE emitido Série do DAJE emitido Código do Cartório emissor que emitiu (cód. No Tribunal) Código para o destinatário Código do Ato do DAJE Quantidade de atos que compõe o DAJE Data de emissão do DAJE Data de Validade do DAJE Tipo de Natureza do DAJE Base 64 do PDF do DAJE (conversão do binário em PDF). Tabela 2 - Elementos do Elemento DADOS_DAJE 2.5. ELEMENTO CONTRIBUINTE Este elemento é responsável pelas informações do destinatário do DAJE. Isto é importante para o controle local da CRA. Os elementos internos são descritos a seguir: Elemento nome endereco municipio documento Descrição Nome do Contribuínte Endereço do Contribuínte Município do Contribuínte Documento (CPF ou CNPJ) do contribuínte Tabela 3 - Elementos do Elemento CONTRIBUINTE 8
2.6. ELEMENTO VALORES Este elemento é responsável por indicar os valores, individualizados de cada item do DAJE. Os elementos disponíveis são: Elemento Descrição valor_ato_praticado Valor dos Atos Praticados valor_daje Valor do DAJE emitido emolumentos Valor de Emolumentos taxa_fiscal Valor de Taxa Fiscal fecom Valor ao Fecom def_publica Valor para a Defensoria Pública linha_digitavel Sub-elemento do elemento valores (descrito em tabela) Tabela 4 - Elementos do Elemento VALORES Abaixo, a descrição dos elementos constantes no elemento LINHA_DIGITAVEL: Elemento posicao_digito_1 posicao_digito_2 posicao_digito_3 posicao_digito_4 Descrição Posição um do código de barras do documento, contendo o dígito Posição dois do código de barras do documento, contendo o dígito Posição três do código de barras do documento, contendo o dígito Posição quatro do código de barras do documento, contendo o dígito Tabela 5 - Elementos do Elemento LINHA_DIGITAVEL 9
2.7. ELEMENTO BOLETO_INTIMACAO Trata-se de um elemento não obrigatório, ou seja, que só deverá ser incluído no XML quando da emissão do boleto. Este elemento é responsável por incluir, os dados do boleto de intimação. Os elementos disponíveis são: Elemento Descrição boleto_data_emissao Data de emissão do Boleto boleto_data_vencimento Data de Vencimento do Boleto boleto_posicao_1 Posição 1 do Código de Barras boleto_posicao_2 Posição 2 do Código de Barras boleto_posicao_3 Posição 3 do Código de Barras boleto_posicao_4 Posição 4 do Código de Barras boleto_posicao_5 Posição 5 do Código de Barras boleto_posicao_6 Posição 6 do Código de Barras boleto_digito Dígito após a posição 6 do Código de Barras boleto_posicao_7 Posição 7 do Código de Barras boleto_valor Valor do Boleto base64_boleto Base 64 do PDF do boleto (conversão do binário em PDF). Tabela 6 - Elementos do Elemento BOLETO_INTIMACAO 10
3. DEFINIÇÃO DO XSD DE CONFECÇÃO E VALIDAÇÃO Acoplamos a este documento a definição do XSD, conforme a seguir: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema"> <xs:element name="valores"> <xs:complextype> <xs:sequence> <xs:element ref="valor_ato_praticado"/> <xs:element ref="valor_daje"/> <xs:element ref="emolumentos"/> <xs:element ref="taxa_fiscal"/> <xs:element ref="fecom"/> <xs:element ref="def_publica"/> <xs:element ref="linha_digitavel"/> </xs:sequence> </xs:complextype> <xs:element name="valor_daje" type="xs:decimal"/> <xs:element name="valor_ato_praticado" type="xs:decimal"/> <xs:element name="tipo_natureza" type="xs:string"/> <xs:element name="taxa_fiscal" type="xs:decimal"/> <xs:element name="quantidade_atos" type="xs:integer"/> <xs:element name="posicao_digito_4"> <xs:length value="12"/> <xs:element name="posicao_digito_3"> <xs:length value="12"/> <xs:element name="posicao_digito_2"> <xs:length value="12"/> <xs:element name="posicao_digito_1"> <xs:length value="12"/> <xs:element name="nome" type="xs:string"/> <xs:element name="municipio" type="xs:string"/> <xs:element name="linha_digitavel"> <xs:complextype> <xs:sequence> <xs:element ref="posicao_digito_1"/> 11
<xs:element ref="posicao_digito_2"/> <xs:element ref="posicao_digito_3"/> <xs:element ref="posicao_digito_4"/> </xs:sequence> </xs:complextype> <xs:element name="fecom" type="xs:decimal"/> <xs:element name="endereco" type="xs:string"/> <xs:element name="emolumentos" type="xs:decimal"/> <xs:element name="emissor" type="xs:integer"/> <xs:element name="documento" type="xs:string"/> <xs:element name="destino" type="xs:integer"/> <xs:element name="def_publica" type="xs:decimal"/> <xs:element name="data_validade" type="xs:date"/> <xs:element name="data_emissao" type="xs:date"/> <xs:element name="dajes"> <xs:annotation> <xs:documentation>raiz da Emissão do Daje</xs:documentation> </xs:annotation> <xs:complextype> <xs:sequence> <xs:element ref="daje" maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> <xs:element name="daje"> <xs:complextype> <xs:sequence> <xs:element ref="dados_daje"/> <xs:element ref="contribuinte"/> <xs:element ref="valores"/> <xs:element name="boleto_intimacao" minoccurs="0"> <xs:complextype> <xs:sequence> <xs:element name="boleto_data_emissao" type="xs:date"/> <xs:element name="boleto_data_vencimento" type="xs:date"/> <xs:element name="boleto_posicao_1"> <xs:length value="5"/> <xs:element name="boleto_posicao_2"> <xs:length value="5"/> <xs:element name="boleto_posicao_3"> <xs:length value="5"/> <xs:element name="boleto_posicao_4"> <xs:length value="6"/> <xs:element name="boleto_posicao_5"> 12
<xs:length value="5"/> <xs:element name="boleto_posicao_6"> <xs:length value="6"/> <xs:element name="boleto_digito"> <xs:length value="1"/> <xs:element name="boleto_posicao_7"> <xs:length value="14"/> <xs:element name="boleto_valor" type="xs:decimal"/> <xs:element name="base64_boleto" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:sequence> <xs:attribute name="tipo" type="xs:string" use="required"/> <xs:attribute name="codigo_banco" use="required"> <xs:length value="3"/> </xs:attribute> <xs:attribute name="comarca" use="required"> <xs:length value="7"/> </xs:attribute> <xs:attribute name="codigo_cartorio_cra" use="required"/> </xs:complextype> <xs:element name="dados_daje"> <xs:complextype> <xs:sequence> <xs:element name="daje_numero"/> <xs:element name="daje_serie" type="xs:integer"/> <xs:element ref="emissor"/> <xs:element ref="destino"/> <xs:element ref="codigo_ato"/> <xs:element ref="quantidade_atos"/> <xs:element ref="data_emissao"/> <xs:element ref="data_validade"/> <xs:element ref="tipo_natureza"/> <xs:element name="base64_daje" type="xs:string"/> </xs:sequence> </xs:complextype> 13
<xs:element name="contribuinte"> <xs:complextype> <xs:sequence> <xs:element ref="nome"/> <xs:element ref="endereco"/> <xs:element ref="municipio"/> <xs:element ref="documento"/> </xs:sequence> </xs:complextype> <xs:element name="codigo_ato" type="xs:integer"/> </xs:schema> 3.1. TIPAGEM DOS ELEMENTOS E ATRIBUTOS Abaixo, tabela com a tipagem de cada atributo e elemento especificado no XML, definidos no XSD: Item Tipo Tipagem tipo Atributo xs:string codigo_banco Atributo xs:string (3 posições) comarca Atributo xs:string (7 posições) codigo_cartorio_cra Atributo xs:string daje_numero Elemento xs:integer daje_serie Elemento xs:integer emissor Elemento xs:integer destino Elemento xs:integer codigo_ato Elemento xs:integer quantidade_atos Elemento xs:integer data_emissao Elemento xs:date data_validade Elemento xs:date tipo_natureza Elemento xs:string base64_daje Elemento xs:string nome Elemento xs:string endereco Elemento xs:string municipio Elemento xs:string documento Elemento xs:string 14
valor_ato_praticado Elemento xs:decimal valor_daje Elemento xs:decimal emolumentos Elemento xs:decimal taxa_fiscal Elemento xs:decimal fecom Elemento xs:decimal def_publica Elemento xs:decimal posicao_digito_1 Elemento xs:string (12 posições) posicao_digito_2 Elemento xs:string (12 posições) posicao_digito_3 Elemento xs:string (12 posições) posicao_digito_4 Elemento xs:string (12 posições) boleto_data_emissao Elemento xs:date boleto_data_vencimento Elemento xs:date boleto_posicao_1 Elemento xs:string (5 posições) boleto_posicao_2 Elemento xs:string (5 posições) boleto_posicao_3 Elemento xs:string (5 posições) boleto_posicao_4 Elemento xs:string (6 posições) boleto_posicao_5 Elemento xs:string (5 posições) boleto_posicao_6 Elemento xs:string (6 posições) boleto_digito Elemento xs:string (1 posição) boleto_posicao_7 Elemento xs:string (14 posições) boleto_valor Elemento xs:decimal base64_boleto Elemento xs:string Tabela 7 - Tipagem dos Elementos e Atributos 15
4. MODELO DO XML O modelo de documento XML, pode ser visualizado abaixo: <?xml version="1.0" encoding="utf-8"?> <dajes> <daje comarca="2903201" codigo_cartorio_cra="1" tipo="apontamento" codigo_banco="237"> <dados_daje> <daje_numero>15</daje_numero> <daje_serie>15</daje_serie> <emissor>15</emissor> <destino>15</destino> <codigo_ato>16039</codigo_ato> <quantidade_atos>10</quantidade_atos> <data_emissao>2013-01-09</data_emissao> <data_validade>2013-01-15</data_validade> <tipo_natureza>natureza</tipo_natureza> <base64_daje>jvbeegmcbvymoncjw8ia0kl.........</base64_daje> </dados_daje> <contribuinte> <nome>flavio GIOVANNI</nome> <endereco>rua DAS DORES</endereco> <municipio>5</municipio> <documento>27206038808</documento> </contribuinte> <valores> <valor_ato_praticado>122.0</valor_ato_praticado> <valor_daje>122.0</valor_daje> <emolumentos>122.0</emolumentos> <taxa_fiscal>122.0</taxa_fiscal> <fecom>122.0</fecom> <def_publica>122.0</def_publica> <linha_digitavel> <posicao_digito_1>123456789012</posicao_digito_1> <posicao_digito_2>123456789012</posicao_digito_2> <posicao_digito_3>123456789012</posicao_digito_3> <posicao_digito_4>123456789012</posicao_digito_4> </linha_digitavel> </valores> <boleto_intimacao> <boleto_data_emissao>2012-12-18</boleto_data_emissao> <boleto_data_vencimento>2012-12-18</boleto_data_vencimento> <boleto_posicao_1>12345</boleto_posicao_1> <boleto_posicao_2>12345</boleto_posicao_2> <boleto_posicao_3>12345</boleto_posicao_3> <boleto_posicao_4>123456</boleto_posicao_4> <boleto_posicao_5>12345</boleto_posicao_5> <boleto_posicao_6>123456</boleto_posicao_6> <boleto_digito>1</boleto_digito> <boleto_posicao_7>12345678901234</boleto_posicao_7> <boleto_valor>12.5</boleto_valor> <base64_boleto>jvberi0xljmnncjw8ia0.........</base64_boleto> </boleto_intimacao> </daje> </dajes> 16