Pergunta

Estou construindo uma simples contabilidade aplicativo a ser usado para finanças pessoais.

Um usuário pode manter o controle de compras, os próximos contas, depósitos recorrentes, etc. Será verrrrry simples.

Duas perguntas:

1) Qualquer conselho que deve ter em mente? Obviamente, eu vou usar transações se for o caso, mas tipos de dados apropriados e outras considerações seria bom saber.

2) Existem APIs você conhece que eu poderia usar para obter periodicamente o saldo do usuário a partir de seu banco? ou seja, uma API que iria torná-lo simples para consultar a sua conta, independentemente de se eles estão em Chase, Bank of America ou outro?

Muito obrigado,

Michael

Foi útil?

Solução

Tendo apenas a versão 1.0 de algum personalizado escrito on-line software de contabilidade para organizações sem fins lucrativos relacionadas com a escola completou Eu tenho alguns conselhos:)

  • Use contabilidade de dupla entrada padrão / contabilidade (débitos e créditos), como base para o seu motor financeiro. Você vai encontrar isso irá atendê-lo bem quando se trata de não só armazenar dados sobre transações, mas também a geração de relatórios. Ativos = Liabilies + equidade é uma abordagem experimentada e verdadeira para rastrear quem possui o quê.
  • tipos Use decimais para o dinheiro.
  • Usar transações.
  • Mantenha a interface tão simples como possível.
  • Você vai precisar de ter um método para permitir que o usuário para reconciliar o banco registros com seus próprios registros. Puxando em dados do banco ajudaria este processar, mas você precisará fornecer o utilizador com um método para comparar. Você pode usar extratos bancários para esta processo.
  • O banco é sempre considerado para ser certo. Se houver uma discrepância entre o banco e os registros do usuário ... o culpa quase sempre é com o usuário registros.
  • Certifique-se de fornecer algum tipo de recurso de backup para o usuário
  • proteger os dados de usuários
  • Certifique-se de entender completamente o processo estiver a automatizar. Não faça suposições. Executar suas idéias por um contador que é especialista em finanças pessoais. Tendo esta habilitação vai ajudar um pouco.
  • Esteja preparado para escrever um monte de código. Contabilidade software tem sido em torno de anos, a lista de "características padrão" para um pacote de contabilidade típico tem crescido, e há muito poucos jogadores no mercado. Se você está pensando em vender este produto você precisará fornecer essas características padrão e, em seguida, encontrar uma maneira de diferenciar-lo de que já está disponível com recursos adicionais.
  • TESTE TESTE TESTE e teste novamente. Vocês estão mantendo registros dos povos transações financeiras pessoais (dinheiro deles). Erros não forem tomadas de ânimo leve.

Outras dicas

Vou acrescentar algumas dicas como eu estou terminando um sistema POS que incide sobre CONTABILIDADE - ou seja, as compras, despesas, faturamento, contas, cartões de crédito, dinheiro, veículos, etc todos precisam ser monitorados. Os conceitos acabará por ser aplicado a um sistema de pessoal.

O melhor conselho é olhar para a sua papelada e tentar formar seu banco de dados em torno do que você precisa fazer para traduzir seus documentos físicos para o computador. Combine isso com o primeiro par de capítulos de um livro de contabilidade que fala sobre contas, plano de contas e diários.

Os livros que eu usei: Contabilidade ao seu alcance por George Murray Finanças e Contabilidade para Entrepenuers por Suzanne Caplan Introdução à Contabilidade por Ainsworth Contabilidade, Tecnologia da Informação e Business Solutions por Hollander

Depois de ter seus documentos de origem inseridos no sistema, você pode, em seguida, executar consultas para chegar a suas respostas. Fazendo isso eliminou o conceito de "General Ledger" e "balancete", porque você simplesmente corrigir ou adicionar aos seus documentos de origem. Assim, o "General Ledger" torna-se um cálculo. Que foi super confuso para mim. Mais uma vez, todos os documentos de origem será colocado em 'Revistas', que podem ser suas tabelas de banco de dados. Eu uso uma revista geral, um jornal compras, um pagamentos ou desembolsos de caixa diário, um diário de vendas, e um diário de recebimentos. Tenha em mente o termo "CASH" refere-se a dinheiro, crédito, cheque, débito.

