Você está na página 1de 5

Ver pgina Artigos do autor

SIntegra: Abordagem Completa - Conceitos Gerais


Por: Victory Fernandes [Entre em contato com o autor ]
Professor do Departamento de Engenharia da UNIFACS, Engenheiro Mestrando em Redes de Computadores, e desenvolvedor scio da TKS Software - Solues de Automao e Softwares Dedicados. Pode ser contatado em victory@igara.com.br, ou atravs dos sites www.igara.com.br - www.igara.com.br/victory.

Feed de artigos. Feed de artigos deste autor. Gere seu feed personalizado

Assunto

SIntegra: Abordagem Completa - Conceitos Gerais


Publicado em: 21/02/2005 Compartilhe

Creio que muitos de vocs leitores, assim como eu, venham sendo constantemente abordados por seus clientes a respeito da obrigatoriedade de seus respectivos sistemas satisfazerem legislao do SIntegra. Assim como h algum tempo atrs houve uma onda acerca da obrigatoriedade dos emissores de cupom fiscal - ECF, existe uma tendncia cada vez maior por parte da Federao em cobrar das empresas que as mesmas estejam adaptadas ao sistema do Sintegra, descrito no site oficial www.sintegra.gov.br. Em ambos os casos, cabe a ns desenvolvedores, a compreenso e adaptao dos aplicativos de nossos clientes s novas legislaes. Tentando facilitar e agilizar este processo de implementao e adaptao, venho por meio desta srie de 3 artigos apresentar uma viso geral de todo o processo de implementao do sintegra sobre o ponto de vista da implementao. No primeiro artigo da srie apresentamos os conceitos gerais do Sintegra suas definies e conceitos bsicos. No segundo artigo da srie apresentamos uma soluo de implementao rpida e segura atravs da SIntegra32Dll.dll, e por fim, no ltimo artigo da srie apresentamos as principais ferramentas relacionadas ao assunto e necessrias validao e entrega dos arquivos gerados pelos sistemas gerencias. O que o Sintegra? O Sistema Integrado de Informaes sobre Operaes Interestaduais com Mercadorias e Servios - SIntegra, foi criado visando o controle informatizado das operaes de entrada e sada interestaduais realizadas pelos contribuintes do ICMS. Sendo o SIntegra obrigatrio a todos os contribuintes que emitam documento fiscal por processamento de dados (Notas Fiscais ou Cupons Fiscais) e/ou faam a escriturao de Livro Fiscal por processamento de dados, existe a necessidade da adaptao de grande parte dos softwares comerciais, para que atendam nova legislao. O SIntegra descrito no Convnio ICMS 57/95, que define quem considerado contribuinte usurio de sistema de processamento eletrnico de dados, disciplina as obrigaes a serem cumpridas por estes contribuintes e estabelece o padro de arquivo magntico para entrega ao Fisco. Uma vez passadas as definies mais formais, podemos dividir o sintegra em 4 partes: 1- Convnio que define o formato e padro do arquivo de texto a ser gerado pelo desenvolvedor

em seu software gerencial. 2- Programa Validador, que o usurio utiliza para abrir o arquivo de texto que o software gerencial gerou e validar as informaes contidas no mesmo antes do envio. 3- Programas Visualizador de Arquivo Texto e Programa Vizualizador de Notas Fiscais, que so ferramentas que auxiliam na visualizao dos arquivos e suas informaes, facilitando a interpretao e localizao de erros. 4- Programa para Transferncia Eletrnica de Documentos - TED, utilizado pelo usurio para enviar via internet os arquivos de texto gerados pelo software gerencial. Nesta srie vamos abordar as 4 partes descritas, como forma de cobrir todo o escopo bsico sobre assunto em questo, bem como vamos discutir e demonstrar a implementao do arquivo do sintegra em si. Entendendo o Arquivo do SIntegra Em termos prticos o arquivo do SIntegra pode ser resumido, do ponto de vista do desenvolvedor, como um arquivo de texto formatado segundo um padro pre-definido, onde cada linha do arquivo corresponde a um Registro, que contm vrios campos, tambm predefinidos de acordo com o tipo de registro. Registros e campos estes oriundos das informaes contidas nos documentos fiscais que devem ser validados pelo Programa Validador antes de serem entregues ao Fisco. Veja a Figura 01 exemplo prtico de como ficaria um registro do sintegra para uma nota fiscal. Existe uma srie de registros disponveis para serem adicionados no arquivo, sendo que cada um deles tem suas caractersticas, aplicaes e requisitos. Aqui so mostrados os principais e mais comuns registros, que so gerados pelo demo, no entanto, impressindvel para a implementao do SIntegra, seja utilizando a SIntegra32Dll.dll ou no, que o desenvolvedor leia atentamente a documentao do Convnio ICMS 57/95 que dicerta sobre o SIntegra e toda sua sistemtica, pois antes de se questionar como deve ser o arquivo final do SIntegra emitido por seu cliente, necessrio que voc conhea bem todos os Registros possveis de serem adicionados a um arquivo do SIntegra. S assim voc ser capaz de traar as necessidades do seu cliente e definir quais dos registros o arquivo dele deve conter. muito importante lembrar que a obrigatoriedade da apresentao de alguns dos registros depende do estado em que seu cliente se localiza, pois a cobrana ou no de alguns dos registros e facultado a unidades federativas, por exemplo em Salvador - Bahia onde estamos sediados, no somos obrigados a apresentar os registros 60I e 60R. REGISTRO 10: "Mestre do Estabelecimento - Indentifio do Estabelecimento informante" um registro obrigatrio a todo e qualquer arquivo do SIntegra, e contm dados sobre a quem pertence aquele arquivo, como CGC, IE, e Endereo do estabelecimento informante. Cada arquivo do sintegra deve conter apenas 1 registro deste tipo. REGISTRO 11: "Dados complementares do informante" um registro obrigatrio a todo e qualquer arquivo do SIntegra, e contm dados complementares sobre a quem pertence aquele arquivo, como Telefone, Bairro, e CEP do estabelecimento informante. Cada arquivo do sintegra deve conter apenas 1 registro deste tipo. REGISTRO 50: Este registro apresenta informaes totalizadas das notas fiscais de entrada e sada e deve ser apresentado por contribuintes do ICMS. REGISTRO 51: Este registro apresenta informaes totalizadas das notas fiscais de entrada e sada e deve ser apresentado por contribuintes do IPI. REGISTRO 53: Deve ser informado nos casos de substituio tributria por quem realizou Substituio e pelo substituto Tributrio que realizou a antecipao. REGISTRO 54:

Este registro relativo aos itens das notas fiscais informadas nos registros tipo 50, devendo haver um registro para cada item presente nas notas fiscais informadas anteriormente. Devendo tambm ser utilizado para informar valores do frete, seguro e outras despesas acessrias que constem do corpo da nota fiscal. Na estrutura de tabela Master-Detail do sistema de cadastro de notas ficais dos sistemas gerenciais, as informaes da tabela Mster tais como CNPJ do cliente, valor total da nota, valor total dos produtos e etc so utilizadas para os registros 50 e 51, j a tabela Detail fornece os dados para o registro 54 tais como cdigo do produto, quantidade, subtotal etc. REGISTRO 60: Contm informaes sobre operaes realizadas atravs dos equipamentos ECF, e suas principais subdivises so os registros 60M, utilizado para identificar o equipamento emissor de cupom fiscal no estabelecimento, e o registro 60A, identificador de cada Situao Tributria no final do dia de cada equipamento emissor de cupom fiscal. REGISTRO 75: Representa a listagem dos cdigos de produtos ou servios utilizados, sendo obrigatrio para informar as condies do produto/servio, codificando de acordo com o sistema de controle de estoque/emisso de nota fiscal utilizado pelo contribuinte. REGISTRO 90: um registro obrigatrio a todo e qualquer arquivo do SIntegra, e sua finalidade totalizar todos os tipos de registros existentes no arquivo magntico, devendo haver pelo menos 1 registro deste tipo. Entendendo um Registro do SIntegra Como forma de exemplificar a confeco do arquivo magntico como um todo, vamos analisar e tomar como base a implementao do Registro 50 durante todo o decorrer do artigo, devendo ser aplicada a mesma sistemtica para a gerao de todos os demais registros. O Convnio ICMS 57/95 indica que registro 50 deve ser gerado para cada um dos seguintes tipos de documentos fiscais:

Nota Nota Nota Nota

Fiscal, Modelo 1 ou 1-A (cdigo 01) - Quanto ao ICMS Fiscal / Conta de Energia Eltrica - Modelo 6 (cdigo 06), Fiscal de Servio de Comunicao - Modelo 21 Fiscal de Servios de Telecomunicaes - Modelo 22 (cdigo 22)

Sendo formatado de acordo com a Tabela 01 abaixo:


Tabela 01: Formatao do Registro tipo 50

N 01 02

Campo Tipo CNPJ

03

Inscrio Estadual

04

Data de emisso ou recebimento Unidade da Federao

05

06 07

Modelo Srie

Contedo "50" CNPJ do remetente nas entradas e do destinatrio nas sadas Inscrio Estadual do remetente nas entradas e do destinatrio nas sadas Data de emisso na sada ou de recebimento na entrada Sigla da unidade da Federao do remetente nas entradas e do destinatrio nas sadas Cdigo do modelo da nota fiscal Srie da nota fiscal

Tamanho 02 14

Posio 1 2 3 16

Formato N N

14

17

30

31

38

39

40

2 3

41 43

42 45

N X

08 09 10

Nmero CFOP Emitente

11 12

Valor Total Base de Clculo do ICMS Valor do ICMS Isenta ou notributada Outras

