quarta-feira, 14 de setembro de 2011

Interface do GNUCASH

Interface

Da primeira vez que você abre o GNUCASH você verá tela de boas vindas. A partir dela a aplicação fornece outras ferramentas para ajudar facilmente encontrar o que você está procurando. Vamos dar uma olhada em algumas das telas comuns e janelas que você verá.

Dica do dia

O GNUCASH fornece a tela de Dicas do Dia para dar dicas uteis na utilização do programa.

Estas dicas fornecem informações uteis para usuários iniciantes. Para ver mais das dicas, clique em avançar para continuar. Se você não quer mais ver esta caixa ao iniciar, desmarque a caixa de seleção ‘Mostrar ao iniciar’. Quando você tiver terminado de visualizar as dicas uteis, clique em Fechar para fechar a tela de Dicas do Dia.

Janela de árvore de contas

Você deve agora ver a janela de contas, a qual aparece como mostrado abaixo. O layout exato da árvore de contas dependerá de quais contas foram selecionadas por padrão durante a configuração da Hierarquia de Novas Contas. Neste exemplo, as contas comuns são mostradas.

A janela de arvore de contas fornece uma visão geral dos dados contidos no arquivo atual. Nele esta contida uma lista de nomes de contas e seus valores atuais. A partir desta janela, é possível abrir qualquer uma das contas. As janelas das contas individuais são chamadas registros das contas. O GNUCASH permite a você abrir tantas janelas de contas quanto você desejar.
No topo desta janela está a Barra de Título, a qual mostra o nome do arquivo (uma vez que você tenha salvo o arquivo). Abaixo desta esta a Barra de Menu. Você pode acessar as opções de menu tanto pelo clique nos cabeçalhos dos menus quanto usando atalhos pelas teclas de acesso (veja esta seção chamada ‘Atalhos de Menu’). Próximo se encontra a Barra de Ferramentas, na qual está contida os botões para funções mais comuns.
A arvore de contas aparece abaixo da Barra de Ferramentas. Uma vez criadas as contas, os nomes das contas aparecerão na arvore de contas. É possível personalizar cada cabeçalho mostrado usando a seta para baixo no canto direito da barra de cabeçalho.
Na parte inferior esta a Barra de Status, na qual mostra a informações das coisas que você possui (Ativo Líquido) e quanto de dinheiro você tem feito (Lucros).

Janela de registro de conta

As janelas de registro das contas são usadas para lancar e editar dados das contas. Como o nome sugere, elas se parecem com cadastro de cheques. Quando você dá um duplo clique em um nome de uma conta na janela de contas, a janela de registro para esta conta se abre.

No capítulo 4: Transaçoes é explicado mais sobre as janelas de registro de conta e como realizar a entrada de dados nela. Por hora, note que as partes de uma janela de registro de conta são similares a uma janela de arvores de contas descrita anteriormente. A barra de Título no topo contém o nome da conta. Abaixo dela, a barra de menu contém as opções de menu relacionadas ao registro de contas. A barra de ferramentas mostra botões para as funções comuns de entrada de dados. A barra de status na parte inferior da janela mostra alguns balanços da conta cobertos no capitulo 4. Na parte de baixo da janela de registro da conta aparecem informações sobre a posição atual do cursor.
Nota: na janela de registro, é possível redimensionar as varias colunas mostradas, mas não se esqueça que a coluna descrição expandirá automaticamente para completar todo o espaço não usado. Entretanto você pode aumentar o tamanho de todas as outras colunas primeiro e então diminuir o tamanho da coluna descrição.

Botões da Barra de Ferramentas

Tanto a janela de arvore de contas quanto a janela de registro de conta contêm botões da barra de ferramentas. Estes botões fornecem acesso rápido como funções comuns tais como Salvar e Abrir na janela de arvore de contas e Gravar e Excluir na janela de registro de conta. Se você não está seguro o que o botão faz, mova o ponteiro do mouse sobre o botão e você poderá ver a descrição da função que aparece.
A seguir está um sumário dos botões da janela de arvore de contas:
  • Salvar – grava o arquivo atual no disco
  • Fechar – fecha a aba atual
  • Abrir, Editar, Novo e Excluir – estas são funções relacionadas às contas. Elas serão discutidas no artigo que trata específicamente de Contas
Botões de registro serão discutidos no artigo específico das Transações.

Itens de Menu

Tanto a janela de arvore de contas quanto a janela de registro de conta contêm cabeçalhos de menu na barra de Menu. Clicando em um cabeçalho de menu são trazidos os itens de menu relacionados ao cabeçalho.
Você pode clicar na conta da arvore de contas e então apontar o mouse sobre o item de menu para ver o que ele faz. Como o ponteiro se move sobre um item de menu, uma descrição do item aparece no canto inferior esquerdo da janela (dentro da barra de status). Para selecionar um item de menu, clique sobre ele.
Você pode também acessar os itens de menu mais comuns em uma janela pelo clique com o botão direito em qualquer lugar naquela janela. Na janela de arvore de contas, isto trará uma lista de itens da conta. Na janela de registro de conta, esta trará uma lista de itens de transações.
Outra maneira de acessar itens de menu é através de teclas de atalho e teclas de acesso, descritos a seguir.

Atalhos de Menu

Todos os itens de menu têm teclas de acesso as quais são marcadas por caracteres sublinhados nos nomes do menu. Pressionando a tecla ALT combinado com a tecla do caractere sublinhado no menu trará os itens do menu para o cabeçalho. Uma vez que os itens de menu são mostrados, digite o caractere sublinhado no item de menu para ativa-lo. Por exemplo, pressionando ALT+F na janela principal trará o menu File, então pressionando S salvará o arquivo. Teclas de atalho são fixas e não podem ser alteradas pelo usuário.
Alguns dos itens mais comumente usados do menu também tem teclas de atalho que diretamente ativa o comando sem precisar passar pela estrutura do menu. Estes atalhos geralmente usam a tecla CTRL, embora possam usar qualquer combinação. Atalhos de menu são mostrados no fim de cada item de menu.

terça-feira, 13 de setembro de 2011

O Básico da Contabilidade

Conceitos da Contabilidade

O GNUCASH é tão fácil de usar que você não precisa ter um conhecimento completo dos princípios de contabilidade para encontrar utilidade no software. Entretanto, você verá que alguns conhecimentos básicos de contabilidade que se mostrarão imprescindíveis, pois o GNUCASH foi concebido usando estes princípios como modelo. É altamente recomendado que você os entenda.

As 5 contas básicas

O grupo de regras das contas básicas relaciona todas as coisas em finanças dentro de cinco tipos fundamentais de ‘contas’. Isto é, tudo que é contabilizado pode ser colocado dentro de uma das cinco contas:

  • Ativos (A) – coisas que você tem.
  • Passivos (P) – coisas que você deve.
  • Patrimônio Líquido [Equidade] (E) – valor líquido global.
  • Receitas (R) – aumenta o valor em suas contas.
  • Despesas (D) – diminui os valores em suas contas.

Está claro que é possível categorizar seu mundo financeiro dentro destes cinco grupos. Por exemplo, o dinheiro em sua conta do banco é um ativo, o cartão de credito ou financiamento é passivo, seu contracheque é uma receita e o custo do jantar da noite passada é uma despesa.

A equação da contabilidade

Com os cinco tipos de contas definidas, qual a relação entre elas? Como um tipo de conta afeta as outras? Primeiramente, o liquido (equidade) é definido pelos ativos e passivos. Isto é, seu patrimônio liquido é calculado pela subtração dos ativos menos o passivo.
Além disso, você pode aumentar o resultado liquido através das receitas e reduzir através das despesas. Isto se torna claro quando você recebe um contracheque que o torna ‘mais rico’ e quando você paga pelo jantar você se torna ‘mais pobre’. Isto é, expressado matematicamente naquilo que é conhecido como a Equação da Contabilidade:
Esta equação deve sempre ser balanceada, uma condição que pode apenas ser satisfeita se você entrar valores em contas múltiplas. Por exemplo: se você recebe dinheiro na forma de receita você deve ver um aumento real de seus ativos. Outro exemplo, você deveria ter um aumento em ativos se você tem um aumento paralelo em passivos.
Esta figura fornece uma visualização gráfica do relacionamento entre as cinco contas básicas. O patrimônio líquido (equidade) aumenta através das receitas e diminui através das despesas. As setas representam o movimento do valor.

Partida dobrada

A equação da contabilidade é o núcleo do método das partidas dobradas. Para toda mudança no valor de uma conta da equação da contabilidade deve existir uma contrapartida em outra. O conceito é conhecido como Princípio do Equilíbrio e é de fundamental importância para o entendimento do GNUCASH e outros sistemas que trabalham com partidas dobradas. No seu trabalho com o GNUCASH, você sempre estará preocupado com no mínimo duas contas para manter o equilíbrio entre contas.
Alterações no balanço (ou transferências de dinheiro) entre contas são feitas pelo débito de uma conta e simultaneamente o crédito em outra. Débitos e créditos contábeis não significam ‘redução’ ou ‘aumento’. Débitos e créditos aumentam certos tipos de contas e reduzem outras. Em contas de ativos e despesas, débitos aumentam o balanço e créditos reduzem no balanço. Em passivo, patrimônio líquido e receitas, os créditos aumentam o balanço e débitos reduzem o balanço.
Esta terminologia de contabilidade pode se confundir para os novos usuários, por isso o GNUCASH permite você usar os termos comuns de depósito e saque. Se você preferir os termos formais da contabilidade, você pode trocar os cabeçalhos das colunas dos registros na aba General sob Preferences.

Conceitos da entrada de dados

Na entrada de dados no GNUCASH você deve estar ciente dos três niveis de organização nos quais o GNUCASH divide seus dados: arquivos, contas e transações. Estes niveis estão presentes em suas ordens de complexidade, um arquivo contem muitas contas e uma conta contem muitas transações. Esta divisão é fundamental para o entendimento de como usar o GNUCASH.

Arquivos

O GNUCASH armazena as informações em arquivos de alto nível. Um arquivo pode ser armazenado em seu computador em um simples arquivo XML (em todas as versões do GNUCASH) ou em um base de dados SQL (na versao 2.4 ou superior).
Nota: SQL é pronunciado com ‘siquel’, então em linguagem falada e escrita diríamos ‘uma base de dados SQL’
Com o arquivo formato XML, o GNUCAH armazena seus dados em arquivos, usualmente no formato comprimido (embora isto pode ser alterado na aba General nas Preferencias da aplicação).
Com armazenamento SQL o GNUCASH armazena seus dados em uma base de dados sob a aplicação que foi escolhida (SQLite3, MySQL or PostgreSQL).
Você precisará de um arquivo ou base de dados principal para cada conjuto de contas a serem mantidas. Para aprender como criar e gerenciar os arquivos .gnucash, veja a seção chamada ‘Armazenando seus dados financeiros’.
Nota: se você acha que você precisa de mais de um conjunto de contas, você deve consultar um contador (ou escriturário) entes de continuar. Muitos usuários provavelmente terão apenas um arquivo de dados.
Arquivos de backup e log são gerados automaticamente pelo GNUCASH quando necessário. Arquivos de backup e log estão descritos na seção chamada ‘salvando e armazenando dados’.

Contas

Uma conta mantem o rastreamento do que você possui, deve, gasta ou recebe. Cada arquivo .gnucash pode conter qualquer numero de contas e cada conta pode conter muitas sub contas em um número arbitrário de niveis. Esta característica simples permite ao GNUCASH muito de sua força no gerenciamento de suas finanças, como você verá nos capítulos adiante.
Exemplos de contas incluem: contas de cheque, contas de investimento, contas de cartão de credito, hipotecas e empréstimos. Cada conta do GNUCASH rastreia a atividade da conta real e pode informar você de seus status.
Além disso, contas são também usadas para categorizar o dinheiro que você recebe ou gasta. Por exemplo, você pode criar contas de despesas para rastrear o dinheiro que você para em coisas especificas ou em mantimentos. Apesar de estas não serem as contas que você recebe de fato, estas permite a você determinar quanto de dinheiro esta sendo gasto em quais áreas.
Contas serão discutidas em maiores detalhes em um artigo exclusivo para elas.

Transações

