top of page
Writer's pictureTek Siong, Hock

How the Sale and Purchase Process Impacting Accounting in Odoo

Updated: Jun 22, 2022

Ever since started working on Odoo, Accounting has always been a module that I was struggling with, and fascinated by, despite my over 15 years of experiences in the IT.


The No 1 confusion to me - when is to CREDITS (CR) to an account and when is to DEBITS (DR). Sometimes CR is increasing the amount, while other times, it may be decreasing the amount.


The following picture comes to my rescue, which is best depicting how the DR and CR works, greatly help me to understand CR/DR scenario in the sale/purchase process.

Rules 1:

a) Each account has DR and CR. DR is on the left, CR is on the right.


b) Each transaction will affect AT LEAST 2 accounts, when an account is DR, then another account will be CR. DR amount must be EQUAL to CR amount.


Rule 2:

a) On the left hand side is DR, which is Assets, Dividends and EXpenses (ADEX). Whatever DR to the account on left hand side, will increase the balance, and CR will decrease it.


b) On the right hand side is CR, which is Liabilities, Equity and Revenue (LER). Whatever CR to the account on right hand side, will increase the balance, and CR will decrease it.


This blog is part of a series of the blogs to share my experience on how to enable the Odoo CE Accounting to be on par with any other Accounting software in the market.

  • Read this blog on how to use Analytic Account and Analytic tags to keep track of business expenses, cost and profits, by project, cost center or department.

  • Read this blog on different options of doing bank reconciliation in Odoo.

  • Read this blog on what are the features that are Nice-to-Have in Odoo CE Accounting.

  • Read this blog on how to configure Profit & Loss and Balance Sheet Reports in the Odoo CE.

 

Sales Process Accounting with Inventory

When a product of 500 MYR is sold and delivered, we all know that there will be an equivalent of 500 MYR increase of Cash or Bank amount, while the stock cost of xxx (eg. 300) MYR inventory will be deducted. 500 MYR deducts 300MYR is the profit.


The following will be how it is working in the Odoo.

a. Create Sales Order and DO is validated

Balance Sheet Report

In Odoo, Stock Valuation Account, Stock Interim Account (Delivered) and Stock Interim Account (Received) are in the Current Asset type. According to rule no 2, Inventory is an Asset, which is on the DR (left). The stock valuation account will be CR 500 MYR (Decrease the balance), and DR 500 MYR (Increase the balance) on the Stock Interim Account (Delivered). Stock Interim Account (delivered) is an interim account to store the value of the stock that has not yet billed, but delivered.

note: We assume the stock value is 500 MYR, but in actual fact it is the Cost of Goods, which would be 300 MYR.



b. Customer Invoices is created and validated

Balance Sheet Report

In Odoo, Account Receivable(AR) is a Current Asset type. According to rule no 2, AR is an Asset, which is on the DR (left). AR is the money owed to your company, by your customers.

AR will be DR 500 MYR (Increase the balance), while Stock Interim Account (Delivered) will be CR 500 MYR (Decrease the balance).

In short, Stock Valuation Account (inventory) balance decreases, while the Account Receivable balance increases. To summarize it, until now, your inventory has decreased, while your customer's debt to you has increased.


Profit & Loss Report

In Odoo, Product Sales is a Revenue (Income Account type), according to rule no 2, is therefore on the CR (right). Product sales will be to CR 300 MYR (Increase the balance) to Income Account.

Cost of Goods Sold is a Cost of Revenue Account type, according to rule no 2, is an Expenses, and therefore on the DR (left). DR 300 MYR (Increase the balance) to COR account.

In short, Income Account (Revenue) balance increases, while the Cost of Revenue balance also increases. To summarize, Net Profit is Revenue deducts COGS.



c. Register Payment for Customer Invoice

Balance Sheet Report

In Odoo, Bank Account is a Current Asset type. According to rule no 2, Bank Account is an Asset, which is on the DR (left).

When customer paid the invoice, Bank Account will be DR 500 MYR (Increase the balance), while AR (your customer debt to you) will be CR 500 MYR (Decrease the balance).

In short, at the end of the sale process, Stock Valuation Account (Inventory) balance decreases, while the Bank Account (Revenue) balance increases.



 

Purchase Process Accounting with Inventory

When purchase a stock of 300 MYR, we all know that there will be an equivalent of 300 MYR decreases of Cash or Bank amount, while the inventory value will be increases by 300 MYR.


The following will be how it is working in the Odoo.

a. Create Purchase Order and Good Receipt is validated

Balance Sheet Report

In Odoo, Stock Valuation Account and Stock Interim Account (Received) are in the Current Asset type. According to rule no 2, Inventory is an Asset, which is on the DR (left). The stock valuation account will be DR 300 MYR (Increase the balance), and CR 300 MYR (Decrease the balance) on the Stock Interim Account (Received). Stock Interim Account (Received) is an interim account to store the value of the stock that has received, but not yet paid.


b. Vendor bill is created and validated

Balance Sheet Report

In Odoo, Account Payable(AP) is a Current Liabilities type. According to rule no 2, AP is a Liabilities, which is on the CR (right). AP is the money owed to others (debts to your vendor).

AP will be CR 300 MYR (Increase the balance), while Stock Interim Account (Received) will be DR 300 MYR (Decrease the balance).

In short, Stock Valuation Account (Inventory) balance increases, at the same time, Account Payable (Debts to your vendor) balance increases.




c. Register Payment for Vendor Bills

Balance Sheet Report

In Odoo, Bank Account is a Current Asset type. According to rule no 2, Bank Account is an Asset, which is on the DR (left).

When you paid the vendor bill, Bank Account will be CR 300 MYR (Decrease the balance), while AP will be DR 300 MYR (Decrease the balance).

In short, Stock Valuation Account (Inventory) balance Increases, while the Bank Account balance decreases. To summarize, at the end of the purchase process, your inventory value has increased by 300 MYR, while your bank account balance has decreased by 300 MYR.






Click "Like" at the bottom of this blog, to motivate us to continue sharing more Odoo tips.

1,962 views2 comments

Recent Posts

See All

2 Comments


Kimverly Murao
Kimverly Murao
Aug 22, 2022

Hi Sir Tek Siong, Hock, inventory valuation, inventory interim received and delivered floats in the balance sheet. How will we zero that out?


Like

support
Jun 29, 2021

What happens when a sales invoice is created before the product is delivered and during product delivery the cost has changed. Odoo's stock interim (del) accounts do not knock off because there is a cost difference. How do you solve this?


Thanks

Like
bottom of page