Basic Procedure for Accrual Accounting when making a product and selling it?

I've started running a business, in terms of making something from raw materials, processing it, and then it becomes a product that can be sold to people.

  1. Receive Raw Materials
  2. Process those raw materials into a product
  3. Sell it to people with all appropriate sales tax collected.

On the accounting end of things, so far, it's been really just writing down what I purchased and tagging the transaction with either cogs or one-time startup costs.

Though I'd like to progress this to the accural accounting method.

I asked my friend (an accountant) about this and he told me the following about the place he used to work, and what would happen on the books during those times:

1. Receive Raw Materials

This is basically what I have already done writing down everything that I purchased to do the job.

1.1 COGS

2026-02-22 Tuesday's Supply
  assets:raw materials:wood  $16.00 ; cogs:2026_Q1 ; 
  assets:raw materials:nails  $10.00 ; cogs:2026_Q1 ;
  tax  $1.56
  equity:openingbalances

1.2 Startup Costs

2026-02-22 Al Lowes
  assets:equipment:tools:saw $40.00 ; startup-cost:2026_Q1 ; 
  assets:raw materials:tools:hobbyhorse  $100.00 ; startup-cost:2026_Q1 ;
  assets:raw materials:tools:drill  $40.00 ; startup-cost:2026_Q1 ;
  assets:raw materials:tools:drill:bits  $20.00 ; startup-cost:2026_Q1 ;
  tax  $12.00
  equity:openingbalances

2. Process those raw materials into a product

2.1 Employee Compensation for Time for Working the Process:

I'm not sure what to do here; I'm the only employee, but I would imagine it has something to do with paying me as an employee for my time working on building the product. Something with hours worked at hourly rate.

2.2 Electricity Bills

Using a trusty KILL A WATT device to track KWHs incurred during the process and multiplying that by the electrical rate should do the job, and of course that could be placed in liabilities:accounts payable:electric.

And both these bills could be payed off later and it might look something like the following:

2026-02-23 Meter
  liabilities:accounts payable:electric  -$2.00 ; utils:electric ;
  tax -$0.12
  expenses:utils:electric 

And later when the bill is paid off:

2026-02-26 Letric Company
  expenses:utils:electric  $2.00
  tax $0.12
  assets:cash:upstanding bank

2.3 When the product exists remove the raw materials and create the product in another inventory:

2026-02-27 Transfer Completed Product from Raw Materials to Product Inventory
  assets:raw materials:wood  -$8.00  ; Lets say I used half the wood.
  assets:raw materials:nails  -$5.00  ; Lets say I used half the nails.
  assets:product inventory:cabinet_sm   ;  1x cabinet

3. Sell it to people with all appropriate sales tax collected.

 2026-03-03 Customer Purchase
  assets:product inventory:cabinet_sm  -$13  ;  
  assets:revenue:accounts receivable:cabinet_sm  $20 ;
  state-sales-tax  -1.20
  some-other-account-not-sure-what  $5.80 ; not sure how to make this all come out to zero.

Please correct me where applicable, I am new to accounting.

In the US:

While a corporation may include labor in the cost of goods sold, a sole proprietor may not employ himself so owner's labor cannot be included in the cost of goods sold.

A sole proprietor may elect to use accrual or cash accounting.

Also, the small (<$25 million) sole proprietor manufacturer may take advantage of NIMS (Non-Incidental Materials and Supplies) to expense materials/supplies under special rules. This can have tax advantages, but it is different from the process you outlined.

tldr - the method your friend described may not be the best for your situation.

Hey :waving_hand:

Welcome to accounting! I like your approach. Let me share how I'll handle your scenario. You can pick and choose how you want to fine-tune yours. Years of doing this has taught me that there's no "right" way per se, after you have the basics down, that is.

I like the idea of commodities within these PTA tools — ledger and hledger mainly; I have switched my default to hledger.

NOTE: I am a software engineer; not an accountant. Bookkeeping is a hobby. I don't know the right way. This here is what'll work for me in this scenario. Hope this helps.

0. Original Investment

I added this bit because I prefer to set aside money for a venture.

2026-02-21 Original Investment | Money set aside for the business
  assets:bank:upstanding  $1000
  equity:opening-balances

This is what the hledger bse report would look like

Balance Sheet With Equity 2026-02-21

                         || 2026-02-21 
=========================++============
 Assets                  ||            
-------------------------++------------
 assets:bank:upstanding  ||      $1000 
-------------------------++------------
                         ||      $1000 
=========================++============
 Liabilities             ||            
-------------------------++------------
-------------------------++------------
                         ||          0 
=========================++============
 Equity                  ||            
