Você está na página 1de 22

UNIVERSIDADE FEDERAL DE LAVRAS

ISS LIVRE – SOFTWARE LIVRE PARA CÁLCULO


DO IMPOSTO SOBRE SERVIÇOS DE QUALQUER
NATUREZA

VINICIUS SOARES SILVA MARQUES

LAVRAS
MINAS GERAIS – BRASIL
2007
VINICIUS SOARES SILVA MARQUES

ISS LIVRE – SOFTWARE LIVRE PARA CÁLCULO


DO IMPOSTO SOBRE SERVIÇOS DE QUALQUER
NATUREZA

Monografia ou Trabalho de Conclusão apresentada


(o) ao Departamento de Ciência da Computação da
Universidade Federal de Lavras, como parte das
exigências do curso de Pós-Graduação Lato Sensu
em Produção de Software Livre, para a obtenção do
título de especialização.

Orientador
Prof. Ângela Maria Alves

LAVRAS
MINAS GERAIS – BRASIL
2007
VINICIUS SOARES SILVA MARQUES

ISS LIVRE – SOFTWARE LIVRE PARA CÁLCULO


DO IMPOSTO SOBRE SERVIÇOS DE QUALQUER
NATUREZA

Monografia ou Trabalho de Conclusão apresentada


(o) ao Departamento de Ciência da Computação da
Universidade Federal de Lavras, como parte das
exigências do curso de Pós-Graduação Lato Sensu
em Produção de Software Livre, para a obtenção do
título de especialização.

APROVADO em ___ de _________ de ______.

Prof. __________________

Prof. __________________

Prof. __________________
UFLA
(Orientador)

LAVRAS
MINAS GERAIS – BRASIL
2007
SUMÁRIO

LISTA DE FIGURAS ............................................................................................... 5


LISTA DE TABELAS .............................................................................................. 6
1. INTRODUÇÃO .................................................................................................... 7
2. CONCEITUAÇÃO ............................................................................................... 8
2.1. Software Livre .................................................................................................. 8
2.1.1. Software Livre no Brasil ................................................................................ 8
2.1.2. O caso das prefeituras .................................................................................. 9
2.2. Intercâmbio Eletrônico de Dados ..................................................................... 9
2.2.1. Breve histórico do Intercâmbio Eletrônico de Dados .................................... 10
2.3. Arrecadação de impostos e Intercâmbio Eletrônico de Dados ........................ 11
2.3.1. O Imposto Sobre Serviços de Qualquer Natureza ....................................... 11
2.3.2. O caso da Prefeitura Municipal de Patos de Minas ...................................... 11
3. DESENVOLVENDO UMA SOLUÇÃO LIVRE PARA CÁLCULO DO IMPOSTO
................................................................................................................................. 12
3.1. Especificação do sistema ................................................................................. 12
3.1.1. Requisitos Funcionais ................................................................................... 13
3.1.2. Requisitos Não Funcionais ........................................................................... 15
3.2. Implementação ................................................................................................ 16
3.2.1. Casos de Uso ............................................................................................... 17
3.2.1.1. Cadastrar movimento econômico .............................................................. 17
3.2.1.2. Trasmitir movimento econômico ................................................................ 18
3.2.1. Sequência dos Casos de Uso ...................................................................... 19
3.2.1. Modelo conceitual do banco de dados ......................................................... 19
4. CONCLUSÃO ..................................................................................................... 20
REFERÊNCIAS BIBLIOGRÁFICAS ...................................................................... 21
LISTA DE FIGURAS

Figura 1 - Caso de uso geral do sistema para cálculo de ISSQN ........................... 12


Figura 2 - Sequência do caso de uso “Cadastrar movimento econômico” ............. 19
Figura 3 - Sequência do caso de uso “Transmitir movimento econômico” ............. 19
Figura 4 - Modelo conceitual do banco de dados ................................................... 20
LISTA DE TABELAS

Tabela 1 - Caso de Uso “Cadastrar movimento econômico”, versão detalhada ..... 17


Tabela 2 - Caso de Uso “Transmitir movimento econômico”, versão detalhada ..... 18
ISS Livre – Software Livre para Cálculo do Imposto Sobre
Serviços de Qualquer Natureza
Vinícius Soares Silva Marques

Departamento de Ciência da Computação - Universidade Federal de Lavras (UFLA)


Campus Universitário - Lavras - Minas Gerais. CEP: 37.200-000
marques.vinicius@gmail.com

Resumo. Todas as instituições estão hoje buscando formas de agilizar seus


processos, tanto na iniciativa privada como no setor público, e a
informatização é o principal caminho para isso. Vários processos podem ser
melhorados com a adoção de soluções computacionais, sendo que para os
governos um dos mais importantes é a tributação. Através do uso de
programas de computador, vários impostos podem ser recolhidos de forma
menos burocrática, evitando-se filas e aborrecimentos. O processo pode ser
ainda mais eficiente se empregado o Software Livre, que pode ser utilizado
em qualquer situação, ter seu funcionamento estudado, sofrer modificações
para atender a necessidades específicas e ser livremente distribuído,
trazendo assim ínúmeros benefícios à comunidade.

1. Introdução
Nos dias de hoje, a informatização se faz presente em praticamente todos os
setores da sociedade. Desde as menores empresas até os grandes conglomerados
vêm implantando soluções baseadas em computador com o objetivo de modernizar
a gestão e tornar seu negócio mais competitivo. A iniciativa privada, porém, não está
sozinha neste processo. O Poder Público também tem se mostrado bastante
interessado na adoção de novas tecnologias como forma de minimizar custos e
agilizar seus processos e os serviços prestados à população.
Um desses processos é a tributação. A União, os Estados e os Municípios
têm se esforçado para oferecer ao contribuinte novos canais de acesso ao
recolhimento de tributos, baseados em software para desktop ou web. Porém,
muitas vezes são oferecidas soluções proprietárias que podem não ser ideais para
todo tipo de contribuinte, como software em versões para um único sistema
operacional.
Este é o caso de muitas Prefeituras, como por exemplo a de Patos de Minas,
cidade do interior de Minas Gerais (MG). O software oferecido para cálculo do
Imposto Sobre Serviços de Qualquer Natureza (ISSQN ou ISS) é proprietário, de
código fechado e só possui versão para o sistema operacional Microsoft Windows.
Caso o contribuinte utilize outro sistema, como o Linux, terá de se dirigir à Prefeitura
e solicitar a emissão de uma Guia de Arrecadação Municipal (GAM), procedimento
que pode ser demorado e custoso, tanto para o contribuinte quanto para a
Administração Municipal.
Este trabalho tem como objetivo fomentar a discussão em torno da utilização
de Software Livre na administração pública, através da especificação e início de
implementação de um sistema para cálculo do ISSQN, com Intercâmbio Eletrônico
de Dados (IED), baseado na legislação atual do Município de Patos de Minas e
software disponibilizado por ela. Este sistema deverá ser licenciado como Software
Livre, de modo que possa receber contribuições de outros desenvolvedores e ser
adequado ou modificado para uso em qualquer outro município.

2. Conceituação

2.1. Software Livre


Software Livre é um programa de computador cujas condições de uso garantem pelo
menos quatro liberdades básicas ao usuário [Free Software Foundation 2007]: a de
executar o programa com qualquer propósito; a de estudar o funcionamento do
programa e adaptá-lo a suas necessidades, para o que é imprescindível o acesso
irrestrito ao código fonte; a de redistribuir cópias do programa de forma irrestrita; e a
de melhorar o programa e lançar publicamente essas melhorias em benefício de
toda a comunidade, para o que o acesso ao código fonte também é pré-requisito.
Garantir estas liberdades não implica necessariamente em gratuidade ou
distribuição livre de qualquer tipo de ônus. Esta possível, porém perfeitamente
evitável confusão entre liberdade e gratuidade é mais evidente no termo original em
inglês – free software, em que a palavra free poderia ser entendida ou traduzida
tanto como livre, quanto como grátis. Porém, o criador da Free Software Foundation
(FSF) e do projeto GNU (de Gnu's Not Unix, ou “Gnu Não é Unix”, sua
implementação de sistema operacional baseado em Unix cujo desenvolvimento foi
iniciado em 1983), Richard Stallman, se encarregou de elucidar a questão logo nos
primórdios do movimento do Software Livre com uma frase bastante emblemática:
“you should think of 'free' as in 'free speech', not as in 'free beer'” (“você deve pensar
em 'livre' como em 'discurso livre', não como em 'cerveja grátis'”, em tradução livre).
Isto significa que o que deve ser livre é a possibilidade de exercer aqueles
direitos (de execução, de estudo e adaptação, de redistribuição, e de
aperfeiçoamento) sem a necessidade de pedir ou pagar por permissão, mas nada
impede que se cobre, por exemplo, pela distribuição de cópias do programa ou pelo
serviço de programação prestado para alguém que precisa de modificações e não
detém o conhecimento técnico para fazê-las. O que não é aceitável, segundo a
filosofia do software livre, é a imposição de restrições quanto ao uso do programa,
pois estas violariam as quatro liberdades citadas.
Além de garantir esses direitos, um Software Livre deve ter uma licença livre,
uma vez que simplesmente colocá-lo em domínio público poderia gerar situações
controversas [Free Software Foundation 2007]: algúem poderia, de posse do código
fonte, modificar o programa e distribuir o resultado como um software proprietário.
Para evitar este tipo de problema, foi criado o copyleft (em oposição ao copyright,
que é uma forma de restringir o uso de alguma obra), que é um método geral para
licenciar Software Livre e garantir que suas modificações também sejam livres.
Sendo o copyleft um conceito, sua implementação mais conhecida é a GNU General
Public License (GNU GPL), um documento de licença de software criado pelo
projeto GNU e disponível em http://www.gnu.org/licenses/gpl.html.

2.1.1. Software Livre no Brasil


O Brasil ocupa posição de destaque na comunidade internacional do Software Livre
[James 2003], graças a ações governamentais e da iniciativa privada que apóiam,
adotam e divulgam principalmente o sistema operacional Linux. Os programas de
inclusão digital do Governo Federal são conhecidos internacionalmente, e suas

8
políticas de migração para Software Livre incomodam até mesmo a Microsoft, uma
das mais importantes empresas de software proprietário do mundo [Reuters Brasil
2004].
Existe um posicionamento governamental sobre o Software Livre de que seu
uso é uma questão constitucional [Fundação Getúlio Vargas 2005], ou seja, para
que determinados artigos da Constituição Federal (CF) sejam respeitados, o uso de
soluções livres é, senão obrigatório, ao menos desejável em detrimento de soluções
proprietárias. Dentre estes artigos, cabe citar ao menos três: o 37, que estabelece os
princípios que devem ser obedecidos pelo poder público (legalidade,
impessoalidade, moralidade, publicidade e eficiência), o 218, que versa sobre o
incentivo à pesquisa e a capacitação tecnológica, e o 219, que estabelece diretrizes
para o incentivo ao mercado interno através da autonomia tecnológica.
Neste sentido, o Governo Federal, representado pelo Instituto Nacional de
Tecnologia da Informação (ITI), entende que a melhor forma de incentivar a
pesquisa tecnológica voltada para a solução de problemas brasileiros, valorizando o
mercado interno e respeitando da melhor forma a Constituição, é, ao menos no que
diz respeito a software, utilizar, desenvolver e apoiar a pesquisa de soluções livres.
Em licitações, portanto, quando todos os outros critérios utilizados fossem iguais
entre os concorrentes, seria dever da administração pública contratar as soluções
que oferecessem acesso ao código fonte, uma vez que o princípio da publicidade
seria assim melhor respeitado. Além disso, sempre que possível deveriam ser
abertos os códigos fonte dos softwares utilizados pelo poder público, atendendo ao
mesmo princípio.

