Rehash: Шаблоны проектирования бухгалтерских программ - PullRequest
21 голосов
/ 22 марта 2009

В октябре Кристофер Джонсон спросил о шаблонах проектирования программного обеспечения для бухгалтерского учета

Он получил несколько ответов, но все они были в основном одинаковыми, указывая на Шаблоны учета Мартина Фаулера .

Я не нахожу паттерны Фаулера настолько полезными. Они кажутся слишком сложными для более упрощенной системы учета, поэтому я перефразирую вопрос Кристофера и ищу дополнительные варианты, предпочтительно для небольших систем.

В первую очередь это будет кассовая система, в которой пользователям выдаются счета, похожие на банковские. Они могут входить в систему (через Интернет) и проверять баланс, совершать определенные транзакции и т. Д.

Я думаю, это было бы больше похоже на компанию Paypal или на кредитную карту, чем на банк, но в меньшем масштабе. Он не должен иметь дело с налогами, амортизацией или другими вещами, которые вы увидите в полноценной системе бухгалтерского учета. Просто остатки и транзакции.

Так может ли кто-нибудь указать на какие-либо дополнительные ресурсы для разработки программного обеспечения, основанного на учете, или даже на хорошие реализации простой системы учета?

Ответы [ 6 ]

9 голосов
/ 02 апреля 2009

паттерны Фаулера не слишком сложны. Они о том, что нужно. Вы вряд ли сможете построить что-то более простое, не столкнувшись с проблемами как с конечными пользователями, так и с бухгалтером.

8 голосов
/ 06 сентября 2009

Так может ли кто-нибудь указать на какие-либо дополнительные ресурсы для разработки программного обеспечения, основанного на учете, или даже на хорошие реализации простой системы учета?

Free Digital Money Project выглядит полезным для ваших нужд. Он обеспечивает базовую структуру транзакций и баланса. Он намеренно прост и абстрактен, поэтому может предложить полезные идеи дизайна, особенно если вы хотите проверить новые идеи.

Цикл более практичен. Он охватывает учетные записи пользователей и транзакции.

MyBanco - это еще одна банковская система с открытым исходным кодом, поддерживающая банковские счета пользователей и доступ через Интернет. Может использоваться как с виртуальной, так и с реальной валютой.

Все они с открытым исходным кодом, так что вы можете проверить документы, архитектуру и код напрямую.

Кроме того, если вас действительно интересуют только балансы и транзакции, то это звучит так, как будто любой шаблон или проект, связанный с репутацией, кармой или системой очков, вероятно, будут иметь существенное перекрытие ...

4 голосов
/ 06 сентября 2009

Когда я внедряю бухгалтерский учет, это типичная модель журналов, транзакций, счетов и типов счетов.

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

У меня также есть tblJournals, который группирует транзакции на очевидной основе. Вы также можете добавить JournalTypes, который содержит общее описание того, какой это тип журнала, чтобы вы могли обнаруживать хорошие вещи (откровения и т. Д.).

Это хорошо, потому что развороты в этой модели тривиальны. Вы можете просто собрать все транзакции для своего журнала и поменять местами тип.

У tblTransactions есть триггер, и триггер обновляет «CalculatedBalance» для определенных счетов в зависимости от типа. Затем вы также можете запустить отчет за определенный период и т. Д.

Для его реализации не требуется больших знаний бухгалтерского учета, и он прост, но эффективен.

1 голос
/ 23 марта 2009

Поиск в Google для "двухфазного принятия"

Не шаблон проектирования как таковой, но вы должны убедиться, что такие операции, как "перевести сумму $ с $ account1 на $ account2" не когда-либо"снять" без соответствующего "депозита" ... т.е. если питание отключается до "депозита" завершается, откат "откат" (отменен)

Транзакции с фиксацией состоят из отменяющих (с возможностью отката) суб-транзакций ...

  1. получение необходимых разрешений: тривиальное отклонение, «недостаточно» средства "
  2. начать «двухфазную фиксацию»
  3. добавить суб-транзакции
  4. коммит или откат

Предупреждение. Математика BCD была изобретена для предотвращения ошибки округления в математике Base 10. Вы не упоминаете о международных проблемах, но вам понадобится математика с фиксированной или "высокой точностью", конвертация валюты и все остальное ...

0 голосов
/ 25 января 2010

Я на самом деле автор MyBanco, если вам нужна помощь, просто напишите мне по электронной почте:)

0 голосов
/ 22 марта 2009

Храните деньги в виде центов (целых) вместо долларов (с плавающей запятой). Это не дизайн, но, вероятно, более полезный.

...