Por exemplo, eu tenho um "diário geral", que é basicamente o que você precisa. Neste jornal I manter o controle de 'recibos fonte'. Um recibo pode ser uma fatura, como o tempo Warner Cable, que tem um número de conta. Nesse caso, eu criar uma 'conta' para a Time Warner. A conta Warner tempo irá conectar-se a um 'plano de contas' que especificam o tipo de despesa como "internet". A factura fica, então, entrou com a data, a quantidade, etc. As ligações factura para a conta para a Time Warner. Uma vez que a factura é inserido não é remunerado. Você, então, precisa adicionar pagamento. Claro que você pode pagar a conta na íntegra, você deve, mas você pode precisar fazer dois pagamentos, ou pagamentos de divisão, ou não pagar na íntegra. Isso vai levar você a um 'Pagamentos Journal" em combinação com a 'fatura para pagamentos Tabela de pesquisa', que precisa ter uma quantidade aplicada para aplicar a uma factura. Este montante aplicado é importante porque você pode ter 4 não pagos Time Warner contas e você acabou de enviar mais de US $ 200 em pânico para obter a sua volta conta no. Este pagamento precisa então dividida entre as facturas com valores a aplicar a cada um. E, claro, a conta de pagamento vai ligar de volta para as suas contas.

Para o caso de entrar um recibo, a conta não é usado. Digamos que você pegar um pouco de lingerie em embrasse-moi, e pagar em dinheiro. Seu sistema irá tomar o fornecedor, embrasse-moi, a data, o custo, eu adicionei um 'imposto de uso' no caso de você comprar através da internet e não imposto pagamento, mas você ainda deve isso, a quantidade e a 'Carta das contas, que é essencialmente o que categoria é a sua despesa. Isso tudo vai para o diário geral. Na mesma forma você terá o método de pagamento. Fiz uma forma simplificada para uma despesa + pagamento exata como isso é muito comum. Se o pagamento é dividido em seguida, você precisará digitar o recebimento usando um formulário, em seguida, criar vários pagamentos ligando para que o recebimento com outras formas.

Então, no final o seu banco de dados para este aplicativo de contabilidade simples terá as seguintes tabelas: Contas (as informações da conta, incluindo um tipo de conta como cartão cc / débito, verificação, dinheiro, conta de estoque para compras de negócios, conta de despesas como utilitários, o gráfico padrão de conta) Plano de contas (basicamente uma lista descrevendo como classificar as despesas e contas que fluirão para a sua declaração de funcionamento, eu coloquei o meu aqui para que você confira: http://embrasse-moi.com/exampleData/pos_chart_of_accounts.csv ) Eu tenho uma tabela de saldos de abertura de contas, porque você tem que começar em algum lugar O tipo de conta - ou seja, cartão de crédito, cartão de débito, etc. Tenha em mente a equação contábil basicaly interruptores com base na conta. Contas correntes débitos são "ruins" porque você deu o seu dinheiro e créditos são "bons" porque você tomou em dinheiro, enquanto cartões de crédito débitos são "bons" porque você reduziu a sua dívida e créditos são "ruins" becasue que você adicionou à sua dívida Gráfico de tipos de conta , que é um 'ativo, passivo, ativo de longo prazo, etc. Isto poderia ser incluído no carrinho de contas como um tipo Enum Depois, há o diário geral , que, tal como descrito contém informações suficientes para descrever o documento. É em conta? Data, quantidade, o tipo (recibo ou factura), devido data, eu manter uma bandeira 'pago' para facilitar a consulta. Então você tem um pesquisa entre a tabela 'diário geral' e a tabela de pagamento Então você tem a Tabela de pagamento .

Uma vez que você tem todas essas informações, você quase nunca usar seu banco como fontes, como eles nem sempre estão corretas, pelo menos o meu banco comete erros. Portanto, este tipo de estrutura irá mantê-lo no topo de sua informação, e no final do mês este sistema irá produzir uma declaração que parece idêntico a seus extratos de conta. E esse é o objetivo.

Sobre APIs para obter informações do seu banco: não é simples, se possível. Você pode imaginar os comprimentos seu banco irá percorrer para se certificar que tudo está garantido. Eu não acho que vai ser possível conectar automaticamente. Geralmente há uma maneira de transferir dados através de download manual de um arquivo, depois de registrado em seu banco on-line (se você tiver que disponível). Esperemos que ele vai estar no formato CSV ou algo similar; -)

[editar]

Aparentemente, eu estava errado aqui, os grandes bancos não permitem conexão direta. Eu acho que você terá que consultar o seu techsupport banco naquele então.

[/ edit]

Quanto aos tipos de dados para uso, eu recomendo pelo menos decimais para valores monetários, em vez de duplos / carros alegóricos. consulte esta discussão pergunta SO sobre isso também.

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