Nmero da nota fiscal Cdigo Fiscal de Operao e Prestao Emitente da Nota Fiscal (P-prprio/Tterceiros) Valor total da nota fiscal (com 2 decimais) Base de Clculo do ICMS (com 2 decimais) Montante do imposto (com 2 decimais) Valor amparado por iseno ou no incidncia (com 2 decimais) Valor que no confira dbito ou crdito do ICMS (com 2 decimais) Alquota do ICMS (com 2 decimais) Situao da Nota Fiscal

6 4 1

46 52 56

51 55 56

N N X

13 13

57 70

69 82

N N

13 14

13 13

83 96

95 108

N N

15

13

109

121

16 17

Alquota Situao

4 1

122 126

125 126

N X

Na Tabela 01, mostrado a ordem de apresentao dos campos do registro 50, bem como a quantidade de dgitos de cada campo e seu tipo de formatao, "X" alfanumrico e "N" numrico. Os campos de formatao tipo "X" alfanumrico devem ser preenchidos com espaos em branco a direita, caso seu contedo no tenha o nmero de dgitos do campo especifico. Os campos de formatao tipo "N" numrico devem ser preenchidos com zeros a esquerda, caso seu contedo no tenha o nmero de dgitos do campo especifico. Assim, tendo em mos uma nota fiscal, o registro tipo 50 deve ser gerado como mostra a Figura 01:

Figura 01: Ilustra criao do registro tipo 50 a partir de uma nota fiscal

O que a SIntegra32Dll.dll?

Como o SIntegra se baseia em uma srie de informaes fornecidas pelo usurio do sistema gerencial em questo, e como estas informaes devem ser cuidadosamente tratadas antes de serem enviadas para o banco de dados do sistema e por fim utilizadas na gerao do arquivo de texto, sob pena de recusa do arquivo gerado por parte do Programa Validador, foi desenvolvida a SIntegra32Dll.dll, como uma soluo que visa facilitar e agilizar o processo de tratamento destas informaes. A Sintegra32dll.dll implementa os tratamentos necessrios para a gerao do arquivo magntico e pode ser usada em conjunto com qualquer linguagem de programao e permitindo ao desenvolvedor abstrair toda a camada de gerao dos registros, validao das informaes e criao do arquivo texto final. Dentre as muitas vantagens da SIntegra32Dll.dll destacam-se:

Velocidade na implementao e adaptao do seu software legislao do Sintegra. Validao e formatao automtica dos campos de acordo com os padres do Sintegra. Validao de informaes genricas como: Datas, CNJP, CPF, UF e CEP. Validao de informaes especficas do SIntegra como: CFOP, CIF/FOB, Cdigo de Identificao do Convnio, Cdigo de Finalidades da Apresentao do Arquivo Magntico, Cdigo de Identificao da Natureza das Operaes Informadas, Cdigo de Modelo de Documentos Fiscais, Cdigo de Posse das Mercadorias Inventariadas, Emitente de Nota Fiscal, Cdigo da Situao Tributria. Completo tratamento de erros, que retorna String indicando qual dos valores passados est incorreto.

Tudo isso torna a Sintegra32dll.dll uma soluo muito eficiente e eficaz, capaz de reduzir drsticamente o tempo de programao necessrio implementao do Sintegra. A SIntegra32Dll.dll composta por uma funo Inicia_Sintegra, uma funo Finaliza_Sintegra e mais uma funo para cada um dos tipos de registros disponveis nos padres do SIntegra. A funo Inicia_Sintegra indica dll que o uso da mesma ser iniciado, o que faz com que todos os seus contadores sejam zerados e a dll esteja pronta para ser usada. Esta funo deve ser chamada antes de serem chamadas as funes que iro gerar os registros do SIntegra. A funo Finaliza_Sintegra indica dll que o uso da mesma ser finalizado. As funes de Registro, so as funes principais da dll. Elas recebem os parmetros necessrios para a criao do registro, retornando uma String contendo o registro completamente formatado ou retornando uma String de erro, caso algum parmetro esteja incorreto. A SIntegra32dll.dll vem acompanhada da documentao completa sobre como utilizar suas funes e quais os tipos de erros retornados por cada funo. H ainda um demo completo em Delphi que mostra como conectar a dll ao seu programa e testar a sada da mesma com e sem banco de dados. Para obter uma cpia e maiores informaes sobre a SIntegra32Dll.dll visite o site: http://www.sintegrafacil.com.br/ Concluso Com este artigo, cobrimos os conceitos gerais a cerca da legislao do sintegra, a estrutura bsica do arquivo e seus principais registros. Tendo demonstrado a partir do exemplo do registro 50 a forma geral de estruturao de um registro do sintegra. No prximo artigo da srie ser descrito todo o processo de implementao do Sintegra utilizando a Sintegra32dll.dll, incluindo um demo completo de implementao do Sintegra com banco de dados Interbase.

http://www.linhadecodigo.com.br/artigo/620/SIntegra-Abordagem-CompletaConceitos-Gerais.aspx