Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inventories and Accounting #13

Open
rafabap opened this issue Apr 3, 2017 · 1 comment
Open

Inventories and Accounting #13

rafabap opened this issue Apr 3, 2017 · 1 comment

Comments

@rafabap
Copy link

rafabap commented Apr 3, 2017

@DavoudTaghawiNejad and I have been discussing and decided that Inventory and Accounting are different services.

Inventory is a collection of Items which can be Good or Contract (as in the original design of the ESL).

Accounting is a way to keep track of balances. The link between an inventory and an accounting system is valuation. For example, a Balance Sheet should be part of an accounting system, but not of an inventory.

InventoryAPI will include operations to add and remove items, and queries to obtain items. AccountingAPI will include queries only, such as get asset value, get equity value, get value of items according to predicate P, etc.

The main technical challenge is how to keep the accounting and inventory systems coherent. They are coherent when all valuations of items are up to date. One option is to have every accounting system provide a function consolidate which will somehow iterate through the inventory and update the balances according to the potentially modified valuations of all items.

Any discussion on inventories, accounting and valuation here please!

@davidrpugh
Copy link
Member

@rafabap I think the idea of separating Inventories and Accounting is a good idea. Is it possible to extract coherent APIs using the terminology from a Double Entry System?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants