Related Applets
“Which document actually takes stock out?” is the question this page answers, along with its twin, which one brings stock in. Inventory owns none of those documents. They belong to Purchasing, Sales, Point of Sale, Manufacturing and RMA, and each one decides for itself whether it moves stock, whether it posts to the general ledger, and which account it posts to. The document type makes those decisions, and its name is a poor guide to them.
This page is for the stock controller and the accounts person who choose which documents a company uses. It goes through the neighbouring applets one at a time and says what each one writes into the stock ledger, what it posts, and which pairs count the same goods twice. It also covers what Inventory hands back to the other modules. The module’s own 22 applets are on the module page, and the mechanism behind the balance is in Stock balance, end to end.
Before the first document moves stock
Each of these lives in another module. If one is missing, the stock document still saves. The problem shows up later, somewhere else.
| What must exist | Where | What you see if it does not |
|---|---|---|
| The document item is a basic item, or an alias linked to an inventory item (a basic item with no link is linked for you the first time it posts) | Doc Item Maintenance | A service item, or an alias with no inventory item: the invoice finalises and posts its sale, and the stock never moves |
| Each branch has a default location, and documents carry the right delivery location | Organization | Stock leaves or arrives at a location nobody uses. On a sale, There’s not enough stock although the shelf is full: the check reads the delivery location when one is set |
The company’s default GL codes for the receiving pair you chose: CREDITOR_NOT_INVOICED and INVENTORY_NOT_INVOICED for GRN Stock In, the purchase codes for a Purchase Invoice | Chart of Account | The GRN Stock In moves the stock and its journal fails, or posts short with no error |
STOCK_ADJUSTMENT and STOCK_BALANCE | Chart of Account | Stock adjustments move the stock and post no journal, or post short with no error when only some lines resolve a code |
COGS and STOCK_BALANCE | Chart of Account | Month End Processing writes no cost-of-sales journal for the company |
| A Knock Off Configuration row from GRN Stock In to Purchase Invoice No Stock In, if you receive on GRN Stock In | Organization, the company’s Knock Off Configuration | The receipt is not queued for a Purchase Invoice No Stock In to knock off. A bill raised without that link leaves the Creditor Not Invoiced accrual standing. A bill raised on an ordinary Purchase Invoice brings the stock in a second time |
What each neighbouring document does to stock and to the ledger
The direction is fixed by the document type. The server writes it onto every line each time the document is saved, whichever applet or API client saved it, so there is no setting that changes it. +1 brings stock in, −1 takes it out and 0 moves nothing. The accounts named are the company’s default GL codes. A GL code on the line, the header or the item takes their place, except on a GRN Stock In, which ignores the line’s code and always posts its creditor side to the company default.
Buying: Purchasing
| Document | Stock | What it posts | Use it when |
|---|---|---|---|
| Purchase Invoice (Internal) | +1 | Supplier against your Purchases account, not the stock account | You receive and bill together, with a plain GRN (or none) before it. This is how most companies receive |
| Purchase GRN (Internal) | 0 | Nothing | You want a record of the delivery and will take the stock in on the invoice. Until that invoice exists, the GRN raises the available quantity, not the balance |
| Purchase GRN Stock In | +1 | Inventory Not Invoiced against Creditor Not Invoiced | You want stock and cost on the shelf the day the goods arrive, and the bill matched later |
| Purchase Invoice No Stock In | 0 | The bill, to Purchases against the supplier. When it is linked to an earlier document, normally the GRN Stock In it knocks off, it also moves its whole total out of Creditor Not Invoiced and Inventory Not Invoiced. Linked only to a purchase order, it moves them too, with no accrual to clear | Billing goods a GRN Stock In already received |
| Purchase Return (Internal) | −1 | Your Purchase Returns account | Goods go back to the supplier |
| Purchase Refund Note | −1 | Your Purchases account, not Purchase Returns, unless the line, the header or the item names another code | The supplier refunds goods you sent back |
| Purchase Order (Internal) | 0 | Nothing | Ordering. It is not in the main Stock Availability figure either |
Selling and taking back: Sales and Point of Sale
| Document | Stock | What it posts | Use it when |
|---|---|---|---|
| Sales Invoice (Internal) | −1 | Receivable, sales and tax. No cost line: cost of sales is the month-end journal | Billing goods as they leave |
| POS General cash bill | −1 | The same as an invoice, plus the money received | The counter |
| Sales Invoice No Stock Out | 0 | Receivable, sales and tax | Billing goods another document already took out |
| Sales GIN Stock Out | −1 | Journalled like a sale | Rarely. It is not in the applet store and is reached through the API. A Sales Invoice also takes stock out, so read its page before using the two for the same goods |
| Delivery Order (Internal) | 0 | Nothing | Recording a delivery. The goods stay in stock until the invoice |
| Sales Return (Internal) | +1 | Your Sales Returns account. It can also record the refund on the document itself | Goods come back from a customer |
| Sales Refund Note | +1 | Your Sales account, not Sales Returns, unless the line, the header or the item names another code | Goods come back. Know that the value lands on Sales, so a returns analysis built on the Sales Returns account will not include it |
| Sales Credit Note | 0 | Reduces sales and the receivable | Money off with no goods coming back |
| Sales Order (Internal) | 0 | Nothing | Promising. Until a Sales Invoice knocks it off, it lowers available, and it can hold a reservation |
| Customer Consignment | −1 / +1, with a mirror line on the second location | Nothing | Stock you still own, placed at a customer’s site. The company’s total and its cost do not change |
Making, repairing and selling online: other modules
| Applet | What it writes into stock |
|---|---|
| Manufacturing | Finalising a process instance takes its input lines out of stock and puts its output lines in, at each line’s location. No cost passes from the inputs to the finished item, and nothing posts to the ledger |
| Internal RMA | Nothing. A Customer RMA and a Supplier RTV are records by design. Goods go back to a supplier on a Purchase Return or Purchase Refund Note, and goods that come back from a customer need a stock-in document of their own |
| Non Stock and Trade In | Nothing in the stock balance. A trade-in taken at the till goes into its own register, one serial at a time, and a later sale of that serial takes it out again |
| EcomSync | Nothing. It reads the balance, works out each marketplace’s quantity from it, and stores that on the listing |
Choose which document moves the stock, before the first delivery
Two neighbouring documents that both carry +1, or both −1, count the same goods twice if both are used for one delivery. Each document is valid on its own, and BigLedger lets you finalise both: the GRN Stock In page describes exactly this double count in its troubleshooting. So the choice is a person’s. The financial controller makes it once per company, before the first document, and writes it into the receiving and dispatch procedures.
- Receiving. Either plain GRN, then Purchase Invoice (the stock arrives on the invoice), or GRN Stock In, then Purchase Invoice No Stock In (the stock arrives on the receipt). Across BigLedger, most companies take stock in on the Purchase Invoice, many with no GRN before it. A company that takes in some suppliers on GRN Stock In and others on the Purchase Invoice is allowed, as long as no single delivery goes through both.
- Issuing. In practice, the Sales Invoice or the cash bill: the stock leaves when you bill. A Delivery Order before it moves nothing, so goods delivered and not yet billed are still in stock. The Sales GIN Stock Out also takes stock out, which is why its page warns against using it and a Sales Invoice for the same goods.
- Returns. A Sales Credit Note brings nothing back into stock. If goods came back, use a Sales Return or a Sales Refund Note. Across BigLedger, credit notes are raised far more often than returns, so check which kind of credit each one is.
You know the choice is holding when the check at the end of this page finds no delivery on two stock-moving documents.
A worked month at GadgetSphere
GSD, the distribution company, delivers 30 ultraportable laptops to a corporate client on 28 March, on
a Delivery Order. The invoice goes out on 3 April. At 31 March, Stock Balance still shows the 30 at
GSD’s warehouse, because the delivery order moved nothing. March’s Month End Processing reads closing
stock from the stock ledger, so it counts the 30 laptops, RM 96,000 at an average cost of RM 3,200, as
stock on hand. The sale and its cost both land in April, with the invoice. If your policy recognises a
sale when the goods are delivered, March is missing both the revenue and the RM 96,000 cost, so March’s
profit is understated by the margin on the 30 laptops and April’s is overstated by the same amount.
The same week at GS-KV-03, a customer brings back a pair of wireless earbuds and the cashier issues a
Sales Credit Note for RM 399. The earbuds go back on the shelf, and the system still counts them as sold.
The next stock take at GS-KV-03 finds one pair more than the system holds.
Neither of these is a fault. Each document did exactly what its type does. Two people’s jobs close the gap:
- Cut-off is the accountant’s job, on the last working day of the month. Take every delivery order dated in the month that no invoice has knocked off yet, and either invoice it before the close or accrue the sale and its cost together in the month-end working papers. Accruing only the cost puts a cost in the month with no sale against it. You are done when every delivery in the month is invoiced in the month or is on that list.
- The return is the counter’s job, at the counter. Goods that come back go on a Sales Return, which can also record the refund on the same document. A credit note is for money off when the goods stay with the customer. The supervisor checks the day’s credit notes against what went back on the shelf.
What Inventory hands back, and where each figure comes from
When a number from Inventory appears on another module’s screen, it is either read when you ask for it or stored at an earlier moment. Which of the two it is explains most of the disagreements.
| Figure | Seen in | Stored or worked out | From what |
|---|---|---|---|
| Stock balance on a line | Sales, POS and purchase document line pickers | Stored. Updated by the stock job after each FINAL | The stock ledger, per item and location |
| Available quantity | Stock Availability, before you promise | Worked out each time you load it | Balance, minus open sales orders not yet on a Sales Invoice, plus plain GRNs not yet on a Purchase Invoice, minus reserved. Purchase orders are not in the main figure |
| Reserved quantity | Stock Availability | Stored | Stock Reservation, written to by the Sales Order, Job Order and Packing Order applets as well as directly |
| Unit cost on a sales line | The document, and margin reports | Stored on the line after FINAL, and rewritten by a back-dated receipt | The moving average at the time of the line (Costing internals covers the other methods) |
| Minimum and maximum levels | Stock Replenishment runs, which raise Purchase Orders or outbound Stock Transfers | Stored on the balance row | The item’s Location tab, or a replenishment run |
| Closing stock value | Month End Processing in Financial Report, the cost-of-sales journal | Read from the stock ledger when the close runs, unless a manual closing value is set for the month | Each item’s last ledger line before the month end, at the company’s Inventory Closing Base On cost |
| Marketplace quantity | EcomSync listings | Stored on the listing each time it is worked out | The balance at the branches EcomSync is set to read, less open marketplace sales orders when that setting is on, then less a safety buffer or times a percentage, never below zero |
The stock account on your Balance Sheet is not in this table. It is a journal balance, and Reports explains how it is made and the six conditions for it to agree with the stock report.
When another module’s number disagrees with stock
| What you see | The usual cause | Check first | Fix |
|---|---|---|---|
| A finalised invoice or GRN Stock In never changed the balance | The document item is not a stock item: a service, or an alias that points at no inventory item (an unlinked basic item is linked for you at posting) | The item’s type, and an alias’s link, in Doc Item Maintenance | Fix the item. Then ask support about the documents already finalised |
| The same delivery is in stock twice | A GRN Stock In and an ordinary Purchase Invoice were both used for it | Stock Report > Stock Movement Report for the item, filtered by Server Doc Type to both types | VOID the duplicate, and settle the GRN Stock In with a Purchase Invoice No Stock In |
| A customer returned goods and the system still counts them as sold | The return went on a Sales Credit Note | The month’s credit notes for that item | Raise a Sales Return for the goods. Keep the credit note only if it was for money off |
| Goods delivered last month are still in last month’s closing stock | They went out on a Delivery Order and were invoiced after the close | Delivery orders dated in the month with no invoice | Cut-off, as in the GadgetSphere month above |
| Stock Summary By Location shows fewer units in Sold than you issued | Goods issued on a Sales GIN Stock Out are counted under Others, not Sold | The Others column for the item | None needed. Read Sold plus that part of Others |
| There’s not enough stock on a sale, and the shelf has it | The line’s delivery location points at another location, often in a sister company | Delivery Location on the document, while it is DRAFT | Pick the branch again on Main Details so the delivery location follows it |
| A cashier sees an empty trade-in list at the till | The cashier’s role lacks read permission on the trade-in register | The role’s permissions | Grant the register’s read permission to every cashier role that takes trade-ins |
| A manufactured item has a cost of zero, or a cost from before the job | A process instance carries no cost from inputs to output | The item’s moving average at that location | Set it on purpose with Reset MA in Stock Adjustment |
What the neighbours will not do
Each limit below is fixed by the document type or by the posting rules, so the same thing happens from every screen and from the API. After each one: who does the job instead.
- No sale posts cost of sales. The sales journal has no cost line. Month End Processing writes cost of sales once a month, from the stock ledger, so a margin read from the ledger before the close is not the margin. The accountant runs the close and reads the margin after it.
- By default, no neighbouring document posts to the stock account. Purchases go to Purchases, GRN Stock In to Inventory Not Invoiced, sales to Sales, and the stock account moves at month end and on stock adjustments. A GL code on the line, the header or the item overrides the default, so a purchase line coded to the stock account does reach it, and the month-end close then counts that value a second time. Whoever reconciles the balance sheet looks for those lines after the close, with the tie-out on Reports.
- A Delivery Order, a credit note, a plain GRN or GIN, a Sales Order, a Purchase Order and the two No Stock documents never move stock, whatever applet raised them. The stock controller decides which stock-moving document follows each of them, as above.
- Customer Consignment and stock transfers post no journal. Stock moves between your own locations, and no money moves. The value stays at the company’s cost.
- A Supplier RTV does not send stock back. The Purchase Return (or a Purchase Refund Note) does. The buyer raises one for every RTV the supplier accepts.
- A process instance does not carry cost into the finished item, and posts nothing. Whoever costs production sets the finished item’s cost with Reset MA and records the value of unfinished production by manual journal.
- The marketplace quantity never writes back into the stock balance. Two numbers with a rule between them. The online team watches the listing. The stock controller watches the balance.
How you know your company is set up right
Ten minutes, once after you set a company up, and again whenever someone changes how it receives or returns goods.
- Receiving. Open Stock Report > Stock Movement Report for last month. In Advanced Search, set
Server Doc Type to
INTERNAL_PURCHASE_GRN_STOCK_IN, and run it again withINTERNAL_PURCHASE_INVOICE. If both return rows for the company, compare the supplier and reference columns. You are done when no delivery appears in both. - Returns. List last month’s Sales Credit Notes. For each one where goods came back, there should be a Sales Return or a Sales Refund Note for the same goods. You are done when every returned item has one.
- Cut-off, if you use delivery orders. You are done when every delivery order dated in the month is invoiced in the month, or is on the accountant’s cut-off list.
- Postings. If you receive on GRN Stock In, run step 3 of the module’s month-end check, in
Ledger and Journal Error Checking > Missing Journal
with
INTERNAL_PURCHASE_GRN_STOCK_IN. Then close the month in Financial Report.