QLedger | general ledger , suitable for managing any system

 by   RealImage Go Version: v1.4.0 License: MIT

kandi X-RAY | QLedger Summary

kandi X-RAY | QLedger Summary

QLedger is a Go library. QLedger has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

Systems that manage money do so by managing its movement - by tracking where it moved from, where it moved to, how much moved and why. QLedger is a service that provides APIs to manage the structured movement of money. The there are two primitives in the system: accounts and transactions. Money moves between accounts by means of a transaction. A transaction may have multiple lines - each line represents the change (delta) of money in one account. A valid transaction has a total delta of zero - no money is created or destroyed, and all money moved out of any account(s) has moved in to other account(s). QLedger validates all transactions made via the API with a zero delta check. Phrased another way, the law of conversation of money is formalized by the rules of double entry bookkeeping - money debited from any account must be credited to another account (and vice versa), implying that all transactions must have at least two entries (double entry) with a zero sum delta. QLedger makes it easy to follow these rules. Accounts do not need to be predefined - they are called into existence when they are first used. All accounts and transactions are identified by a string identifier, which also acts an idempotency and an immutability key. Transactions once sent to the ledger cannot be changed - any 'modification' or reversal requires a new transaction. The safe recovery mechanism for all network errors is also a simple retry - as long as the identifier does not change the transaction will never be inadvertently duplicated.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              QLedger has a low active ecosystem.
              It has 47 star(s) with 17 fork(s). There are 36 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 2 open issues and 0 have been closed. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of QLedger is v1.4.0

            kandi-Quality Quality

              QLedger has 0 bugs and 0 code smells.

            kandi-Security Security

              QLedger has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              QLedger code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              QLedger is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              QLedger releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              It has 2891 lines of code, 111 functions and 29 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed QLedger and discovered the below as its top functions. This is intended to give you an instant insight into QLedger implemented functionality, and help decide if they suit your requirements.
            • ToSQLQuery converts a SearchRawQuery to a query .
            • Migrates database changes
            • MakeTransaction creates a new transaction
            • getSQLConditionAndArgsFromRange returns condition and args .
            • migrate database migration
            • GetAccounts returns all the accounts for a given request
            • GetTransactions handles a request to retrieve transactions
            • convertTermsToSQL converts a map of terms to SQL
            • AddAccount adds a new account to the database
            • UpdateTransaction updates a transaction
            Get all kandi verified functions for this library.

            QLedger Key Features

            No Key Features are available at this moment for QLedger.

            QLedger Examples and Code Snippets

            QLedger,Transactions
            Godot img1Lines of Code : 75dot img1License : Permissive (MIT)
            copy iconCopy
            {
              "id": "abcd1234",
              "lines": [
                {
                  "account": "alice",
                  "delta": -100
                },
                {
                  "account": "bob",
                  "delta": 100
                }
              ],
              ...
            }
            
            {
              "id": "abcd1234",
              "timestamp": "2017-01-01 13:01:05.000",
              ...
            
            }
            
            {
              "data": {  
            Bool clauses:
            Godot img2Lines of Code : 32dot img2License : Permissive (MIT)
            copy iconCopy
            {
              "query": {
                  "must": {
                    "fields": [
                        {"balance": {"gt": 0}}
                    ],
                    "terms": [
                        {"type": "credit", "active": true},
                        {"months": ["jan", "feb", "mar"]}
                    ],
                    "ranges": [
                       
            QLedger,Accounts
            Godot img3Lines of Code : 14dot img3License : Permissive (MIT)
            copy iconCopy
            {
              "id": "alice",
              "data": {
                "product": "qw",
                "date": "2017-01-01"
              }
            }
            
            {
              "id": "alice",
              "data": {
                "product": "qw",
                "date": "2017-01-05"
              }
            }
              

            Community Discussions

            No Community Discussions are available at this moment for QLedger.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install QLedger

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link