2.1.2. O caso das prefeituras


O entendimento sobre Software Livre no que compete especificamente à
administração pública municipal segue o mesmo raciocínio, além de encontrar um
respaldo ainda mais forte quando são consideradas prefeituras de médio e pequeno
porte em processo de informatização. A viabilidade de soluções livres na
informatização de prefeituras menores foi amplamente discutida em um estudo da
Sociedade para Promoção da Excelência do Software Brasileiro (SOFTEX),
encomendado pelo ITI em 2005 [Softex 2005]. Este estudo foi realizado por meio de
uma amostra de treze prefeituras que foram informatizadas com base em Software
Livre, e chegou a importantes resultados quanto à viabilidade do processo e suas
implicações sociais, políticas e econômicas.
A pesquisa da SOFTEX aponta, por exemplo, que pequenas prefeituras ainda
não informatizadas (ou em processo de informatização) sofreriam menos com
possíveis barreiras culturais quanto à adoção de soluções livres, uma vez que não
haveria um processo de migração, ou ele seria de menores proporções. Outra
conclusão importante é que programas livres geram autonomia tecnológica e
contribuem para a capacitação de profissionais da própria prefeitura, além de
proporcionar independência de fornecedor, abrindo espaço para a atuação de
empresas locais e fomentando a indústria de tecnologia regional.

2.2. Intercâmbio Eletrônico de Dados


Em uma instituição, seja ela privada ou pública, existem duas formas de
comunicação [Colcher e Valle 2000]: a não-estruturada e a estruturada. A primeira
consiste basicamente na escrita formal, na forma de mensagens, memorandos e

9
cartas. Já a estruturada abrange aquelas em que a informação é padronizada, como
pedidos de compras, avisos de despacho, faturas e pagamentos.
Para efetivar a comunicação não-estruturada, além das formas tradicionais,
como a correspondência via papel, é hoje muito comum o correio eletrônico, ou e-
mail. Assim, a comunicação não-estruturada envolve a redação de textos em que a
informação é dependente do idioma e dos símbolos utilizados. Já a comunicação
estruturada não seria muito eficiente se feita da mesma forma que a não-
estruturada. Um pedido de compra, por exemplo, deve ser objetivo, claro e direto, de
forma padronizada como em um formulário. Mas conforme as relações entre as
empresas foram se tornando cada vez mais corriqueiras e o tempo se tornou fator
importante para os negócios, a troca de formulários em papel deixou de ser viável.
Assim, surgiu a necessidade de estabelecer uma forma mais prática e menos
burocrática para efetuar a comunicação estruturada. Foi a indústria de transportes,
buscando uma solução para o excesso de papel nos processos administrativos, que
criou há mais de trinta anos o Intercâmbio Eletrônico de Dados. Neste modelo, os
dados são formatados segundo um padrão preestabelecido, que facilita a
transferência eletrônica entre sistemas de computadores, em um processo
conhecido por comunicação aplicação-a-aplicação. É portanto uma operação
automática que possibilita troca de dados entre parceiros comerciais.

2.2.1. Breve histórico do Intercâmbio Eletrônico de Dados


No início da história desta tecnologia, cada empresa criava seu próprio formato para
IED, visando atender suas necessidades individuais. Porém, com o tempo percebeu-
se que isso limitava o uso do IED, e padrões industriais foram concebidos com o
objetivo de atender aos interesses de uma comunidade mais ampla. Mais tarde,
mesmo estes formatos tornaram-se uma barreira àquelas empresas que se
envolviam em comércio com diversos setores industriais. Surgiram os padrões
nacionais, como o do American National Standards Institute (ANSI), através de seu
ANSI Accredited Standards Comittee (ANSI ASC X12), ou o europeu Guidelines for
Trade Data Interchange (GTDI), ambos por volta de 1985. No Brasil, um dos
principais organismos de padronização de IED é a Federação Brasileira de Bancos
(FEBRABAN), através do Centro Nacional para Automação Bancária (CNAB).
Ainda assim, o comércio internacional enfrentava dificuldades para utilizar o
IED. Em 1986, durante um encontro do United Nations Working Party on the
Facilitation of International Trade Procedures (UN/ECE/WP.4), comitê responsável
pela simplificação de procedimentos dispendiosos e pelo desenvolvimento de
documentação padronizada, foi aprovado o Intercâmbio de Dados para
Administração, Comércio e Transporte (UN/EDIFACT). Trata-se de um padrão
internacional para IED, flexível o bastante para uso em governos e indústria privada.
O UN/EDIFACT ainda passou por vários testes e discussões em eventos
internacionais, até ser adotado pela ISO, e mais recentemente pelo ANSI ASC.
Mesmo com estes padrões mundiais, surgiram vários padrões proprietários
para IED, o que ainda hoje pode dificultar as trocas de arquivos entre instituições.
Para minimizar este problema, foram criadas as Value Added Networks (VAN), que
são serviços de transporte de arquivos, tradução de padrões e consultoria. Além
disso, existe uma aplicação da eXtensible Markup Language (XML) voltada para
comércio eletrônico, cujo uso em IED fornece uma plataforma para troca de
diferentes tipos de dados, de modo que a informação, independente do canal

10
utilizado, possa ser pesquisada, decodificada, manipulada e visualizada de forma
consistente e correta através de dicionários de IED e repositórios online para incluir
regras de negócios.