Uma transação representa o movimento de dinheiro entre as contas. Sempre que você gasta ou recebe dinheiro ou transfere entre contas, estamos falando de transações.
Exemplos de transações são: pagamento da conta do telefone, transferência da conta de investimento para a conta corrente, compra de uma pizza, o saque em terminal de autoatendimento e o deposito do salário. Em breve será publicado um artigo aqui no blog que trata mais profundamente sobre as Transações.
Em partidas dobradas, as transações sempre envolvem no mínimo duas contas – uma conta fonte e uma conta de destino. O GNUCASH gerencia isto pela inserção de uma linha dentro da transação para cada conta que é afetada, e grava estas quantias envolvidas em cada linha. Uma linha dentro de uma transação que grava uma conta e quantidade de dinheiro envolvida é chamada de Split (divisão). Uma transação pode conter um número arbitrário de divisões.
Divisões das transações serão abordadas na seção chamada ‘Transações divididas’.


No próximo artigo trataremos sobre a interface do GNUCASH, em especial sobre suas questoes básicas.

quarta-feira, 7 de setembro de 2011

GNUCASH - Introdução


O GNUCASH é um pacote de software para finanças pessoais. É versátil o suficiente para manter uma rastreabilidade de todas as suas informações financeiras, desde o simples até o muito complexo. É um dos poucos pacotes de software que suporta moedas globais e é o único programa deste tipo open source. O melhor de tudo, o GNUCASH é fácil de aprender a usar.
Então, o que o GNUCASH pode fazer para você? Você pode rastrear suas finanças pessoais em tantos detalhes que você preferir. Se você está apenas começando, use o GNUCASH para manter uma rastreabilidade de seu livro de cheques. Você pode decidir rastrear o dinheiro, bem como compras no cartão de credito para melhor determinar onde seu dinheiro está sendo gasto. Quando você iniciar um investimento, você pode usar o GNUCASH para ajudar a monitorar seu portfolio. Está comprando um veiculo ou uma casa? O GNUCASH ajudará a planejar o investimento a rastrear um pagamento do empréstimo. Se seus registros financeiros abrangem todo o mundo o GNUCASH fornece todo suporte para múltiplas moedas que você precisa.
 
Esta imagem mostra o Plano de Contas com múltiplas moedas e investimentos.
O GNUCASH é adequado para finanças pessoais e também poderoso suficiente para uso nos negócios. Existem muitas características para o negocio, desde o sistema integrado de recebimento e pagamento até a construção de tabelas de taxas. Você encontrará este e outras muitas características para negócio surpreendentemente poderosas e fáceis de usar.

terça-feira, 6 de setembro de 2011

GNUCASH – gerenciador financeiro-contábil


O controle financeiro pessoal exige de todos nós esforços a fim de não temos surpresas desagradáveis do tipo “sobra dia no meu mês e as contas não estão pagas”.
O ditado popular diz que devemos exercitar a economia para alcançar a felicidade praticando o “gastar menos que ganhamos”. É fácil de entendê-la já que conseguindo alcançar este objetivo não sentiremos a tensão e frustração que nos acompanha quando não conseguimos honrar com nossos compromissos financeiros.
Existem alguns mecanismos que podem nos ajudar. Planilhas de custos são comumente utilizadas para estes propósitos. Desde as mais simples tabela de direitos e deveres até as mais elaboradas contendo resultados gráficos, elas podem entregar o resultado final de registrar e visualizar os resultados das ações que tomamos com nosso dinheiro. Entretanto e salvo casos, estas planilhas devem ser construídas por aqueles que a utilizarão. Pode ser uma tarefa trabalhosa conseguirmos que nosso produto desenvolvido mostre facilmente as análises que queremos ver, como por exemplo, relatórios ou valores que se atualizam automaticamente em finais de meses ou anos.
O Microsoft Money é uma boa e completa solução para o gerenciamento financeiro-contábil, porém exige custo de licença e , para nós brasileiros, não existe uma nova versão do produto desde a ver 99.
Fazendo uma busca na internet, fui para no artigo Wikipédia do Money, para saber mais sobre a solução e tive a felicidade de ser curioso para ler a seção de programas similares e encontrei um, baseado em open source, chamado GNUCASH [ir para download]. Despretensiosamente naveguei até a página da iniciativa para conhecer melhor do que se tratava. Tive uma excelente surpresa. Encontrei uma aplicação para gestão financeiro-contábil pessoal e pequenas empresas.
Este software foi concebido para ser fácil de usar, e ao mesmo tempo poderoso e flexível. Poderoso por apresentar ferramentas completas de controle contábil e flexível por deixar o usuário escolher qual o nível de rastreabilidade dos dados financeiros que se quer ter, desde as despesas do dinheiro da carteira no dia a dia, até contas de investimentos em ações e grandes empréstimos. É tão rápido e intuitivo de usar quanto um livro de registro de cheques. É baseado em princípios profissionais de contabilidade para assegurar os que os livros de balanço e relatórios de contas exatos.
Algumas características de destaque são:
  • Lançamentos em partidas dobradas
  • Relatórios e gráficos
  • Transações agendadas
  • Cálculos de financiamentos
