Inventory accounting

Fundraiser

This example demonstrates accounting for a fundraiser where members sold meat-sticks and chocolate bars. The local organization would check out inventory, sell it, and then pay the regional organization back for the fundraising goods they sold.

In this particular example chocolate bars are sold for $2 and meat-sticks are sold for $1. The local organization gets to keep 30% of the proceeds.

The role of the first three accounts are fairly straight-forward. assets:cash tracks money in the cash box. assets:inventory tracks the unsold meat and chocolate stock. liabilities:supplier tracks the money owed to the supplier.

The interesting account is income:fundraiser. This account summarizes the effect of the fundraiser on the organization. In our example the initial effect on the organization is that it acquired $61.60 of debt, 24 meat-sticks, and 32 chocolate bars. As the fundraiser progresses, this account will hold only the $26.40 of income.

In the real use-case, the members of the organization would check out product to sell. Additional transactions can be used to transfer stock from the organization's inventory accounts to member-specific accounts.

account assets:cash ; cash account assets:inventory ; product inventory account liabilities:supplier ; money owed to supplier account income:fundraiser ; income attributed to the fundraiser commodity MEAT ; meat-sticks commodity CHOC ; chocolate bars commodity USD ; US dollars ; Price of the fundraiser goods at the supplier's price P 1-1 MEAT 0.70 USD P 1-1 CHOC 1.40 USD 1-1 * Supplier | Pick up inventory assets:inventory 24 MEAT assets:inventory 32 CHOC liabilities:supplier -61.60 USD income:fundraiser 1-2 * Alice | Sold some goods assets:inventory -20 MEAT assets:inventory -12 CHOC assets:cash 44 USD income:fundraiser 1-3 * Bob | Sold more things assets:inventory -4 MEAT assets:inventory -20 CHOC assets:cash 44 USD income:fundraiser 1-4 * Supplier | Pay balance liabilities:supplier 61.60 USD assets:cash -61.60 USD

With a daily balance change and historical balance reports we can see the effect of each transaction. Over time we'll be converting inventory into profits.

$ hledger bal -D --pretty Balance changes in 2021-01-01..2021-01-04: ║ 2021-01-01 2021-01-02 2021-01-03 2021-01-04 ══════════════════════╬══════════════════════════════════════════════════════════════════════════════════════════════════════ assets:cash ║ 0 44.00 USD 44.00 USD -61.60 USD assets:inventory ║ 32 CHOC, 24 MEAT -12 CHOC, -20 MEAT -20 CHOC, -4 MEAT 0 income:fundraiser ║ -32 CHOC, -24 MEAT, 61.60 USD 12 CHOC, 20 MEAT, -44.00 USD 20 CHOC, 4 MEAT, -44.00 USD 0 liabilities:supplier ║ -61.60 USD 0 0 61.60 USD ──────────────────────╫────────────────────────────────────────────────────────────────────────────────────────────────────── ║ 0 0 0 0 hledger bal -DH --pretty Ending balances (historical) in 2021-01-01..2021-01-04: ║ 2021-01-01 2021-01-02 2021-01-03 2021-01-04 ══════════════════════╬═════════════════════════════════════════════════════════════════════════════════════ assets:cash ║ 0 44.00 USD 88.00 USD 26.40 USD assets:inventory ║ 32 CHOC, 24 MEAT 20 CHOC, 4 MEAT 0 0 income:fundraiser ║ -32 CHOC, -24 MEAT, 61.60 USD -20 CHOC, -4 MEAT, 17.60 USD -26.40 USD -26.40 USD liabilities:supplier ║ -61.60 USD -61.60 USD -61.60 USD 0 ──────────────────────╫───────────────────────────────────────────────────────────────────────────────────── ║ 0 0 0 0

To see the same information in terms of the cash-value of the inventory that we're holding we can use the -V flag. From this view we can see the income realized by the fundraiser as it progresses, and the cash value of our current inventory.

hledger bal -DV --pretty Balance changes in 2021-01-01..2021-01-04, valued at period ends: ║ 2021-01-01 2021-01-02 2021-01-03 2021-01-04 ══════════════════════╬════════════════════════════════════════════════ assets:cash ║ 0 44.00 USD 44.00 USD -61.60 USD assets:inventory ║ 61.60 USD -30.80 USD -30.80 USD 0 income:fundraiser ║ 0 -13.20 USD -13.20 USD 0 liabilities:supplier ║ -61.60 USD 0 0 61.60 USD ──────────────────────╫──────────────────────────────────────────────── ║ 0 0 0 0 $ hledger bal -DHV --pretty Ending balances (historical) in 2021-01-01..2021-01-04, valued at period ends: ║ 2021-01-01 2021-01-02 2021-01-03 2021-01-04 ══════════════════════╬════════════════════════════════════════════════ assets:cash ║ 0 44.00 USD 88.00 USD 26.40 USD assets:inventory ║ 61.60 USD 30.80 USD 0 0 income:fundraiser ║ 0 -13.20 USD -26.40 USD -26.40 USD liabilities:supplier ║ -61.60 USD -61.60 USD -61.60 USD 0 ──────────────────────╫──────────────────────────────────────────────── ║ 0 0 0 0

For our fundraiser the members got credit for their contribution to the fundraiser. By pivoting by payee we can see the gross revenue and inventory sold by each member. The row for the supplier shows the total inventory acquired and cost paid.

hledger bal income:fundraiser --pivot=payee --pretty -Y Balance changes in 2021: ║ 2021 ══════════╬═══════════════════════════════ Alice ║ 12 CHOC, 20 MEAT, -44.00 USD Bob ║ 20 CHOC, 4 MEAT, -44.00 USD Supplier ║ -32 CHOC, -24 MEAT, 61.60 USD ──────────╫─────────────────────────────── ║ -26.40 USD

To see the net revenue attributed to each member, we can generate the same report valued by the cost of the goods.

hledger bal income:fundraiser --pivot=payee --pretty -YV Balance changes in 2021, valued at period ends: ║ 2021 ═══════╬════════════ Alice ║ -13.20 USD Bob ║ -13.20 USD ───────╫──────────── ║ -26.40 USD
Loading...