2.3. Arrecadação de impostos e Intercâmbio Eletrônico de Dados


Além da aplicação de IED no comércio eletrônico, vem se tornando comum seu uso
na arrecadação de impostos. Desta forma, os agentes públicos podem oferecer uma
alternativa menos burocrática para seus contribuintes cumprirem com suas
obrigações tributárias, evitando filas e preenchimento de formulários em papel.
Vários impostos, tributos e taxas podem ser cobrados através de transações de IED,
favorecendo tanto a administração pública quanto o contribuinte.

2.3.1. O Imposto Sobre Serviços de Qualquer Natureza


Um dos impostos brasileiros mais comumente arrecadados através de IED é o
Imposto Sobre Serviços de Qualquer Natureza. Este imposto é de competência dos
Municípios e do Distrito Federal, e é regido, desde agosto de 2003, pela Lei
Complementar (LCP) 116/2003, que pode ser obtida em www.senado.gov.br. Esta
lei estabelece, em uma lista anexa, os serviços cuja prestação gera a cobrança de
ISSQN, que é devido pelas empresas prestadoras destes serviços ou, em alguns
casos, pelas tomadoras dos serviços, dependendo da atividade econômica. A LCP
também fixa a alíquota máxima do ISSQN, que é de 5%. A alíquota mínima é
definida no artigo 88 da CF, incluído pela Emenda Constitucional (EMC) 37/2002, e
é de 2% (CF e EMC também disponíveis em www.senado.gov.br). Leis municipais
estabelecem as alíquotas específicas de cada atividade.

2.3.2. O caso da Prefeitura Municipal de Patos de Minas


Patos de Minas é uma cidade do estado de Minas Gerais, situada na região
conhecida como Alto Paranaíba. Tem cerca de 123.000 habitantes, segundo o
recenseamento feito no ano 2000 pelo Instituto Brasileiro de Geografia e Estatística
(IBGE), e figura entre os 40 maiores municípios mineiros em arrecadação de tributos
no ano de 2006, segundo a Secretaria de Estado da Fazenda (SEF-MG) [Secretaria
de Estado da Fazenda 2006]. O ISSQN é regido no município por diversas leis
ordinárias e complementares, que estabelecem as alíquotas dos serviços e normas
de arrecadação. Atualmente a Prefeitura Municipal de Patos de Minas oferece um
software proprietário para a declaração do ISSQN, que deve ser instalado e
executado sobre o sistema operacional Microsoft Windows, e utiliza uma base de
dados Microsoft Access. Este software utiliza IED para a troca de dados sobre a
movimentação econômica do contribuinte em dois tempos, como pode ser visto na
Figura 1: primeiro o contribuinte informa os dados no programa, que gera um arquivo
e o envia por e-mail para a Prefeitura; depois um funcionário da Prefeitura recebe e
trata este arquivo no programa, que gera outro arquivo contendo dados para a
confecção de uma Guia de Arrecadação Municipal (GAM) e o envia de volta ao
contribuinte.

11
Figura 1. Caso de uso geral do sistema para cálculo de ISSQN

3. Desenvolvendo uma solução livre para cálculo do imposto


Muitas empresas apresentam, como política de segurança, restrições quanto à
instalação de software em suas máquinas. Estas restrições vão desde aquelas
voltadas para aplicativos específicos (peer-to-peer, mensageiros, etc) até aquelas
que impedem a instalação de qualquer programa não homologado pela área
responsável por tecnologia na empresa. Além disso, existem vários sistemas
operacionais e plataformas computacionais disponíveis no mercado, o que pode
tornar inviável a instalação de um software proprietário desenvolvido para um
sistema específico. Neste trabalho apresenta-se uma alternativa aos dois problemas:
um sistema que pode ser executado via web, com a maior parte do processamento
do lado do servidor, para que não seja necessário instalar software na máquina
local; e disponibilização do código fonte, licenciado sob a GNU GPL, para permitir
portabilidade e independência de plataforma, além de tornar possíveis futuras
modificações para atender a necessidades específicas.
O software será especificado com base naquele que é oferecido pela
Prefeitura Municipal de Patos de Minas, no endereço
http://www.patosdeminas.mg.gov.br/downloads/. A única versão disponível do
programa deve ser instalada em ambiente Microsoft Windows. Assim, uma
alternativa livre via web beneficiaria a comunidade tanto pela independência de
sistema operacional quanto pela dispensa de instalação local. Será mantida a
sistemática vista na Figura 1 por questões de compatibilidade com os procedimentos
da Prefeitura.

3.1. Especificação do sistema


A especificação do sistema foi obtida por engenharia reversa aplicada ao software
disponibilizado pela Prefeitura Municipal de Patos de Minas e será detalhada nesta
seção, contemplando apenas os requisitos funcionais (RF) e não funcionais (NF)
que fazem parte do escopo deste trabalho, devendo ser considerados como escopo
negativo quaisquer outros requisitos que possam ser levantados posteriormente, o
que não impede que estes sejam incluídos no escopo de trabalhos derivados. Esta
especificação está disponível ainda em uma versão compatível com a norma 830-

12
1998 do Institute of Electrical and Electronics Engineers (IEEE) nos endereços
http://isslivre.zharpa.com e http://isslivre.codigolivre.org.br, juntamente com o
restante da documentação do programa e o código fonte.

3.1.1. Requisitos Funcionais

a) Controle de Acesso

[RF 01] Solicitar acesso ao sistema


