Cost of goods calculation

OK absolute novice in accounts here. i got a few question regarding p & l and cost of goods sold.

  1. Isn’t cost of goods sold only to be shown in direct expense account after the goods are sold?
  2. why does the amount come as negative in cost of goods sold on stock entry?

I entered all the stock of the store from stock entry -
in accounts tree it was already showing me the entire amount. now as i sell the items its actually decreasing , shouldn’t it be the other way around?
like when i sell stock in hand should get subtracted and added in cost of goods sold.?

Also in profit and loss statement its showing me negative value in expenses.
check the profitability analysis :

This is where my confusion lies
income i get - why is expenses in negative ?
The negative amount is from cost of goods sold , other expenses come in positive like write off etc…

how can i be in this much profit when i haven’t sold my items i paid for?

is there some things to keep in mind while making stock entry for items like choosing account?

please advice…

1 Like

You are no novice in accounts, definitely. Your fundamentals seem to be rock solid.

Just go to general ledger and pick COGS and you will see all the transactions that posted these values into COGS.

Chances are that there are a few errors that have occurred while posting transactions because of which you have this problem.

I mean, won’t it be awesome in the real world to have -ve COGS?



@JayRam - thanks for the quick reply even during festive season

so here are some snaps of my GL for COGS -
ALL stock entries are credited and all the sales invoices are debited

So, in the end my profit loss statement looks something like this:

all other expenses are positive , shouldn’t COGS be positive? right now income - expense is becoming income - (-COGS expense )

all by stock entry are of type material receipt
COGS is calculating cost of items not even sold yet-
this is how my normal entry looks like

i am confused now between the debit and credit

is it system error or my wrong account management ? how can i rectify …

thanks again,

Hi @Taher_Khalil

Trust you’re doing great. I believe the issue is stemming from your Stock Entries. You apparently brought in stock (which I’m assuming is opening stock) with the difference account set as Cost of Goods Sold

What you should have done however is to set the difference account as ‘Temporary Opening’ so that the credit entry is booked against that account instead. Cost of Goods Sold is usually booked (debited) when goods are delivered; from your screenshots, it looks like this aspect is okay



I agree. That’s where @Taher_Khalil’s problem is. Correct this problem and your P&L will bloom like jasmine! :slight_smile:

1 Like

Thanks, @JayRam, and @wale,
could you suggest how to rectify this?
I have about stock 2k entries which I entered by data import tool, should I cancel all of them and re-enter putting temporary opening as difference account?
is there no easier way?

Do you mean its when I create any new stock entry it will be in the negative?
How should I handle any new stock from now on and how would accounting take place for it?

could you please help me out?

much appreciated.


1 Like

There is: Calculate the net effect of these entries and pass a journal entry to move the amount from one account to the other. So pass a Journal Entry that debits COGS by 97,627.91 and Credits Temporary Opening by 97,627.91.

When you are buying new products, the Purchase Receipt process will take care of this as long as you have set up your items as stock items.

Never use COGS in Stock Transfers, Stock Reconciliations. Use an appropriate Stock Valuation account.

So, when you have stocks, they are sitting as Stock Assets in your Balance Sheet. Only when you invoice an item does the stock valuation of that item move from your Balance Sheet and hits the expenses account and that’s the one place you need to use Cost of Goods Sold.

Hope that helps.



hi @JayRam,

yes that solved the problem , and now my accounts shows the actual profit . :smile:

so next time i make a new stock entry for opening stock i should set the difference account as either of " Temperory liability" or temporary opening?

and any other stock entries as stock adjustment ?

i could’nt find any way to set a default diference account - how can i set the default account?

Thanks again @JayRam , @wale -
you guys are life savers

Hi @Taher_Khalil


Mostly, though not in all cases

Use the ‘Customize Form’ tool. You can access it from the Setup module (or using the awesome search bar). Enter the Form Type as ‘Stock Entry Detail’. Scroll down to the field for ‘Difference Account’, expand that row and you’ll find an option for ‘Default’ towards the bottom of the dialog box. You can set whatever value (a valid account ledger) you want as default



You’re welcome :slightly_smiling_face:

Thanks @wale & @JayRam I did try to set up an new account (Stock Temp Acc) for Stock Entry and made it default in the customize form. However system keeps going back to Stock Adjustment account unless I change the account to Stock Temp Acc manually.

I also tried it by saving the new account as Stock Adjustment account. This is not much of concern as care can be taken to check the account before submitting Stock Entry.

The other major issue I am facing is on return.
There is a difference in Purchase Receipt Return. As it returns with the Valuation and puts the rest of the value to COGS which is wrong. When its profit on valuation different then it credits COGS and when Loss then it Dr. COGS but its wrong. It should put the full value to Creditors as credit note will have value as per the valuation which is not a right way