Fórum [OT] Dicas de um Sistema de contas a receber. #324029
22/06/2006
0
´Contas a receber´. É a primeira vez que desenvolve esse tipo de módulo
e gostaria de obter algumas dicas de quem ja desenvolveu algo desse tipo.
De imediato, eu pensei no seguinte:
TB_CONTAS_RECEBER Campo - Tipo - Descrição --------------------------- Código - Inteiro - Sequencial Codigo Cliente - Inteiro - Código do cliente da tabela de cliente Código Servico - Inteiro - Código do tipo de servico Data Vencimento - Data - Data do vencimento escolhido pelo cliente, padrão 30/xx Desconto - inteiro - Desconto caso tenha nessa cobrança, o valor da cobrança e o desconto padrão existirá no cadastro de tipo de servico. TB_CONTAS_RECEBER_PENDENTES Código - Inteiro - Sequencial Codigo Cobranca - Inteiro - Código da tabela tb_contas_receber Data cadastro - Date - Data que a cobrança foi gerada Status - Char - Satus da cobrança (Vencida, Aguardando)
uma rotina, executada todo mes, alimentará a tabela tb_contas_receber_pendentes
de acordo com os cadastros da tabela tb_contas_receber
estaria faltando algo?? há algo desnecessário? alguma dica pro desenvolvimento
desse módulo?
qualquer coisa será bem vinda :)
abraço.
Otto
Curtir tópico
+ 0Posts
22/06/2006
Adriano Santos
TB_RECEBER
Codigo - Inteiro - Auto Numérico
Codigo_Cliente - Inteiro
Descricao_da_Conta - String - Descrição do que se referente a conta/recebimento.
Data_Entrada - TimeStamp - Formato completo
Data_Vencimento - TimeStamp - Formato completo
Data_Pagamento - TimeStamp - O cara pode pagar atrasado, então seu cliente poder querer um histórico de atrasos, juros e mora.
Codigo_Conta - Inteiro - Um numero do documento
Juros - Double -
Mora - Double -
Valor_Real - Double
Valor_Pago - Pra saber se o cara pagou a menos ou a mais (com juros)
STATUS - String(1)
E mais alguns campos que não me recordo. O Status é o mais importante pra mim, pois eu mudo o status de acordo com o momento/situação por exemplo:
A - ABERTO
B - BAIXADO
E - EXCLUIDO
S - ESTORNADO
E outros que vc pode criar. Acho isso interessante, pq vc pode trabalhar com uma série de filtros em cima o Status e ainda pode preparar o sistema para receber arquivo TXT de bancos de maneira mais prática.
Contas à receber e pagar tem que ser o mais simples possível.
Se quiser, eu tenho um software que comecei a fazer pro meu pai, mas parei o desenvolvimento. Já tem uma série de rotinas, não todas mas vc pode analizar como eu fiz. É só dar um toque.
Gostei + 0
22/06/2006
Otto
gostaria sim, de dar uma olhada nesse seu sistema pra ter mais idéias sobre o desenvolvimento do meu, se possivel, poderia enviar-me por email?
-> otto3d@gmail.com
obrigado.. abraço :)
Gostei + 0
22/06/2006
Adriano Santos
Está em Delphi 7.0 com Firebird.
Só tenho o projeto em casa, me passa um email em artes@doiscliques.com só pra eu lembrar, e qdo chegar eu compacto e deixo no meu FTP ai vc pega blz?
Gostei + 0
22/06/2006
Adriano Santos
Elias, peguei seu email. Fique no aguardo.
Gostei + 0
22/06/2006
Adriano Santos
A base e o script da base estão juntas no arquivo .zip.
Abraço
http://www.doiscliques.com/pub/softgraf.zip
Gostei + 0
23/06/2006
Weber
Tabela baixa:
codigo_recpag
codigo_baixa
valor_baixa
valor_juros
data_baixa
bla bla bla
A tabela acima vai ser util quando determinado cliente efetua varias baixas para um mesmo lançamento, é o que chamamos de baixa parcial, utilizando esta tabela será possivel identificar em que datas e valores determinada conta foi baixada.
Tabela Caixa
codigos_recpag e de baixa
Tipo (dinheiro, cheque, cartao, etc)
Numero do cheque
Banco
Agencia
Valor
bla bla bla
Tabela Caixa será utilizada para informar como o recebimento foi feito, se em dinheiro ou cheque por exemplo, ou parte em dinheiro e parte em cheque, está tabela é meio caminho andado para o controle de conta corrente.
Na minha tabela recpag existe um campo que eu chamo de valor pago e outro campo que eu chamo de valor pendente.
O campo valor pago é feito por uma trigger que pega a soma dos resultado da tabela baixa, tendo o valor pago na tabela principal fica fácil para listar em relatorios. O campo valor pendente é um campo computed by que é o valor original + juros + multa - desconto - valor pago, em todas as telas eu apresento para o usuário sempre o valor pendente
Gostei + 0
23/06/2006
Adriano Santos
Weber, seu esquema parece que enriquesse ainda mais o que costumo fazer. Você usa também algum esquema para Centro de Custos?
Tipo, tenho duas tabelas (neste sistema que passei pra galera não fiz) CentroCusto e SubCentroCustos mais ou menos assim:
[quote:9d656eef39=´TABELA CENTRO DE CUSTOS´]
CAMPO |TIPO |DESCRICAO CODIGO |INTEGER |UM AUTO NUMÉRICO DA VIDA DESCRICAO |VARCHAR |DESCRIÇÃO DO CENTRO DE CUSTOS
[/quote:9d656eef39]
[quote:9d656eef39=´TABELA SUB CENTRO DE CUSTOS´]
CAMPO |TIPO |DESCRICAO CODIGO |INTEGER |UM AUTO NUMÉRICO DA VIDA CODIGO_CENTRO |INTEGER |CODIGO DO CENTRO DE CUSTOS (VINCULO) DESCRICAO |VARCHAR |DESCRIÇÃO DO SUB CENTRO DE CUSTOS
[/quote:9d656eef39]
Repare que é algo bem simples. Toda vez que o usuário vai cadastrar um novo contas à pagar/receber ele é obrigado a alocar isso em um centro de custos. Então imagina a situação:
[quote:9d656eef39=´Compras do Mês (Financeiro)´]
[*] 10 caixas de canetas.
[*] 01 novo computador.
[*] Despesas com Office-Boy.
[*] Produtos de limpeza.
[*] Gasolina do carro do chefe.
[*] Serviço de internet
[*] Telefone
[*] Água
[*] Aluguel
[*] Mensalidade Seguro
[/quote:9d656eef39]
Cada compra será um registro da tabela ContasPagar. Sendo que cada uma irá entrar em um centro-custos, veja:
[quote:9d656eef39=´Centros de Custos no sistema´]
ESCRITÓRIO OFFICE-BOY PAPELARIA INFORMÁTICA GASOLINA/ÁLCOOL DIVERSOS DESPESAS FIXAS VEÍCULOS ALUGUEIS INFORMÁTICA DIVERSOS
[/quote:9d656eef39]
[quote:9d656eef39=´Onde cada despesa será lançada???´]
[*] 10 caixas de canetas = Escritório >> Papelaria [*] 01 novo computador = Escritório >> Informática [*] Despesas com Office-Boy = Escritório >> Office-boy [*] Produtos de limpeza = Escritório >> Diversos [*] Gasolina do carro do chefe = Escritório >> Gasolina/Alcoól [*] Serviço de internet = Dispesas Fixas >> Informática [*] Telefone = Dispesas Fixas >> Diversos [*] Água = Dispesas Fixas >> Diversos [*] Aluguel = Dispesas Fixas >> Alugueis [*] Mensalidade Seguro = Dispesas Fixas >> Veículos
[/quote:9d656eef39]
Daí nas tabelas contas à receber e contas à pagar eu coloco dois campos para dizer o CentroCustos e SubCentro custos. Imagina agora seu cliente dizendo assim:
Pow, como que eu sei quanto gastei em PAPELARIA no mês tal?
Pow, como que eu sei quanto gastei em DESPESAS FIXAS no mês tal?
Isso pode ser aplicado também no contas a receber. Cada vez que o cara lança algo, ele vai lançar no centro de custos que pode ser:
[quote:9d656eef39=´Centros de Custos no sistema´]
VENDAS VENDAS NO ESTADO VENDAS FORA DO ESTADO VENDAS COM CARTÃO VENDAS À VISTA
[/quote:9d656eef39]
Aqui eu chutei, tava sem inspiração já, hehe, mas o nosso cliente fica a vontade para criar qualquer centro de custo tanto para controlar o que entra quanto para o que sai. Os relatórios ficam mamão com açucar.
[quote:9d656eef39=´Tudo que gastei em papelaria´]
SELECT * FROM CONTAS_PAGAR WHERE CENTRO_CUSTO=:CENTRO_CUSTO AND SUB_CENTRO=:SUB_CENTRO
[/quote:9d656eef39]
Gostei + 0
23/06/2006
Weber
plc_codigo varchar(8 )
plc_descricao varchar(100)
o cadastro fica mais ou menos assim:
2. . => DESPESAS
2.01. => ADMINISTRATIVA
2.01.001 => TELEFONE FIXO
Como eu utilizo firebird ficou facil montar uma view que traz corretamente na tela cada nivel que eu chamo de nivel1 nivel2 e nivel3, o usuario sempre informa na tela do sistema o nivel3 no caso 02.01.001
Para ligar isto ao RECPAG existe uma tabela que grava os planos de conta (centro de custo), esta tabela grava somente os codigos de ligacao e o valor, lembrando que o usuario pode ter planos de contas diferentes para um mesmo contas a pagar ou receber. Dando um exemplo pratico, minha empresa tem clientes de SISTEMA, HOST e MANUTENÇÃO porém um unico contrato e consequentemente um unico RECEBER, é o plano de contas que me diz quanto de que.
Na tela eu faço o controle do valor total do RECPAG manualmente, ou seja, o edit valortotal é readonly=false.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)