O usuário pode solicitar acesso ao sistema, informando primeiramente seu estado e
cidade, e em seguida o nome de usuário (que deverá ser seu endereço de e-mail) e
senha desejados. O nome de usuário será validado para certificar que se trata de
um endereço de e-mail. A cidade será validada para certificar de que já existe um
endereço de e-mail relacionado, e caso não exista será solicitado que o usuário
informe o e-mail da Prefeitura da cidade escolhida. A cidade e o nome de usuário
serão validados em conjunto para não permitir duplicidade de cadastramento da
combinação.

[RF 02] Notificar cadastramento do usuário


O sistema informará à Prefeitura da cidade escolhida pelo usuário na solicitação de
acesso, via e-mail, que existe cadastramento pendente e que o responsável deverá
enviar o código de habilitação para o endereço de e-mail do usuário.

[RF 03] Acessar sistema


Para acessar o sistema, devem ser informados primeiramente o estado e a cidade
do usuário, e em seguida seu nome de usuário (endereço de e-mail) e senha
corretos. A cidade, o nome de usuário e a senha serão validados para permitir
acesso ao sistema. Caso seja o primeiro acesso do usuário, será solicitado o código
de habilitação fornecido pela Prefeitura da cidade informada.

[RF 04] Enviar nova senha


Se o usuário esquecer sua senha atual, poderá solicitar o envio de uma nova senha
para seu e-mail, informando apenas seu nome de usuário. Esta nova senha deverá
ser gerada automaticamente pelo sistema.

[RF 05] Alterar senha


O sistema permitirá a alteração da senha do usuário, mediante informação da senha
atual e da nova senha.

b) Manutenção do Perfil dos Usuários

[RF 06] Criar perfil do usuário


O perfil do usuário será criado quando o cadastro de seus dados for realizado com
sucesso (este perfil ainda não possui todas as informações necessárias para o
mecanismo de cálculo do imposto).

[RF 07] Atualizar perfil do usuário


A atualização do perfil do usuário será realizada sob demanda, porém é necessário
que seja feita pelo menos uma vez antes de utilizar o mecanismo de cáculo do
imposto. A atualização inclui o cadastramento de empresa e contador, de

13
contribuintes, e de tomadores e prestadores de serviços.

[RF 08] Cadastrar empresa de contabilidade


O usuário pode efetuar o cadastramento de uma empresa de contabilidade com um
contador relacionado (é aceitável que sejam informados os dados do próprio
contribuinte e de um funcionário responsável pela escrituração contábil; a
nomenclatura é apenas informativa). Devem ser informados o tipo de inscrição (CPF
ou CNPJ), o número da inscrição, o nome da empresa, o endereço completo da
empresa, o telefone da empresa, a cidade e o estado da empresa, o nome do
contador, o número do CRC do contador e o número do CPF do contador.

[RF 09] Alterar dados de empresa de contabilidade


Todos os dados da empresa de contabilidade e do contador (ou do contribuinte e
funcionário responsável, caso tenha sido utilizado este critério quando do
cadastramento, conforme RF 08), com exceção do tipo de inscrição e número de
inscrição da empresa, podem ser alterados.

[RF 10] Cadastrar contribuintes


O usuário pode efetuar o cadastramento de contribuintes (ainda que no
cadastramento da empresa de contabilidade tenham sido informados os dados do
próprio contribuinte, conforme RF 08). Devem ser informados o tipo de inscrição
(CPF ou CNPJ), o número da inscrição, o nome da empresa, o número da inscrição
municipal, o nome fantasia, a data de início de atividade da empresa, se ela é ou
não estabelecida no município, o endereço da empresa, a cidade e o estado, os
telefones e o e-mail da empresa, e as atividades econômicas da empresa (CNAE).
Podem ser informados ainda nome, CPF, endereço, cidade, estado, telefone e e-
mail dos sócios da empresa.

[RF 11] Alterar contribuinte


Todos os dados do contribuinte, com exceção do tipo de inscrição e número de
inscrição, podem ser alterados.

[RF 12] Cadastrar tomadores e prestadores de serviços


O usuário pode cadastrar os tomadores e prestadores de serviços, mediante a
informação do tipo de inscrição (CPF ou CNPJ), número da inscrição, nome e tipo
(tomador/prestador). Caso o próprio contribuinte seja o tomador ou prestador,
devem-se cadastrar novamente esses dados, pois trata-se de cadastro diverso
daquele de contribuintes.

[RF 13] Alterar tomador ou prestador


Apenas o nome do tomador ou prestador pode ser alterado.

c) Movimentação Econômica

[RF 14] Cadastrar movimento econômico de prestador


Para cadastrar o movimento econômico, deve ser identificado o contribuinte, através
de sua inscrição municipal. O usuário deve ainda indicar o ano e o mês do exercício
e a atividade econômica relacionada ao lançamento. Deve informar o tomador do
serviço através do tipo e número da inscrição (CPF ou CNPJ), o tipo de documento
(Nota Fiscal de Serviço, Nota Fiscal Fatura, Nota Fiscal de Venda, Nota Fiscal de

14
Venda e Serviço, Cupom Fiscal, Recibo ou Outros), a forma de tributação (Normal,
Retido na Fonte, Cancelado, Isento, Imune, Outro Município ou Extraviado), os
números inicial e final dos documentos, a data de emissão, o valor contábil e o valor
tributável. O sistema deve calcular o valor do imposto de acordo como a atividade.

[RF 15] Alterar movimento econômico de prestador


Todos os dados do movimento econômico de prestador podem ser alterados antes
da geração do arquivo de remessa. Após a geração do arquivo, os registros são
marcados como somente-leitura.

[RF 16] Cadastrar movimento econômico de tomador