-------------------------++------------
 equity:opening-balances ||      $1000 
-------------------------++------------
                         ||      $1000 
=========================++============
 Net:                    ||          0 

1. Receive Raw Materials

1.1 COGS

2026-02-22 Tuesday's Supply
  ; This simply transfers assets from one kind to another
  assets:raw-materials  4 wood @ $4.00 ; cogs:2026_Q1 ; 
  assets:raw-materials  10 nail @ $1.00 ; cogs:2026_Q1 ;
  expenses:tax  $1.56
  assets:bank:upstanding

Here I keep track of the commodities as I get them. It may seem a bit involved for many, but I like knowing how the value of different commodities change over time.

Now, the company's BSE report looks like so

Balance Sheet With Equity 2026-02-22

                         ||               2026-02-22 
=========================++==========================
 Assets                  ||                          
-------------------------++--------------------------
 assets:bank:upstanding  ||                  $972.44 
 assets:raw-materials    ||          10 nail, 4 wood 
-------------------------++--------------------------
                         || $972.44, 10 nail, 4 wood 
=========================++==========================
 Liabilities             ||                          
-------------------------++--------------------------
-------------------------++--------------------------
                         ||                        0 
=========================++==========================
 Equity                  ||                          
-------------------------++--------------------------
 equity:opening-balances ||                 $1000.00 
-------------------------++--------------------------
                         ||                 $1000.00 
=========================++==========================
 Net:                    || $-27.56, 10 nail, 4 wood 

I consider that last line my "profit and loss" statement. Ideally, this isn't it. — Clearly, I'm not an accountant — But this gives me an idea of how the business is doing.

While this view works for me who wants to see commodities in the business, it may be too detailed for "management" who just want to speak in dollars. For them, I usually ask for the BSE report with commodities converted to cost, using the -B flag. It comes out like so

Balance Sheet With Equity 2026-02-22, converted to cost

                         || 2026-02-22 
=========================++============
 Assets                  ||            
-------------------------++------------
 assets:bank:upstanding  ||    $972.44 
 assets:raw-materials    ||     $26.00 
-------------------------++------------
                         ||    $998.44 
=========================++============
 Liabilities             ||            
-------------------------++------------
-------------------------++------------
                         ||          0 
=========================++============
 Equity                  ||            
-------------------------++------------
 equity:opening-balances ||   $1000.00 
-------------------------++------------
                         ||   $1000.00 
=========================++============
 Net:                    ||     $-1.56 

Still we can see the company is at a net loss because of the tax payment. — Probably this is why some places reclaim tax, while others bake the tax fees into the price of the commodity built. :man_shrugging:

1.2 Startup Costs

2026-02-22 Al Lowes
  ; startup-cost:2026_Q1
  assets:equipment:tools:saw  $40.00
  assets:tools:hobbyhorse  $100.00
  assets:tools:drill  $40.00
  assets:tools:drill:bits  $20.00
  expenses:tax  $12.00
  assets:bank:upstanding

Two changes I made here

  1. Move the comment to the transaction level. It's going to apply to all postings in the transaction. Saves typing.
  2. removed the :raw materials scope; because I think a raw material is something which can be converted into product.
    2.a. I left them under the assets: scope because I think these assets can be resold at their end of life to reclaim some of its cost.

Our BSE is thus

Balance Sheet With Equity 2026-02-22, converted to cost

                                       || 2026-02-22 
=======================================++============
 Assets                                ||            
---------------------------------------++------------
 assets:bank:upstanding                ||    $760.44 
 assets:equipment:tools:saw            ||     $40.00 
 assets:raw materials:tools:drill      ||     $40.00 
 assets:raw materials:tools:drill:bits ||     $20.00 
 assets:raw materials:tools:hobbyhorse ||    $100.00 
 assets:raw-materials                  ||     $26.00 
---------------------------------------++------------
                                       ||    $986.44 
=======================================++============
 Liabilities                           ||            
---------------------------------------++------------
---------------------------------------++------------
                                       ||          0 
=======================================++============
 Equity                                ||            
---------------------------------------++------------
 equity:opening-balances               ||   $1000.00 
---------------------------------------++------------
                                       ||   $1000.00 
=======================================++============
 Net:                                  ||    $-13.56 

Note our net loss in in tax only.

2. Process the product :hammer_and_wrench:

2.1. Employee Compensation :money_with_wings:

2026-02-13 Salaries Incurred
  expenses:salary:person-a  $70
  expenses:tax:paye:person-a  $7
  liabilities:payroll:person-a

2026-02-23 Salaries Paid
  liabilities:payroll:person-a    $77
  assets:bank:upstanding

