Internal consumption records stock that your own business uses up instead of selling: oil and spare parts used to service the delivery vans, cleaning supplies for the branches, packaging used for in-house jobs, materials issued to a project. An issue takes the stock out of a warehouse at its current cost and charges that cost to an expense. A return puts unused materials back at the cost they were issued at. Nothing is invented by hand: SolaStock works out the cost from the stock itself, so the quantity, the value on hand and (when you are connected) the accounting expense always agree.
Use it instead of an Adjustment whenever the stock left for a known business purpose. An adjustment says "something is wrong with the count" (damage, loss, found stock); a consumption issue says "we used it, here is who it went to and why".
Typical users: warehouse managers and storekeepers who issue materials to workshops, branches and projects; inventory managers who approve and post; accountants who review the expense in SolaCount.
Where to find it
| Screen | How to open it | URL |
|---|---|---|
| Consumption list (Issues / Returns) | Sidebar Operations → Internal Consumption (the first item in the Operations group) | /inventory/internal-consumptions |
| New issue | New issue (top of the list) | /inventory/internal-consumptions/new |
| Return unused materials | Return unused materials on a posted issue | /inventory/internal-consumptions/new?issue={issue id} |
| Document page | Click a document number | /inventory/internal-consumptions/{id} |
| Edit a draft | Edit draft on a draft's page | /inventory/internal-consumptions/{id}/edit |
| Consumption report | Consumption report (top of the list) | /inventory/internal-consumptions/report |
Permissions (each is a separate permission, so you can let storekeepers prepare issues while only a manager posts them):
| Permission (as shown in role management) | Allows |
|---|---|
| View internal consumption | See the menu item, the list, documents and the report. |
| Create consumption issues | Save a new issue as a draft, and edit or delete issue drafts. |
| Approve consumption documents | Click Approve. |
| Post consumption issues | Click Post on an issue. |
| Return unused consumption | Create a return and post it, and edit or delete return drafts. |
| Override internal-consumption expense account | Choose an Account override on a line and set default accounts on items and categories. |
Who has them by default:
| Role | View | Create | Approve | Post | Return | Override account |
|---|---|---|---|---|---|---|
| Organization owner, SolaStock Administrator | Yes | Yes | Yes | Yes | Yes | Yes |
| Inventory Manager, Warehouse Manager | Yes | Yes | Yes | Yes | Yes | No |
| Warehouse Operator | Yes | Yes | No | No | No | No |
| Inventory Viewer | Yes | No | No | No | No | No |
| Organization Manager / Member (no SolaStock role) | Yes | Yes | Yes | Yes | Yes | No |
| Organization Viewer, Accountant | Yes | No | No | No | No | No |
Scoped roles only see documents of the warehouses assigned to them on Team access, and they can only issue from those warehouses. Without the menu permission the item is not shown at all. Built-in role sets that were never customised received the consumption permissions automatically when the feature was released; a role set your administrators customised is left exactly as they set it.
Screen tour: the consumption list
The page is titled Internal Consumption.
- Toolbar: Issues, Returns (choose which kind of document the table shows; Issues is the default), New issue (only if you can create), and Consumption report.
- Table columns:
| Column | Meaning |
|---|---|
| Document number | IC-000001, IC-000002, ... for issues; ICR-000001, ... for returns. Click to open. |
| Date | The document date (the date the stock movement and the expense are dated). |
| Warehouse | The warehouse the stock left (or came back to). |
| Status | Draft, Approved or Posted. |
- Paging: 25 documents a page. When there is more than one page, Previous / Next and a "page / pages" counter appear under the table.
- Documents of warehouses outside your assignment are not listed.
Document states and what they do
| State | Stock and value | Accounting | What you can do |
|---|---|---|---|
| Draft | No movement. The lines only show a cost preview. | None. | Edit draft, Delete draft, Approve (with approval permission), Post. See Edit or delete a draft. |
| Approved | No movement. A manager confirmed the draft. | None. | Post. An approved document can no longer be edited or deleted. |
| Posted | Stock leaves the warehouse (issue) or comes back (return). The cost is fixed at posting. The document is locked. | When connected, an accounting event is queued for SolaCount. | Open it, follow the journal link, Return unused materials (issues only). |
Approval is optional. Without it a draft can be posted directly. Turn it on in Settings → Inventory Policy with the checkbox Require approval for internal consumption: from then on both issues and returns must be Approved before Post, otherwise posting is refused with "Approve this document before posting."
There is no "cancel" and no "reverse" for a posted consumption document. Posted documents are locked ("Posted documents cannot be edited or deleted. Use a return against the original issue."). The correction for stock issued by mistake is a return.
Create an issue
-
Open Operations → Internal Consumption and click New issue. The page is titled New issue.
-
Fill the header:
Field Required Rules / defaults Notes Date Yes Defaults to today. The stock movement and the accounting entry are dated with it. When you are connected, it must fall in an open accounting period of SolaCount. Warehouse Yes Your organization's default warehouse is pre-selected when you are allowed to use it. Must be an active warehouse you are assigned to. Inactive warehouse: "Select an active warehouse." Reason Yes 3 to 500 characters. Say why the materials were used, for example Monthly van servicing. Department (optional) No Shown only if your organization has departments. Used to filter the report. Must belong to your organization. Project (optional) No Shown only if your organization has projects. Same. Recipient (optional) No Up to 255 characters. The person or team who received the materials. Notes No Up to 10,000 characters. -
Fill the lines (up to 200 per document). Click Add item for another line; Remove deletes a line.
Column Required Rules / defaults Notes Item Yes Type in Search items, then pick SKU · namefrom the list. Only active inventory items are offered (the first 100 matches).Services and non-stock items can never be consumed: "Internal consumption requires an active, stock-tracked item held as capitalized inventory." Quantity Yes Greater than 0, up to 4 decimals. Defaults to 1. In the unit selected next to it. Unit No The item's base unit by default. Another unit of the item is converted to the base unit using the unit conversion. Bin No Bins of the chosen warehouse. Take the stock from this bin. Lot No Lots of the item in the warehouse. For lot-tracked items. Serial number No Serial numbers of the item in the warehouse. Choosing a serial sets the quantity to 1. Available stock / Inventory cost / Consumption expense account (preview) — Read-only. See The line preview below. Account override No Only shown if you hold Override internal-consumption expense account. Default Resolve automatically. Type in Search account code or name to narrow the list, then pick the account shown as code · name.See Which expense account is used. -
Click Save draft. You land on the document page with status Draft.
If the connection drops while saving you see "The save outcome is uncertain. Review the document status before retrying." with a link Review accounting status to the list. Each form carries a hidden submission key, so a second click or a retry of the same form never creates a duplicate; if the same key is reused with different content you get "This submission key was already used with different content. Review the saved document."
The line preview
When an item and a warehouse are chosen, each line shows a live estimate:
- Available stock - on hand minus reserved for that item, warehouse, bin and lot.
- Inventory cost - what the quantity would cost today, using the item's costing method (weighted average or FIFO). It is only an estimate: at posting the cost is calculated again under lock, and no cost can be typed in.
- Consumption expense account - the account that will receive the expense (see below), or Standalone — no accounting entry if you are not connected to SolaCount.
If the account cannot be resolved the line shows the problem in red with a link Review connection settings (for example "Select a valid internal-consumption expense account and inventory asset mapping in connection settings").
Which expense account is used
When SolaStock is connected to SolaCount, every line needs an expense account. SolaStock picks the first one that is set, in this order:
- Account override on the line (only people with the override permission can choose one).
- The Consumption expense account on the item (Items → Edit item → Inventory setup).
- The Consumption expense account on the item's category (Settings → Master Data → Categories).
- The connection default: Default internal-consumption expense account, an account role on the SolaCount connection page.
The rule is fail-closed. If the account that is selected is invalid (not an active, postable expense account of the connected SolaCount organization) the line is refused. SolaStock never silently falls back to a lower-priority account, because that would put the expense in the wrong place. If nothing is configured at all you see "Select a valid internal-consumption expense account and inventory asset mapping in connection settings" and the posting is refused. A user without the override permission who submits an override gets "You do not have permission to override the consumption account."
The inventory side of the entry always uses the Inventory asset account of the connection, and the item must be mapped to a SolaCount inventory item whose inventory account matches it.
The Consumption expense account fields on the item and category forms are searchable account pickers: type part of the account code or name in Search account code or name and choose the account, shown as code · name, from the active, postable expense accounts of the connected SolaCount organization. The picker is greyed out for people without the override permission. The account can only be saved when the organization is connected and by someone with the override permission, and the account must be an active, postable expense account ("Select a valid expense account." otherwise). Leave them on Resolve automatically to use the next level. A category default is edited on the category's own row in Settings, not on the brand row.
Edit or delete a draft
A document can be changed or removed only while it is a Draft. Once it is Approved or Posted it is locked ("Only drafts can be edited.").
Who can do it: the person needs the same permission that creates that kind of document, Create consumption issues for an issue draft and Return unused consumption for a return draft, and must be assigned to the draft's warehouse (and, when editing an issue, to the warehouse it is changed to). The buttons are shown only to people who may use them.
Edit a draft
- Open the draft and click Edit draft. The form opens with the saved header and lines; the page is titled Edit draft.
- Change what you need: date, warehouse, reason, department, project, recipient, notes and the lines (items, quantities, units, bins, lots, serial numbers and, with the override permission, the Account override). All the rules of a new issue apply again, for example only active Inventory items, and the expense account is worked out again. For a return draft the warehouse, department and project stay those of the original issue, the lines can only be lines of that issue, and the date still cannot be earlier than the issue date.
- Click Save draft. You return to the document page; the document keeps its number.
Delete a draft
- Open the draft and click Delete draft.
- Confirm: "Delete this draft? Only unposted drafts can be deleted; stock is not affected."
- You return to the consumption list. The draft and its lines are removed.
Every edit and every deletion is written to the inventory audit log, with the document number, who did it, and the header and lines before (and, for an edit, after) the change. Administrators see these entries on Stock Ledger → Activity audit (actions internal_consumption.update and internal_consumption.delete).
Post an issue
- Open the draft. If your organization requires approval, a person with approval permission clicks Approve; the state becomes Approved.
- Click Post. The posting runs in one transaction:
- the stock leaves the warehouse (bin, lot and serial as chosen) dated with the document date;
- the cost of each line is taken from the stock: weighted average cost, or the FIFO layers consumed;
- each line stores its unit cost and total cost, expense account and inventory account;
- when connected, one accounting event is queued.
- The document page now shows the Inventory cost per line and the accounting status.
Possible refusals: not enough stock ("Insufficient stock for item ...") unless your inventory policy allows negative stock; an inactive item; a locked or closed accounting period ("The accounting date is locked, closed, or has no open period. Choose an open accounting date in SolaCount."); a connection that does not yet include internal consumption ("Enable internal consumption in the reviewed SolaCount connection workflows before posting. Open connection settings."); a missing account mapping. Nothing is posted when a refusal happens and the document stays a draft.
Return unused materials
Use a return when part of an issued quantity was not used.
- Open the posted issue and click Return unused materials (visible with Return unused consumption). The page is titled Return unused materials.
- The form is pre-filled from the issue: the warehouse is locked, the lines show only items that still have an outstanding quantity (issued minus already returned), in the unit they were issued in. You can lower the quantity; you cannot add other items. Set the Date (it cannot be earlier than the issue date: "Return date cannot precede the original issue date.") and the Reason.
- Save draft, then Post (and Approve first if approval is required). The document number is
ICR-nnnnnnand its page links back to the Original issue.
How a return is valued:
- The units come back at the cost they were issued at, not at today's cost. For a weighted-average item the original total is returned in proportion (return 2 of 12 units = 2/12 of the issue cost). For a FIFO item the consumed layers are restored in proportion, so the layers and the remaining value look as if the units had never left. When a quantity is returned in several steps, the last return takes the rounding remainder so the issue and its returns always add up exactly.
- Lot, serial number and bin are the same as on the issue.
- You cannot return more than is outstanding: "The return exceeds the outstanding issued quantity. Refresh the issue to review earlier returns."
- A serial-numbered unit is returned whole: "Return the whole original serial unit. Serialized units cannot be returned fractionally."
- A return uses the unit, accounts and cost of the original issue, even if the catalog has changed since.
- A return of an issue that was posted while you were not connected stays a stand-alone document with no accounting entry, even if you connect later.
The document page
Header: Internal Consumption with the document number, then the state, date and warehouse, the Reason, Notes and (for returns) the Original issue link.
| Column | Meaning |
|---|---|
| Item | Item name. |
| Quantity | Quantity in the base unit. |
| Returned quantity | Total already returned against this line (0 for returns and for new issues). |
| Inventory cost | Total cost taken out of stock, once posted. |
| Consumption expense account | The account the expense is charged to (its ID), or Standalone — no accounting entry. |
Below the table is the accounting line:
| Text | Meaning |
|---|---|
| Accounting pending | Posted while connected; the event is waiting to be created. |
| Accounting queued / Accounting processing | Waiting for, or being sent to, SolaCount. |
| Accounting synchronized | SolaCount accepted it and created the journal. A link Accounting journal · {number} opens it in SolaCount. |
| Accounting retry scheduled | A temporary delivery problem; it retries by itself. |
| Accounting needs review, Accounting blocked: review mappings, Accounting blocked: review integration details | Open Review accounting status and fix the mapping or contract problem, then retry. |
| Accounting delivery stopped: review and retry / Accounting needs intervention | Repeated failures. A person with retry permission must review and retry on the events page. |
| No accounting entry required / No accounting value | The document had no value to book. |
| Standalone — no accounting entry | You were not connected when it posted. |
| Accounting failed — review integration | Delivery failed; see the error shown below. |
The page refreshes itself every 15 seconds.
Buttons (only those you may use): Edit draft and Delete draft (drafts), Approve (drafts), Post (drafts and approved documents), Return unused materials (posted issues).
What posting does to the stock ledger and accounting
- Stock Ledger: each line adds an outbound row dated with the document date (a return adds an inbound row linked to the original issue row). The Source column links back to the consumption document, so you can go from the ledger to the document and back. See Stock Ledger.
- Current Stock: on hand and value fall by the issue and rise by a return.
- SolaCount (connected): an issue debits the consumption expense account and credits Inventory asset for the total cost of each line; a return reverses that (debit Inventory asset, credit the expense) at the original cost. Lines with no value create no entry. The entry uses the base-currency cost, never a typed amount.
Consumption report
Consumption report answers "what did each item cost us in internal use between two dates".
Filters: From date, To date, Warehouse, Department (optional) and Project (optional) (when they exist), Item (search), then Apply filters.
| Column | Meaning |
|---|---|
| Item | Item name. |
| Issued quantity / Issued cost | Total of posted issues in the period. |
| Returned quantity / Returned cost | Total of posted returns. |
| Net quantity / Net cost | Issued minus returned. |
Only posted documents count, drafts and approved documents do not. The report shows 100 items a page and respects your warehouse assignment.
How it connects
- Items: only active items whose Item type is Inventory can be consumed. The item form has the Consumption expense account default. See Items.
- Settings: the approval checkbox, the category default and the permissions are in Settings.
- SolaCount: posting needs the connection to include internal consumption and a valid expense account; see SolaCount. Events are named
internal_consumption.postedandinternal_consumption.returnedand appear on the integration events page. - Landed costs and adjustments: these change the value of stock but not through consumption. Consumption always takes the stock at its current cost. See Landed Costs and Adjustments.
- Reports: the valuation reports pick up the lower stock value right away. See Reports.
Worked example 1: monthly van servicing
Al Noor Trading LLC keeps LUB-OIL-1L (Engine oil 1L, weighted average) in Dubai Main: 80 bottles on hand at AED 18.50, value AED 1,480.00. Hamdan (Warehouse Operator) prepares the issue; Khalid (Warehouse Manager) posts it.
- Hamdan opens Internal Consumption → New issue: Date 2026-10-11, Warehouse Dubai Main, Reason Monthly van servicing, Department Fleet, Recipient Workshop - Ali. Line:
LUB-OIL-1L, Quantity 12. The preview shows Available stock 80, Inventory cost 222.00, account 5410 · Vehicle maintenance (from the item's default). Save draft givesIC-000007, Draft. - Khalid opens it and clicks Post. Dubai Main now has 68 bottles at AED 18.50, value AED 1,258.00.
- SolaCount receives the event and posts Dr 5410 Vehicle maintenance AED 222.00, Cr Inventory AED 222.00. The page shows Accounting synchronized and a journal link.
- Two bottles were not needed. Khalid opens
IC-000007and clicks Return unused materials. The line is pre-filled with 12; he changes the quantity to 2, Reason Unused, Save draft, Post.ICR-000003posts: on hand 70, value AED 1,295.00 (2 x 18.50 = 37.00 returned), journal Dr Inventory 37.00, Cr 5410 Vehicle maintenance 37.00. - The Consumption report for October with Department Fleet shows
Engine oil 1L: Issued quantity 12, Issued cost 222.00, Returned quantity 2, Returned cost 37.00, Net quantity 10, Net cost 185.00.
Worked example 2: a FIFO item and a partial return
NZL-04 (Spray nozzle) is FIFO. Layers in Jebel Ali: 10 units at AED 4.00 (received 1 October) and 10 units at AED 5.00 (received 5 October).
- Sara issues 15 units to the Warehouse refit project: Inventory cost 10 x 4.00 + 5 x 5.00 = AED 65.00 (about 4.3333 a unit). Remaining: 5 units at AED 5.00 = 25.00.
- Later 6 of the 15 turn out to be unused. She returns 6 units. The return takes 6/15 of the issue: AED 26.00. The layers are restored in proportion: 4 units back into the 4.00 layer and 2 units back into the 5.00 layer (16.00 + 10.00). Stock is now 11 units, value AED 51.00 (6 x 4.00 + 5 x 5.00 + 2 x 5.00), and the FIFO order of cost is intact.
- The report for the project shows issued 15 / 65.00, returned 6 / 26.00, net 9 / 39.00.
Tips and common problems
| Problem | Cause | Fix |
|---|---|---|
| New issue is missing. | You lack Create consumption issues, or the menu item is hidden because you lack View internal consumption. | Ask an administrator to adjust your role in Settings (custom roles) or Team access. |
| The item is not in the picker. | It is inactive, or its type is Service or Non-inventory. | Fix the item in Items. |
| "Approve this document before posting." | Require approval for internal consumption is on. | Ask someone with Approve consumption documents to click Approve. |
| "Select a valid internal-consumption expense account ..." | Connected, but no valid expense account was found on the line, item, category or connection. | Set the default on the connection page or on the item or category; check that the account is active and an expense account. |
| "Enable internal consumption in the reviewed SolaCount connection workflows before posting." | The connection's reviewed workflow list does not include internal consumption (typical for an older connection). | Ask an integration administrator or Solavel support to add it; see SolaCount. |
| The accounting line stays on a blocked state. | A mapping or integration detail needs review. | Click Review accounting status, fix, Retry the event. |
| I issued the wrong quantity. | Posted documents are locked. | If the document is still a Draft, click Edit draft and correct it. Once posted, post a return for the difference, or issue the missing amount in a new document. |
| Edit draft or Delete draft is missing. | The document is approved or posted, or you lack Create consumption issues (issues) or Return unused consumption (returns), or the warehouse is not assigned to you. | Ask someone with the right permission and warehouse, or post a return if it is already posted. |
| The return form does not offer an item. | The whole issued quantity was already returned. | Nothing to return. |
| I want to write stock off. | Consumption is for planned use. | Use an Adjustment for damage or loss. |