Para cadastrar o movimento econômico, deve ser identificado o contribuinte, através
de sua inscrição municipal. O usuário deve ainda indicar o ano e o mês do exercício.
Deve informar o prestador do serviço através do tipo e número da inscrição (CPF ou
CNPJ), a atividade econômica relacionada ao lançamento, o tipo de documento
(Nota Fiscal de Serviço, Nota Fiscal Fatura, Nota Fiscal de Venda, Nota Fiscal de
Venda e Serviço, Cupom Fiscal, Recibo ou Outros), a forma de tributação (Normal,
Retido na Fonte, Cancelado, Isento, Imune, Outro Município ou Extraviado), os
números inicial e final dos documentos, a data de emissão, o valor contábil e o valor
tributável. O sistema deve consultar a atividade econômica e aplicar o percentual de
tributação ao valor tributável.

[RF 17] Alterar movimento econômico de tomador


Todos os dados do movimento econômico de tomador podem ser alterados antes da
geração do arquivo de remessa. Após a geração do arquivo, os registros são
marcados como somente-leitura.

[RF 18] Transmitir movimento econômico


Para gerar o arquivo para remessa de transmissão de movimento econômico, o
usuário deve identificar o ano e mês de exercício e relacionar os movimentos
desejados. O sistema deve gerar uma mensagem padrão com o arquivo gerado em
anexo, que será enviada por e-mail para a Prefeitura da cidade indicada no acesso.
Caso não exista endereço de e-mail cadastrado para a cidade, o sistema deve
permitir o cadastramento.

[RF 19] Importar documento de arrecadação


O usuário deve informar o caminho em seu sistema local onde o arquivo enviado
pela Prefeitura contendo as informações para emissão do documento de
arrecadação foi armazenado. O sistema processará o arquivo, importando e
formatando os dados de cada tipo de movimento (tomador ou prestador), montando
Guias de Arrecadação Municipal, conforme o caso. Após o processamento as guias
importadas ficarão disponíveis para configurações de impressão, e impressão
propriamente dita.

3.1.2. Requisitos Não Funcionais

a) Requisitos do Produto

[NF 01] Usabilidade


Deve ser oferecida uma interface amigável, considerando as características de seu

15
público-alvo (contadores e funcionários de empresas). A navegabilidade entre as
telas deve ser simples e de fácil entendimento.

[NF 02] Confiabilidade


As informações apresentadas pelo sistema, assim como os resultados gerados a
partir da interação do usuário devem ser corretos.

[NF 03] Ajuda


O sistema deve ser distribuído com um manual de operação.

[NF 04] Segurança


A senha do usuário deverá ser criptografada para armazenamento.

[NF 05] Portabilidade


O sistema deverá ser independente de sistema operacional, ou seja, ele pode ser
implantado em qualquer sistema operacional sem que seja necessário gerar nova
versão. Além disso, o programa deverá executar via web.

b) Requisitos do Processo

[NF 06] Software Livre


O sistema deverá ser livre (licença GNU GPL) e seu código fonte deverá ser
disponibilizado na em algum site na internet para que qualquer indivíduo ou
instituição possa utilizá-lo, integrá-lo com outros sistemas ou modificá-lo como
desejar.

[NF 07] Plataforma de desenvolvimento


Serão adotados no desenvolvimento a linguagem de programação PHP na versão 5,
o banco de dados MySQL na versão 5 e o servidor web Apache na versão 2. Serão
utilizados os sistemas operacionais Microsoft Windows XP e Canonical Ubuntu Linux
7.04.

c) Requisitos Externos

[NF 08] Compatibilidade com outros sistemas


O sistema deverá ser compatível com o sistema proprietário oferecido pela
Prefeitura de Patos de Minas (MG). Deverá ainda poder ser modificado para
apresentar compatibilidade com qualquer outro sistema do tipo, e integrabilidade
com outros tipos de sistemas.

3.2. Implementação
Nesta seção serão apresentados através de tabelas os principais casos de uso do
programa, e através de diagramas a sequência de execução destes casos de uso
(Diagrama de Sequência – DS) e o modelo conceitual do banco de dados (Diagrama
de Entidades e Relacionamentos – DER). Espera-se que através destes recursos
seja possível visualizar as principais funcionalidades do sistema, e reproduzir sua
implementação em qualquer linguagem de programação e sistema gerenciador de
banco de dados (SGBD), ainda que neste trabalho tenham sido utilizados PHP e
MySQL.

16
3.2.1. Casos de Uso
Os principais casos de uso do sistema, de acordo com os requisitos elicitados, são:
“Cadastrar movimento econômico”, que descreve como é feito o cadastramento da
movimentação referente aos serviços prestados e tomados tributáveis; e “Transmitir
movimento econômico”, que descreve o processo de geração do arquivo contendo
os dados de movimento e sua transmissão para a prefeitura.
É importante destacar que, a princípio, toda a operação do sistema deve ser
feita por um contador, mas nada impede que a própria empresa contribuinte designe
um funcionário para realizá-la, conforme RF 08. Neste caso, o ator “Contador”
poderia ser chamado de “Funcionário”, embora neste trabalho tenha sido mantido o
nome original para simplificar o entendimento. Note-se ainda que em alguns passos
dos casos de uso detalhados, há referência implícita a outros casos de uso. O
referenciamento explícito foi omitido por tratarem-se de casos de uso muito simples
e comuns, cujo detalhamento foi considerado desnecessário neste trabalho. Esta
situação ocorre no passo dois do primeiro caso de uso, que faria referência a casos
de uso que descrevem buscas de dados no sistema; e no segundo caso de uso,
onde optou-se por incorporar o caso de uso de busca de dados a que uma
referência poderia ter sido feita, transformando-o nos passos dois, três e quatro.

3.2.1.1. Cadastrar movimento econômico


