CONTAS A RECEBER - PAGAMENTO PARCIAL
Boa noite, galéra do vbmania.
Após muito tempo, estou de volta com um questionamento e creio que alguns de vocês já sabem como sanar isso da melhor maneira possÃvel.
Bom, sem delongas o meu problema é o seguinte.
Tenho um contas a receber que gera parcelamentos em promissórias, até aqui tudo ótimo.
Estrutura de tabela:
tbContasReceber (Codigo, Cliente, ValorTotal, QtdeParcelas, DataDocumento, NumeroDocumento, Situacao, DataQuitacao)
tbContasReceberParcelas (CodigoContaReceber, Parcela, Valor, DataVencimento, DataPagamento, Juros, Multa, Situacao)
Agora vem o problema, pois se um cliente não tiver todo o dinheiro para pagar a primeira parcela como procederei da melhor forma?
Tipo assim, melhor forma em estrutura de dados e lógica de programação.
Vamos lá, bolando a situação:
O cliente comprou uma roupa que custou R$ 100,00 ai o mesmo dividiu em 3 vezes tornando as parcelas nos seguintes valores
34,00 primeira parcela
33,00 segunda parcela
33,00 terceira parcela
Ai no dia de pagar os 34,00 reais o cliente tem somente 20,00 fica ainda um débito de 14,00
é nesse ponto que estou com a dúvida da melhor técnica.
Eu pensei assim:
Na tabela de parcelas acrescentar um campo [Ô]ValorPago[Ô] e deixo a parcela em aberto caso ainda não deu o valor da parcela.
Isso me possibilitaria cobrar juros e/ou multa no próximo pagamento.
Outra situação é pegar o valor da diferença e recalcular para o cliente nas duas ultimas parcelas, mas isso não me daria a possibilidade de cobrar juros e/ou multa.
Outra situação é criar uma nova tabela de recebimentos parciais da parcela
Como proceder, alguém tem uma sugestão que ajude tanto via banco na modelagem quanto no sistema?
Só preciso da lógica, não estou precisando do código.
Mas para todo caso uso access / sql server / oracle e linguagem de programação vb6, vb.net e c#
Deus abençoe a todos e conto com a ajuda de todos.
Após muito tempo, estou de volta com um questionamento e creio que alguns de vocês já sabem como sanar isso da melhor maneira possÃvel.
Bom, sem delongas o meu problema é o seguinte.
Tenho um contas a receber que gera parcelamentos em promissórias, até aqui tudo ótimo.
Estrutura de tabela:
tbContasReceber (Codigo, Cliente, ValorTotal, QtdeParcelas, DataDocumento, NumeroDocumento, Situacao, DataQuitacao)
tbContasReceberParcelas (CodigoContaReceber, Parcela, Valor, DataVencimento, DataPagamento, Juros, Multa, Situacao)
Agora vem o problema, pois se um cliente não tiver todo o dinheiro para pagar a primeira parcela como procederei da melhor forma?
Tipo assim, melhor forma em estrutura de dados e lógica de programação.
Vamos lá, bolando a situação:
O cliente comprou uma roupa que custou R$ 100,00 ai o mesmo dividiu em 3 vezes tornando as parcelas nos seguintes valores
34,00 primeira parcela
33,00 segunda parcela
33,00 terceira parcela
Ai no dia de pagar os 34,00 reais o cliente tem somente 20,00 fica ainda um débito de 14,00
é nesse ponto que estou com a dúvida da melhor técnica.
Eu pensei assim:
Na tabela de parcelas acrescentar um campo [Ô]ValorPago[Ô] e deixo a parcela em aberto caso ainda não deu o valor da parcela.
Isso me possibilitaria cobrar juros e/ou multa no próximo pagamento.
Outra situação é pegar o valor da diferença e recalcular para o cliente nas duas ultimas parcelas, mas isso não me daria a possibilidade de cobrar juros e/ou multa.
Outra situação é criar uma nova tabela de recebimentos parciais da parcela
Como proceder, alguém tem uma sugestão que ajude tanto via banco na modelagem quanto no sistema?
Só preciso da lógica, não estou precisando do código.
Mas para todo caso uso access / sql server / oracle e linguagem de programação vb6, vb.net e c#
Deus abençoe a todos e conto com a ajuda de todos.
Cara eu faço assim,
Valor = 10
Valor pago = 5
Altero o valor do registro pra 5 e valor pago 5 tb e crio um novo registro pendente com o valor =5.
Acredito ser a forma mais pratica pra se fazer isso.
Valor = 10
Valor pago = 5
Altero o valor do registro pra 5 e valor pago 5 tb e crio um novo registro pendente com o valor =5.
Acredito ser a forma mais pratica pra se fazer isso.
No seu exemplo ficariam 4 registros
Valor Vlr Pago
20,00 20,00
14,00
33,00
33,00
Valor Vlr Pago
20,00 20,00
14,00
33,00
33,00
Colega FILMAN,
Partindo do princÃpio da prática, eu faço assim:
Dou baixa na parcela de R$ 34,00, om valor de quitação R$ 20,00 (valor_em_reais = R$ 34,00, dt_quitacao = [ô]23/03/2017[ô], valor_pago_na_quitacao = 20.00).
E crio uma outra conta, no valor de 14,00 + multa + juros para a data xx/xx/xxxx, onde tem um campo de observações não editáveis com o texto: [Ô]valor residual da conta xxx, valor de R$ 34,00 quitados em xx/xx/xxxxx no valor de R$ 20,00[ô].
Tudo de bom.
Citação:Ai no dia de pagar os 34,00 reais o cliente tem somente 20,00 fica ainda um débito de 14,00
é nesse ponto que estou com a dúvida da melhor técnica.
Partindo do princÃpio da prática, eu faço assim:
Dou baixa na parcela de R$ 34,00, om valor de quitação R$ 20,00 (valor_em_reais = R$ 34,00, dt_quitacao = [ô]23/03/2017[ô], valor_pago_na_quitacao = 20.00).
E crio uma outra conta, no valor de 14,00 + multa + juros para a data xx/xx/xxxx, onde tem um campo de observações não editáveis com o texto: [Ô]valor residual da conta xxx, valor de R$ 34,00 quitados em xx/xx/xxxxx no valor de R$ 20,00[ô].
Tudo de bom.
eu tbm finalizo a parcela como baixada e crio outra com o residual. O que vc tem que atentar, é que estas novas parcelas residuais que são criadas, devem conter uma flag de identificação, pois em um demonstrativo de vendas por perÃodo, ela não pode entrar, pois não são vendas e sim restos a pagar de baixas parciais.
Galera, agradeço a ajuda de todos. Estão sendo de ótima valia para mim.
Vou esperar mais alguém se pronunciar para que eu possa tirar as minhas conclusões.
Mas vou na linha de vocês que é a minha opção principal.
SINCLAIR, você disse o seguinte:
Nesse caso você calculou o juros e multa para uma data futura que possivelmente o cliente estipulou que iria pagar, certo?
Mas e se ele pagar antes, não seria melhor calcular esse juros e multa no dia do pagamento?
FUTURA, você disse:
Como seria esse flag que você está mencionando.
Vou esperar mais alguém se pronunciar para que eu possa tirar as minhas conclusões.
Mas vou na linha de vocês que é a minha opção principal.
SINCLAIR, você disse o seguinte:
Citação:E crio uma outra conta, no valor de 14,00 + multa + juros para a data xx/xx/xxxx, onde tem um campo de observações não editáveis com o texto: [Ô]valor residual da conta xxx, valor de R$ 34,00 quitados em xx/xx/xxxxx no valor de R$ 20,00[Ô].
Nesse caso você calculou o juros e multa para uma data futura que possivelmente o cliente estipulou que iria pagar, certo?
Mas e se ele pagar antes, não seria melhor calcular esse juros e multa no dia do pagamento?
FUTURA, você disse:
Citação:eu tbm finalizo a parcela como baixada e crio outra com o residual. O que vc tem que atentar, é que estas novas parcelas residuais que são criadas, devem conter uma flag de identificação, pois em um demonstrativo de vendas por perÃodo, ela não pode entrar, pois não são vendas e sim restos a pagar de baixas parciais.
Como seria esse flag que você está mencionando.
seria um campo de status pra identificar que não é uma parcela de venda, e sim residual, pois se somar ela em relatórios ou consultas, distorce os valores.
Compreendi, é que no seu caso você não muda o valor da parcela, você mantem o mesmo valor.
Certo. Obrigado pela resposta.
Certo. Obrigado pela resposta.
Amigo, na tabela: tbContasReceber, deverá ser mantido o valor original da promissória. Qdo houver um pagamento parcial, este valor deverá ser guardado na tabela: tbContasReceberParcelas, então teremos todos os valores necessários para atender as necessidades em relatórios que possam ser solicitados. Todas as tabelas deverão ter os devidos relacionamentos. Daà qdo. vc gerar uma posição atual de uma determinada promissória, o programa deverá ler a tabela: tbContasReceber e consultar a tabela: tbContasReceberParcelas para verificar se há algum valor para deduzir e fazer a amostragem do valor residual, gerando informações de qdo. foi feito o pagamento parcial e dizer o saldo devedor da promissória. Na tabela: tbContasReceberParcelas, só será incluÃdo registros se houver pagamentos parcelados é lógico.
Porque se deve guardar o valor original do tÃtulo e valor de pagamento parcial, se o sistema for alimentar (integrar) o sistema contábil, então estas informações deverão ser informadas de maneira obedecendo a lógica cronológica dos acontecimentos.
Quem sabe, fui útil.......
Abraços
Porque se deve guardar o valor original do tÃtulo e valor de pagamento parcial, se o sistema for alimentar (integrar) o sistema contábil, então estas informações deverão ser informadas de maneira obedecendo a lógica cronológica dos acontecimentos.
Quem sabe, fui útil.......
Abraços
isso, não mudo pra não perder o histórico... ai fica a original, com o valor original e o recebido em outro campo, e gero a nova com o resto a pagar..
Eu colocaria o campo ValorPago para facilitar o cálculo de juros e também para
manter tudo em uma única tabela.
manter tudo em uma única tabela.
Faça seu login para responder