Я надеюсь, что этот вопрос не слишком широк. В будущем мне может понадобиться добавить некоторые учетные и финансовые системы отслеживания в некоторые приложения (в основном это веб-приложения, но мои вопросы касаются и настольных приложений).
Теперь создать простой отчет о финансовых операциях теоретически легко. Одна таблица базы данных с несколькими столбцами может сделать эту работу. Даже MS Access, Excel или даже простой текстовый файл ASCII можно использовать для хранения дат транзакций, идентификаторов счетов и сумм в долларах. Однако я чувствую, что даже таблица SQL с частым резервным копированием с транзакционной целостностью может оказаться недостаточно надежной для серьезного финансового отслеживания.
Я слышу такие термины, как «учет с двойной записью», и у меня возникает ощущение, что большинство приложений для отслеживания финансовых операций (например, Mint.com или GnuCash) имеют гораздо более сложную структуру или процесс обработки данных, чтобы обеспечить двойную уверенность в том, что все складывается идеально, именно так, как и должно быть, и что никакие данные никогда не будут потеряны или повреждены.
Мой вопрос: при разработке приложения для отслеживания финансовых транзакций, какие особые соображения дизайна должны быть сделаны? Кажется, что может быть так много потенциальных проблем ... проблемы с точностью округления, проверками четности, каким-то процессом аудита, специальным резервным копированием, безопасностью / шифрованием, дополнительными способами защиты данных в случае сбоя в процессе ввода данных. ... Я не знаю, о чем конкретно должен спрашивать, но у меня возникает ощущение, что в индустрии программирования есть набор лучших практик, о которых я ничего не знаю. Кто они такие?
Редактировать:
Похоже, я открыл большую банку с червями, чем ожидал. Чтобы уточнить, я имею в виду конкретно два типа приложений:
- Приложения типа «Проверка реестра», такие как GnuCash или Quicken, которые ведут учет транзакций отдельных лиц для собственного использования.
- Приложения, которые отслеживают выставление счетов / кредит / или «баллы» для поставщиков и клиентов, которые имеют дело с компанией.
Я, вероятно, не буду заниматься прямыми банковскими операциями или (AFAIK) тем, что связано с кучей правительственных нормативов, связанных с финансами.