O caso de uso começa quando o Contador manifesta a intenção de cadastrar o
movimento econômico do contribuinte, o que pode ser feito selecionando a opção
correspondente na interface do sistema. Se ocorrer algum erro antes do início do
cadastramento o caso de uso deve ser abortado, e uma mensagem deve ser emitida
informando esta situação, caso contrário o sistema deve permitir a continuidade de
sua execução. O Contador fornece então os dados necessários para o
cadastramento de cada movimentação, que corresponde a um serviço prestado ou
tomado. Para cada movimentação cadastrada, o sistema calcula o valor do ISSQN
de acordo com a atividade econômica envolvida. Após cada movimentação inserida,
o sistema atualiza o somatório do valor total do ISSQN devido. O Contador
manifesta a intenção de encerrar o cadastramento do movimento econômico,
através de uma opção na interface do sistema. Em seguida, o sistema armazena as
informações em banco de dados e marca o movimento como “aberto”. A Tabela 1
traz uma descrição mais detalhada do caso de uso.
Tabela 1. Caso de Uso “Cadastrar movimento econômico”, versão detalhada

Caso de uso Cadastrar movimento econômico


Atores Contador
Pré-condição O usuário deve ter se autenticado no sistema.
Fluxo de eventos primário 1. O caso de uso começa quando o Contador manifesta a intenção
(caminho básico) de cadastrar o movimento econômico do contribuinte, o que pode
ser feito selecionando a opção correspondente na interface do
sistema.
2. O Contador fornece então os dados necessários para o
cadastramento de cada movimentação, que corresponde a um
serviço prestado ou tomado.
3. Para cada movimentação cadastrada, o sistema calcula o valor do
ISSQN de acordo com a atividade econômica envolvida.
4. Após cada movimentação inserida, o sistema atualiza o
somatório do valor total do ISSQN devido.

17
5. O Contador manifesta a intenção de encerrar o cadastramento do
movimento econômico, através de uma opção na interface do
sistema.
6. Em seguida, o sistema armazena as informações em banco de
dados e marca o movimento como “aberto”.
Fluxo de eventos Se no passo 1 ocorrer algum erro, o sistema deve emitir uma
secundário (caminho mensagem alusiva ao erro e a execução do caso de uso deve ser
alternativo) abortada.
Pós-condição O movimento econômico deve ter sido armazenado em banco de
dados e marcado como “aberto”.

3.2.1.2. Trasmitir movimento econômico


O caso de uso começa quando o Contador manifesta a intenção de transmitir o
movimento econômico do contribuinte, o que pode ser feito selecionando a opção
correspondente na interface do sistema. O contador fornece ao sistema os dados do
movimento que deseja buscar (ano, mês e inscrição do contribuinte). Se não for
encontrado nenhum registro, o sistema deve emitir a mensagem de erro “Movimento
não encontrado” e abortar a execução do caso de uso. Se forem encontrados um ou
mais registros, o sistema deve apresentar uma lista contendo cada movimento
marcado como “aberto” que satisfaça a condição de busca do Contador. O Contador
então seleciona o movimento desejado. O sistema marca o movimento selecionado
como “fechado”. Em seguida, o sistema recupera os dados do movimento e os
insere em um arquivo segundo um padrão de IED. O sistema deve então montar
uma mensagem de e-mail cujo destinatário será a prefeitura correspondente ao
município do contribuinte e anexar a ela o arquivo gerado, enviando na sequência
através do serviço de e-mail do servidor onde o sistema estiver rodando. A Tabela 2
traz uma descrição mais detalhada do caso de uso.
Tabela 2. Caso de Uso “Transmitir movimento econômico”, versão detalhada

Caso de uso Transmitir movimento econômico


Atores Contador
Pré-condição O usuário deve ter se autenticado no sistema.
Fluxo de eventos primário 1. O caso de uso começa quando o Contador manifesta a intenção
(caminho básico) de transmitir o movimento econômico do contribuinte, o que pode
ser feito selecionando a opção correspondente na interface do
sistema.
2. O contador fornece ao sistema os dados do movimento que
deseja buscar (ano, mês e inscrição do contribuinte).
3. Se encontrados um ou mais registros, o sistema deve apresentar
uma lista contendo cada movimento marcado como “aberto” que
satisfaça a condição de busca do Contador.
4. O Contador então seleciona o movimento desejado.
5. O sistema marca o movimento selecionado como “fechado”.
6. Em seguida, o sistema recupera os dados do movimento e os
insere em um arquivo segundo um padrão de IED.
7. O sistema deve então montar uma mensagem de e-mail cujo
destinatário será a prefeitura correspondente ao município do
contribuinte e anexar a ela o arquivo gerado, enviando na sequência
através do serviço de e-mail do servidor onde o sistema estiver
rodando.
Fluxo de eventos Se no passo 2 não for encontrado nenhum registro, o sistema deve
secundário (caminho emitir a mensagem de erro “Movimento não encontrado” e abortar a
alternativo) execução do caso de uso.

18
Pós-condição O movimento econômico deve ter sido marcado como “fechado”, um
arquivo contendo os dados do movimento deve ter sido gerado, uma
mensagem de e-mail deve ter sido montada com o arquivo gerado
em anexo e esta mensagem deve ter sido enviada para o endereço
de e-mail da prefeitura do município do contribuinte.

3.2.1. Sequência dos Casos de Uso


Os fluxos de eventos primários e secundários dos casos de uso citados podem ser
resumidos na forma dos Diagramas de Sequência presentes na Figura 2 (caso de
uso “Cadastrar movimento econômico”) e na Figura 3 (caso de uso “Transmitir
movimento econômico”). Note-se que estes diagramas condensam alguns dos
passos dos fluxos de eventos em uma única mensagem, para simplificar o
entendimento.

Figura 2. Sequência do caso de uso “Cadastrar movimento econômico”

Figura 3. Sequência do caso de uso “Transmitir movimento econômico”

3.2.1. Modelo conceitual do banco de dados