O software está na versão estável 2.4.7 bem testada e considerada apropriada para uso do dia a dia. Possui instaladores para MS Windows XP / Vista e 7 e para Mac OS X (Intel e Power PC). A maioria das distribuições LINUX traz empacotado o GNUCASH, embora não seja sempre a versão mais recente. Ainda assim é recomendável usar a versão que vem com a distribuição. Para mais informações sobre as maneiras de instalar o GNUCASH nas distribuições mais famosas do LINUX, consulte o site http://www.gnucash.org/download.phtml (em inglês).
Para ajudar a utilizar as funcionalidades do programa, temos que entender alguns conceitos fundamentais da contabilidade. Os próximos artigos serão orientados a estes conceitos. Até lá.

quinta-feira, 1 de setembro de 2011

UML: Exibição de um Caso de Uso

Visão Geral

Uma exibição de caso de uso captura o comportamento de um sistema, subsistema ou classe como se apresenta para um usuário externo. Isto particiona a funcionalidade do sistema em transações significativas para os atores – usuários do sistema idealizados. As peças de funcionalidades interativas são chamadas de Casos de Uso. Um Caso de Uso descreve uma interação com atores como uma sequencia de mensagens entre o sistema e um ou mais atores. O termo ator inclui seres humanos, tais como outros computadores ou processos. A figura 1 mostra um diagrama de caso de uso para uma aplicação de catálogo telefônico. O modelo foi simplificado para o exemplo.



Ator

Um ator é a idealização de uma pessoa externa, processo ou coisa interagindo com um sistema, subsistema ou classe. Um ator caracteriza uma interação que usuários de fora podem ter com o sistema. Em tempo de execução, um usuário físico pode estar vinculado a múltiplos atores dentro do sistema. usuários diferentes podem estar vinculados a um mesmo ator e portanto representa múltiplas instancias da mesma definição de ator.
Cada ator participa em um ou mais casos de uso. Ele interage com o caso de uso (e, portanto com o sistema ou classe que pertence ao caso de uso) pela troca de mensagens. A implementação interna de um ator não é relevante no caso de uso; um ator pode ser caracterizado suficientemente por uma série de atributos que define seu status.
Atores podem ser definidos em hierarquias de generalização, nas quais uma descrição abstrata do ator é compartilhada e aumentada por uma ou mais descrições especificas de atores.
Um ator pode ser um ser humano, outro sistema computacional ou um processo executável.
Um ator é representado como um pequena imagem de boneco palito como o nome abaixo.

Caso de Uso


