{"repo":"envato/double_entry","free":true,"listed":false,"github":"https://github.com/envato/double_entry","clone":"git clone https://github.com/envato/double_entry.git","description":"A double-entry accounting system for Ruby applications.","language":"Ruby","stars":460,"topics":["finance","ruby","gem","accounting"],"license":"MIT","category":"databases-storage","readme_excerpt":"DoubleEntry Keep track of all the monies! DoubleEntry is an accounting system based on the principles of a Double-entry Bookkeeping system. While this gem acts like a double-entry bookkeeping system, as it creates two entries in the database for each transfer, it does not enforce accounting rules, other than optionally ensuring a balance is positive, and through an allowlist of approved transfers. DoubleEntry uses the Money gem to encapsulate operations on currency values. Compatibility DoubleEntry is tested against: Ruby 4.0.x 3.4.x 3.3.x 3.2.x Rails 8.1.x 8.0.x 7.2.x Databases MySQL PostgreSQL SQLite Installation In your application's Gemfile , add: Download and install the gem with Bundler: Generate Rails schema migrations for the required tables: The default behavior is to store metadata in a json(b) column rather than a separate double entry line metadata table. If you would like the old (1.x) behavior, you can add --no-json-metadata . Update the local database: Interface The entire API for recording financial transactions is available through a few methods in the DoubleEntry module. For full details on what the API provides, please view the documentation on these methods. A configuration file should be used to define a set of accounts, and potential transfers between those accounts. See the Configuration section for more details. Accounts Money is kept in Accounts. Each Account has a scope, which is used to subdivide the account into smaller accounts. For example, an ac","default_branch":null,"files":null,"tree":[],"storefront":"/r/envato","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/envato/double_entry/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}