O Diagrama de Entidades e Relacionamentos presente na Figura 4 traz a
modelagem do banco de dados do sistema. É importante notar que,
propositalmente, os campos referentes a endereços e telefones não foram
normalizados, uma vez que os requisitos do sistema não exigem um grau maior de
detalhamento. Caso o sistema seja modificado para integrar-se com outros, como
um sistema de zoneamento do município ou um catálogo de endereços, o processo
de normalização será necessário, mas isto foge ao escopo deste trabalho.

19
Figura 4. Modelo conceitual do banco de dados

4. Conclusão
O desenvolvimento de alternativas livres a programas proprietários traz vários
benefícios à comunidade. Além de permitir o contínuo aperfeiçoamento do software,
esta prática fomenta a pesquisa e o desenvolvimento tecnológico regional, contribui
para a chamada inclusão digital, dando liberdade de escolha ao usuário quanto à
plataforma a ser utilizada e a forma de instalação e execução do programa, e facilita
a troca de informações.

20
O software especificado neste trabalho poderá ser aperfeiçoado para a
declaração do ISSQN em Patos de Minas, bem como ser modificado para atender a
legislações de outros municípios. Com a adoção da licença GPL, o programa pode
inclusive receber novas funcionalidades e integrar outros sistemas já existentes.
Poderá ser hospedado em qualquer servidor web que suporte PHP e MySQL
(ambos na versão 5), dispensando instalação local, o que o torna passível de uso
por empresas com forte restrições de segurança que proibam instalação de software
em suas máquinas. Essa característica o torna vantajoso também quanto ao sistema
operacional, uma vez que o usuário final o acessará através da intranet de sua
empresa ou pela internet, não importando, a princípio, o sistema operacional que
esteja instalado em sua máquina cliente ou no servidor (os ambientes de teste
durante o desenvolvimento utilizaram Microsoft Windows XP e Canonical Ubuntu
Linux 7.04, ambos rodando o servidor web Apache versão 2, PHP versão 5 e
MySQL versão 5). Toda a documentação do programa e o código fonte produzido
estão disponíveis nos endereços http://isslivre.zharpa.com e
http://isslivre.codigolivre.org.br, e podem ser utilizados, copiados, modificados e
distribuídos nos termos da licença GPL.
Uma modificação interessante no sistema seria a eliminação do suporte a IED
e inclusão de um módulo que tratasse diretamente as informações armazenadas
pelo contribuinte no banco de dados. O software assim modificado deveria ser
instalado em um servidor na Prefeitura, que disponibilizaria acesso aos contribuintes
via internet. Os dados informados seriam então tratados na Prefeitura e a guia para
pagamento poderia ser acessada pelo contribuinte também pela internet,
simplificando todo o processo. Poderia-se ainda utilizar certificação digital para a
transmissão dos dados, como já ocorre com a Nota Fiscal eletrônica.
Tão importante quanto a disponibilização de soluções livres é a
conscientização da sociedade sobre como seu uso pode trazer benefícios. Divulgar
o conceito de Software Livre, apoiar, sugerir e incentivar sua utilização, distribuir
programas sob licenças livres e cobrar principalmente dos entes públicos a adoção e
o apoio ao desenvolvimento de soluções livres são atitudes que podem ajudar na
consolidação deste modelo como a forma mais justa de compartilhamento de
informação e conhecimento nesta era em que o computador está tão presente nas
relações humanas.

Referências bibliográficas
COLCHER, Raul; VALLE, André. Guia de EDI e Comércio Eletrônico. 3. ed. Rio de
Janeiro: SIMPRO BRASIL, 2000. 171 p.
FREE SOFTWARE FOUNDATION. The Free Software Definition. Disponível em:
<http://www.fsf.org/licensing/essays/free-sw.html>. Acesso em: 30 ago. 2007.
FREE SOFTWARE FOUNDATION. What Is Copyleft? Disponível em:
<http://www.gnu.org/copyleft/copyleft.html>. Acesso em: 03 set. 2007.
FUNDAÇÃO GETÚLIO VARGAS. Estudo Sobre o Software Livre. Brasília:
ITI/FGV, 2005. 121 p. Disponível em: <http://www.iti.gov.br/twiki/pub/Main/Dta/
Estudo_FGV.pdf>. Acesso em: 16 set. 2007.
JAMES, Clare. Leading The Free World. LinuxUser & Developer, [Macclesfield,
UK], n. 38, abr. 2004. Disponível em: <http://www.linuxgreenhouse.org/blog/
tim/brazil/>. Acesso em: 30 ago. 2007.

21
REUTERS BRASIL. Microsoft ataca excesso de ideologia do governo. Terra
Informática, [S.l], 05 jun. 2004. Disponível em: <http://informatica.terra.com.br/
interna/0,,OI319534-EI553,00.html>. Acesso em: 08 set. 2007.

SECRETARIA DE ESTADO DA FAZENDA. Arrecadação do Estado de Minas


Gerais por Município: ICMS e Outras Receitas - Ano 2006. Belo Horizonte,
2006. Disponível em: <http://www.fazenda.mg.gov.br/governo/receita_estado/
arrecmunicipio/ icmsoutrasreceitas/2006/dez_arrecmunicipio_icms.htm>. Acesso
em: 09 out. 2007.

SOCIEDADE PARA PROMOÇÃO DA EXCELËNCIA DO SOFTWARE BRASILEIRO.


O Software Livre nas Prefeituras Brasileiras: Novas alternativas para a
informatização da administração pública. Campinas: Softex/ITI, 2005. 21 p.
Disponível em: <http://golden.softex.br/portal/softexweb/uploadDocuments/
_observatorio/SWL_ITI.pdf>. Acesso em: 30 ago. 2007.

22

Você também pode gostar