The date is backdated here because with payroll, there's mainly some cut-off date which accounting uses to prepare the payroll. planned companies often have this date earlier in the month.

2.2 Electricy Bills

2026-02-23 Meter | Company Fees
  ; utils:electric
  expenses:utils:electric  $2.00
  liabilities:accounts-payable:electric

2026-02-23 Meter | Tax
  ; utils:electric
  liabilities:accounts-payable:tax
  expenses:tax  $0.12

Same format with Salaries. The BSE report?

Balance Sheet With Equity 2026-02-23, converted to cost

                                       || 2026-02-23 
=======================================++============
 Assets                                ||            
---------------------------------------++------------
 assets:bank:upstanding                ||    $683.44 
 assets:equipment:tools:saw            ||     $40.00 
 assets:raw-materials                  ||     $26.00 
 assets:tools:drill                    ||     $40.00 
 assets:tools:drill:bits               ||     $20.00 
 assets:tools:hobbyhorse               ||    $100.00 
---------------------------------------++------------
                                       ||    $909.44 
=======================================++============
 Liabilities                           ||            
---------------------------------------++------------
 liabilities:accounts-payable:electric ||      $2.00 
 liabilities:accounts-payable:tax      ||      $0.12 
---------------------------------------++------------
                                       ||      $2.12 
=======================================++============
 Equity                                ||            
---------------------------------------++------------
 equity:opening-balances               ||   $1000.00 
---------------------------------------++------------
                                       ||   $1000.00 
=======================================++============
 Net:                                  ||    $-92.68 

At this point, I'm noticing we are not seeing the expenses in this report. Someone from management could be asking "How are we losing so much much? Where is all the money going?" This is where I'd introduce the income statement hledger is -B

Income Statement 2026-02-13..2026-02-23, converted to cost

                            || 2026-02-13..2026-02-23 
============================++========================
 Revenues                   ||                        
----------------------------++------------------------
----------------------------++------------------------
                            ||                      0 
============================++========================
 Expenses                   ||                        
----------------------------++------------------------
 expenses:salary:person-a   ||                 $70.00 
 expenses:tax               ||                 $13.68 
 expenses:tax:paye:person-a ||                  $7.00 
 expenses:utils:electric    ||                  $2.00 
----------------------------++------------------------
                            ||                 $92.68 
============================++========================
 Net:                       ||                $-92.68 

Now it's clear where the money in the company is going to. It's also help guide pricing when we create the product.

2.3 Fabricate the Product

Now, this is the interesting part. Here, we answer the key question "How much should we price our product?"

2026-02-27 Create the Cabinet
  assets:raw-materials  -2 wood @ $4 ; Lets say I used half the wood.
  assets:raw-materials:nails  -5 nail @ $1 ; Lets say I used half the nails.
  assets:product-inventory:cabinet_sm   1 cabinet @@ $13 ; assuming COGS alone

Here, I've assumed the price of one cabinet to be cost of the raw materials alone. Other companies may choose to work some other things into the price of the cabinet. I like to use something else.

Let's see what the BSE looks like

Balance Sheet With Equity 2026-02-27, converted to cost

                                       || 2026-02-27 
=======================================++============
 Assets                                ||            
---------------------------------------++------------
 assets:bank:upstanding                ||    $683.44 
 assets:equipment:tools:saw            ||     $40.00 
 assets:product-inventory:cabinet_sm   ||     $13.00 <<-- keep an eye on this
 assets:raw-materials                  ||     $18.00 
 assets:raw-materials:nails            ||     $-5.00 
 assets:tools:drill                    ||     $40.00 
 assets:tools:drill:bits               ||     $20.00 
 assets:tools:hobbyhorse               ||    $100.00 
---------------------------------------++------------
                                       ||    $909.44 
=======================================++============
 Liabilities                           ||            
---------------------------------------++------------
 liabilities:accounts-payable:electric ||      $2.00 
 liabilities:accounts-payable:tax      ||      $0.12 
---------------------------------------++------------
                                       ||      $2.12 
=======================================++============
 Equity                                ||            
---------------------------------------++------------
 equity:opening-balances               ||   $1000.00 
---------------------------------------++------------
                                       ||   $1000.00 
=======================================++============
 Net:                                  ||    $-92.68 

3. The Sale :money_bag:

Before the sale, we have to define the price somewhat. I've seen two cultural approaches to this. There are those who like to set the price up front…

P 2026-02-28 cabinet $14.95

Here we are choosing to sell the cabinet with a 15% markup.

Some others — especially in unregulated markets — allow the price to be dictated at the sale through haggling.

