Open vks2 opened 1 year ago
Thank you for your kind words! Is RAS https://en.wikipedia.org/wiki/Russian_Accounting_Standards?
My intent is to make the engine as generic as possible and try fit into some working accounting system. RAS is good it has a fixed list of accounts, but the number of possible entries pairs is quite big... not sure about the usecase - trying to make abacus comete against 1C is a too monumental task, using it for reasearch - need some dataset.
In short, RAS can be explored, but more information needed on how abacus can be used with RAS.
(Ideally, abacus is an engine and there is a big config file to use with RAS).
Hey, what a cool job, thanks much.
Putting your quote in README, hope you do not mind. I need some peer support and cheering up to get going with a project.
Another idea is to introduce a trial subset of RAS into chart and see if there are any incompatibiltities.
Different accounting methods could be handled by a "ledger concept".
You can have your "primary" ledger, which is what all accounting entries will initially be booked to (would need to add in a ledger dimension to the entry method) - user dependent what accounting method is defined for the primary, but could be RAS, GAAP, IFRS, etc.
In a "secondary" ledger you can have a backend process to copy all entries (or balances only, not sure if you've implemented stateful stored balances as a concept yet?) from the primary ledger and make adjusting entries directly to the "secondary" ledger as needed.
Thanks for the comment, moving between accounting frameworks indeed a useful feature, even though I think there is a lot of manual work I involved on reclassing entries. I like the idea abacus may be doing at least part of this work. Extra info should go to entries I think for this.
So far the ledger and entries are very simple, the ledger is just a mapping between account name and t-account, and entry is purposefully just Dr, Cr and amount, to make it as simple as possible. As for statefullness not sure what you mean - I got a ledger + entries result in new ledger, but it makes sense to store just initial state of the ledger and entries, so that any ledger state can be computed. As of now I'm struggling a bit with contraccounts, as some seem need to close and period end and some carry forward.
I'm less fluent in accounting than you are, so please reiterate if there is any point I'm missing.
Ah yea, when I referred to state more just meant I don't see any database backing anything, so guessing everything is just in memory stored in the objects?
Would think if you wanted to introduce tracking against multiple accounting methods you'd need to start implementing a database and processes that would operate against the stored data.
Big concept on contra accounts is that there's generally a balance sheet and a income statement component to each.
For example for depreciation: there's depreciation expense, which is needs to be "closed" into retained earnings, but there's also the accumulated depreciation component that nets against the assets in the balance sheet. Would think you need some type of mechanism to associate the balance contra account to their respective "offset" on the balance sheet.
I'd argue contra accounts are more of a convivence feature than something that's mission critical to a basic ERP. Unless your goal is to also implement reporting on the contra accounts balances, in which case then you would need to associate the contra accounts to their "primary" accounts to facilitate.
I guess we do not need any ERP-logic here. What may be interesting is that idea of flexible rules (RAS, IFRS or any other) that may automaticly transform my CF records (that's the actual data bookeeped by all, even smallest small business owners) to a user-friendly balance sheet,
As a library, the package holds data in-memory, and as of now, abacus does not mind where it comes from, a database, json file, whatever. I have seen an old package where the code is tightly couples to SQLite, but the core of an engine should be database-agnostic I think. It makes a though choice though where do we store snapshots of the ledger and where just the entries. Will come up with a chart for this.
The contraccounts are pretty much solved now in abacus (at least as first implementation - in 0.2.0), probably need just more of documentation.
I guess we do not need any ERP-logic here. What may be interesting is that idea of flexible rules (RAS, IFRS or any other) that may automaticly transform my CF records (that's the actual data bookeeped by all, even smallest small business owners) to a user-friendly balance sheet,
One set of initial transaction data (with enough information) and reports by different rule is a cool functionality. What is a CF record though? What does it stand for?
The rules would differ by recognition/measurement/disclosure, out of which disclosure seems easier that measurement/recognition.Need some kind of examples to go forward.
just any cash flow record (sales/expenses etc) example: entries = [ Entry("cash", "sales", 150), # selling thin air Entry("discounts", "cash", 30), # with a discount Entry("overhead", "cash", 50), # and overhead expense ] but you still need data if you closed that cashflow record with a particular operation
The cash flow we can keep track of the type of record, no problem. If we had that information - would you wanted to construct the CF report under different rules?
I guess it would be nice to switch between rules easily
Got an example of either rule/presentation?
вт, 9 мая 2023 г., 18:28 Vlad @.***>:
I guess it would be nice to switch between rules easily
— Reply to this email directly, view it on GitHub https://github.com/epogrebnyak/abacus/issues/4#issuecomment-1540392312, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACGWBLWS3DAJGK6RSN6BCTTXFJPCVANCNFSM6AAAAAAXWYMR6Y . You are receiving this because you commented.Message ID: @.***>
Hey, what a cool job, thanks much. do you plan to make an make_ledger method to make a possibility for RAS accounting? I'm asking because accounting_types.py looks like a great iunterface for any type of accounting.