Um caso de uso é uma unidade coerente de uma funcionalidade externamente visível fornecida por uma unidade do sistema e expressada por sequências de mensagens trocadas entre o sistema e um ou mais atores. O proposito do caso de uso é definir uma peça de comportamento coerente sem revelar a estrutura interna do sistema. A definição de caso de uso inclui todo o comportamento implica – a sequencia da linha principal, variações diferentes do comportamento normal e todas as condições excepcionais que podem ocorrer com tal comportamento, junto com a resposta desejada. A partir do ponto de vista do usuário, esta pode ser uma situação anormal. A partir do ponto de vista do sistema, elas são variações adicionais que devem ser descritas e manipuladas.
No modelo a execução de cada caso de uso é independente uma das outras, embora uma implementação de caso de uso pode cria dependências implícitas entre eles devido a objetos compartilhados. Cada caso de uso representa uma peça ortogonal de funcionalidade cuja execução pode ser misturada com a execução de outro caso de uso.
A dinâmica de um caso de uso pode ser especificada por interações UML, mostrado como diagramas de máquina de estado, diagramas de sequencia, diagramas de colaboração ou descrições informais em textos. Quando casos de uso são implementados eles são percebidos por artefatos de colaborações entre classes do sistema. Uma classe do sistema pode participar em múltiplas colaborações e, portanto em múltiplos casos de uso.
Ao nível do sistema, os casos de uso representam o comportamento externo do sistema inteiro visíveis aos usuários do lado de fora. Um caso de uso é como a operação do sistema, uma operação acionada por um usuário externo. Diferente de uma operação, portanto, um caso de uso pode continuar a receber entradas dos seus atores durante a sua execução. Casos de uso também podem ser aplicados internamente em unidades menores de um sistema como um subsistema ou uma classe individual. Um caso de uso interno representa o comportamento que uma parte do sistema apresenta para o restante. Por exemplo, um caso de uso para uma classe representa um pedaço coerente de funcionalidade que uma classe fornece para outras classes que desempenham certos papeis dentro do sistema. Uma classe pode ter mais que um caso de uso.
Um caso de uso é uma descrição lógica de uma fatia de funcionalidade do sistema. Não é uma construção manifesta na implementação de um sistema. Ao invés disso, cada caso de uso deve ser mapeado para as classes que constroem um sistema. O comportamento do caso de uso é mapeado para as transições e operações das classes. Na medida em que cada classe pode desempenhar múltiplos papéis na construção de um sistema, isto pode, portanto perceber porções de múltiplos casos de uso. Parte da tarefa de design é encontrar classes de construção que claramente combinem os papeis próprios para construir todos os casos de uso sem introduzir complicações desnecessárias. A elaboração de casos de uso pode ser modelada como um conjunto de um ou mais colaborações. Uma colaboração é a percepção (realization) de um caso de uso.
Um caso de uso pode participar em vários relacionamentos em adição a associações com atores.


 Relacionamento
 Função
 Notação
 Associação
 O caminho de comunicação entre um ator e o caso de uso no qual participa
 
 Extends (ou extend)
 A inserção de um comportamento adicional para dentro de um caso de uso base que não possui este comportamento adicionado
 
 Use case generalization
 Um relacionamento entre um caso de uso geral e um caso de uso mais especifico que herda e adiciona características para o primeiro
 
 Includes (ou include)
 A inserção de comportamento adicional para um caso de uso que explicitamente descreve a inserção
 

Um caso de uso é desenhado como uma elipse com seu dentro ou abaixo. Ele é conectado por linhas solidas aos atores que se comunicam com ele.
Embora cada instancia de caso de uso seja independente, a descrição de um caso de uso pode ser fatorada em outros, que sejam casos de uso mais simples. É similar à maneira de descrição de classe que pode ser definida incrementalmente a partir de descrições de superclasses. Um caso de uso pode simplesmente incorporar o comportamento de outros casos de uso como fragmentos de seu próprio comportamento. Isto é chamado como um relacionamento de include. Neste caso, o novo caso de uso não é um caso especial do caso de uso original e não pode ser substituído por ele.
Um caso de uso pode ser também definido como uma extensão incremental de um caso de uso base. Esta é chamada um relacionamento extends. Pode existir várias extensões do mesmo caso de uso base que pode tudo ser aplicado junto. As extensões para o caso de uso base adicionam isto a sua semântica; isto é o caso de uso base é instanciado, não a extensão de casos de uso.
Os relacionamentos de include e extension são desenhados como setas tracejadas com as palavras chave «include» ou «extend». O relacionamento include aponta para o caso de uso a ser incluído; o relacionamento extend aponta do caso de uso a ser extendido.
Um Caso de uso também podem ser especializado em um ou mais casos de uso filho. Isto é a generalização do caso de uso. Qualquer caso de uso filho pode ser usado em uma situação na qual o caso de uso pai é esperado.
A generalização é desenhada da mesma maneira que qualquer generalização, como uma linha a partir do caso de uso filho para o caso de uso pai com triangulo grande apontado para o caso de uso pai. A Figura 2 mostra os relacionamentos da aplicação do catálogo de vendas.