2026-03-03 Customer Purchase
  assets:product-inventory:cabinet_sm  -1 cabinet @@ $13
  assets:bank:upstanding  $21.20 ; the actual sales price
  revenue:profit:cabinet_sm
  liabilities:tax:sales  -$1.20 ; tax baked into sales price

We sell one cabinet for $21.20, the price settled on after negotiation / haggling. It's then clear how much profit we've made on this cabinet.

Income Statement 2026-02-13..2026-03-03, converted to 

                            || 2026-02-13..2026-03-03 
============================++========================
 Revenues                   ||                        
----------------------------++------------------------
 revenue:profit:cabinet_sm  ||                  $7.00 
----------------------------++------------------------
                            ||                  $7.00 
============================++========================
 Expenses                   ||                        
----------------------------++------------------------
 expenses:salary:person-a   ||                 $70.00 
 expenses:tax               ||                 $13.68 
 expenses:tax:paye:person-a ||                  $7.00 
 expenses:utils:electric    ||                  $2.00 
----------------------------++------------------------
                            ||                 $92.68 
============================++========================
 Net:                       ||                $-85.68 

This is a weird income statement for just one cabinet because we paid the :person-a for the entire month to only make 1 cabinet. Ideally, they'll make 5 to 7. That would properly offset the income statement.

Balance Sheet With Equity 2026-03-03, converted to cost

                                       || 2026-03-03 
=======================================++============
 Assets                                ||            
---------------------------------------++------------
 assets:bank:upstanding                ||    $704.64 
 assets:equipment:tools:saw            ||     $40.00 
 assets:raw-materials                  ||     $18.00 
 assets:raw-materials:nails            ||     $-5.00 
 assets:tools:drill                    ||     $40.00 
 assets:tools:drill:bits               ||     $20.00 
 assets:tools:hobbyhorse               ||    $100.00 
---------------------------------------++------------
                                       ||    $917.64 
=======================================++============
 Liabilities                           ||            
---------------------------------------++------------
 liabilities:accounts-payable:electric ||      $2.00 
 liabilities:accounts-payable:tax      ||      $0.12 
 liabilities:tax:sales                 ||      $1.20 
---------------------------------------++------------
                                       ||      $3.32 
=======================================++============
 Equity                                ||            
---------------------------------------++------------
 equity:opening-balances               ||   $1000.00 
---------------------------------------++------------
                                       ||   $1000.00 
=======================================++============
 Net:                                  ||    $-85.68 

And this is how the company stands, through this exercise.

4. The Learnings

  • If the company begins to buy raw materials for a different price, it's clear how our price should be adjusted
  • profit is clear — could be clearer if scoped to product

The full ledger I came up with is this

2026-02-21 Original Investment | Money set aside for the business
  assets:bank:upstanding  $1000
  equity:opening-balances

2026-02-22 Tuesday's Supply
  ; This simply transfers assets from one kind to another
  assets:raw-materials  4 wood @ $4.00 ; cogs:2026_Q1 ; 
  assets:raw-materials  10 nail @ $1.00 ; cogs:2026_Q1 ;
  expenses:tax  $1.56
  assets:bank:upstanding

2026-02-22 Al Lowes
  ; startup-cost:2026_Q1
  assets:equipment:tools:saw  $40.00
  assets:tools:hobbyhorse  $100.00
  assets:tools:drill  $40.00
  assets:tools:drill:bits  $20.00
  expenses:tax  $12.00
  assets:bank:upstanding

2026-02-13 Salaries Incurred
  ; the date is backdated here because with payroll, there's mainly some
  ; cut-off date which accounting uses to prepare the payroll. planned
  ; companies often have this date earlier in the month
  expenses:salary:person-a  $70
  expenses:tax:paye:person-a  $7
  liabilities:payroll:person-a

2026-02-23 Salaries Paid
  liabilities:payroll:person-a    $77
  assets:bank:upstanding

2026-02-23 Meter | Company Fees
  ; utils:electric
  expenses:utils:electric  $2.00
  liabilities:accounts-payable:electric

2026-02-23 Meter | Tax
  ; utils:electric
  liabilities:accounts-payable:tax
  expenses:tax  $0.12

2026-02-27 Create the Cabinet
  assets:raw-materials  -2 wood @ $4 ; Lets say I used half the wood.
  assets:raw-materials:nails  -5 nail @ $1 ; Lets say I used half the nails.
  assets:product-inventory:cabinet_sm   1 cabinet @@ $13 ; assuming COGS alone

2026-03-03 Customer Purchase
  assets:product-inventory:cabinet_sm  -1 cabinet @@ $13
  assets:bank:upstanding  $21.20 ; the actual sales price
  revenue:profit:cabinet_sm
  liabilities:tax:sales  -$1.20 ; tax baked into sales price