Akuukis / beancount_allocate

GNU Affero General Public License v3.0
3 stars 0 forks source link

Reallocate between asset accounts #2

Open sefsh opened 1 year ago

sefsh commented 1 year ago

👋 I bumped into beancount_share when trying to automate allocation from an asset account to several other asset accounts. Got an error message when I tried using that, then beancount_allocate.

Given the aforementioned usecase I naively tried:

2024-01-01 * "Test" #allocate-Bob-25p
  Assets:AccountsReceivableTrade                                        -5000 SEK
  Assets:BusinessAccount1930

A beancount plugin to easily allocate funds among multiple equity accounts within one ledger.

Is there a reason for not being able to also use this plugin for asset reallocation? Or is there a third plugin option?

Akuukis commented 10 months ago

:wave: @yusf

Yes, it's a conceptual problem and not plugin's.

First, the plugin doesn't know which of the two assets accounts you want to allocate, and honestly neither do I, so it would allocate both (just like it already does with income and expenses) and you would end up with such pointless transaction:

2024-01-01 * "Test"
  Assets:AccountsReceivableTrade             -5000 SEK
  Assets:BusinessAccount1930                  5000 SEK
  Equity:Current:Earnings                    -1250 SEK
  Equity:Bob                                  1250 SEK
  Equity:Current:Earnings                     1250 SEK
  Equity:Bob                                 -1250 SEK

Second, I assume you have a bank transaction for those 5000 SEK between two accounts. Even if plugin would magically guess what you wanted (or what I though you wanted) and generate the following transaction, I'd call it very bad practice to edit the amounts for transactions and instead strictly stick to a policy to always mirror the bank or cash transactions. Otherwise it's a nightmare to consolidate/debug your accounts, and I've been there.

2024-01-01 * "Test"
  Assets:AccountsReceivableTrade             -5000 SEK
  Assets:BusinessAccount1930                  3750 SEK
  Assets:Debtors:Bob                          1250 SEK

Third, as I see "receivables" account, I assume you have a matching income posting some time earlier. Solution: add the share/allocate there! This way with allocate, 25% of unpaid income would be allocated to the Equity:Bob, and the rest 75% would stay allocated to the generic ledger's current earnings. Or in case with share, 25% would be shared to Liabilities:Creditors:Bob, as normally you would owe him at the point of income itself, not at the point receiving payment for the income (in other words, risk of counterparty not paying you by default is on you).

2023-12-13 * "Test" #allocate-Bob-25p
  Income:Partner1                            -5000 SEK
  Assets:AccountsReceivableTrade              5000 SEK
2023-12-13 * "Test" #share-Bob-25p
  Income:Partner1                            -5000 SEK
  Assets:AccountsReceivableTrade              5000 SEK

In either case, these are only my guesses. Please share your expected result or elaborate more on the situation, and then we could continue the conversation in a more focused manner.