Pergunta

Em outubro, Kristopher Johnson perguntado sobre Padrões de Contabilidade software de design

Ele recebeu várias respostas, mas todos eles foram basicamente o mesmo, apontando para Martin Fowlers Contabilidade .

Eu realmente não encontrar padrões Fowlers tão útil. Eles parecem demasiado complexas para um sistema de contabilidade mais simples, por isso estou remoendo questão de Kristopher e procurando mais opções, de preferência para sistemas menores.

Este seria essencialmente um sistema baseado em dinheiro em que os usuários são dadas contas semelhantes a um banco. Eles podem fazer login (baseado na web) e verificar saldos, fazer certas transações, etc ..

Eu acho que seria mais semelhante a uma empresa Paypal ou cartão de crédito de um banco, mas em uma escala menor. Ele não terá que lidar com impostos, ou amortizações, ou qualquer das coisas que você veria em um sistema de contabilidade de pleno direito. saldos apenas, e transações.

Assim ponto pode alguém a quaisquer recursos adicionais para a contabilização de design de software com base ou mesmo boas implementações de um sistema de contabilidade simples?

Foi útil?

Solução

Assim ponto pode alguém a quaisquer recursos adicionais para a contabilização de design de software com base ou mesmo boas implementações de um sistema de contabilidade simples?

O href="http://www.freedmoney.org/index/" rel="noreferrer"> Projeto Dinheiro parece útil para suas necessidades. Ele fornece uma estrutura básica de transação e equilíbrio. É intencionalmente simples e abstrata, por isso pode oferecer insights de design úteis, especialmente se você quiser testar novas idéias.

Cyclos é mais prático. Abrange as contas de usuários e transações.

MyBanco é outro sistema bancário código aberto, apoiando contas bancárias de usuários e acesso baseado em web. Ele pode ser usado com ambas as moedas virtuais e reais.

Todos estes são de fonte aberta para que você pode conferir o docs, arquitetura e código diretamente.

Como um aparte, se você está realmente interessado apenas em saldos e transações, então ele soa como qualquer padrão ou projeto relacionado à reputação, karma, ou sistemas de pontos provavelmente terá sobreposição relevante ...

Outras dicas

padrões de Fowler são não excessivamente complexa. Eles são sobre o que é necessário. É improvável que você será capaz de construir algo mais simples, sem ficar em apuros, quer com os usuários finais ou o contador.

Quando eu implementar contabilidade é o modelo típico de um revistas, transações e contas e tipos de conta.

tblTransactions
    - Amount
    - AccountID1
    - AccountID2
    - Type [CR/DR]
    - DateEntered

Eu, então, também têm um tblJournals quais grupos operações, com base óbvio. Você também pode adicionar JournalTypes, que detêm uma descrição geral de que tipo de revista é, para que possa detectar coisas agradáveis ??(reverals, etc).

É bom, porque reversões sob este modelo é trivial. Você pode apenas reunir todas as transações para o seu jornal, e trocar o tipo.

Os tblTransactions tem um gatilho, e o gatilho atualiza um 'CalculatedBalance' contra o específica contas, dependendo do tipo. Você pode, então, também executar um relatório durante um determinado período, e assim por diante.

Ele não exige muito conhecimento de contabilidade para implementar isso e é simples, mas eficaz.

pesquisa no Google por "duas fases"

Não é um padrão de design em si, mas o que você precisa para tornar as operações certeza que como "transferência de US $ montante de US $ account1 para US $ account2" não nunca "retirar" sem o "depósito" de correspondência ... ou seja, se o poder sai antes do " depositar" completa, a 'retirar' é revertida (desfeita)

Transações Commit-able são feitos de desfazer-capazes (rollback-able) sub-transações ...

  1. permissões adquirem necessário: rejeição trivial, "insuficiente fundos"
  2. começar uma "fase dois"
  3. Adicione sub-transações
  4. commit ou roll-back

Atenção: matemática BCD foi inventada para evitar arredondamento erro na Base de Dados de 10 de matemática. Você não menciona questões internacionais, mas você precisa de ponto fixo ou matemática "grande precisão", conversão de moeda, e todo o resto ...

Eu sou realmente o autor de MyBanco, se você gostaria de alguma ajuda, basta soltar-me um e-mail:)

Loja dinheiro como centavos (inteiro) em vez de dólares (float). Não é um projeto, mas é provavelmente mais útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top