Inventory control
Stock moves when the document posts, and the cost of what you sold is worked out at the same moment — there is no separate stock ledger to reconcile.
- Parts, services and labour, each linked to its own inventory, income, expense and tax accounts.
- Make and model fields, and a part number the way you write it.
- On hand, on order, committed and available, per warehouse.
- Several warehouses, with transfers between them and stock adjustments.
- Cost of goods sold calculated on every sale.
- Sell price, list price, last cost and average cost held per part.
- Customer and vendor price matrices, including price breaks by quantity.
- Discount by parts group for a whole class of items.
- Reorder level and lead time, feeding a what-to-order report.
- Serial numbers recorded on the way in and the way out.
- Bin location per part, printed on the pick list.
- Group parts into partsgroups for reporting and pricing.
- Attach an image and a long description to a part.
- Obsolete a part without losing its history.
- Import the catalogue from CSV, and export it the same way.
- Stock status, inventory value and sales-by-part reports.
Adding a part
- Open Goods & Services › Add Part. Number, description and group; the number can be left blank to be assigned.
- Set the inventory, income and COGS accounts (the defaults are filled in) and tick the taxes the part attracts.
- Enter sell price, list price and last cost; the markup is calculated. Unit, weight, reorder point (ROP) and bin location are optional but feed the reports and pick lists.
- Tick Check Inventory to have invoices refuse a quantity that is not on hand.
- Lower down, the vendor section holds each supplier’s own part number, cost, currency and lead time; the customer section holds price breaks by customer or price group, with a quantity break and a validity period.
- Save. A Service is the same record without stock fields; a Labour/Overhead item is a service used on assemblies.
Stock on hand and what to order
- Goods & Services › Reports › Parts is the stock report: tick Qty, ROP, Bin and Warehouse for stock status, or Sell Price, List Price, Last Cost and Markup for a price list.
- The status filter narrows to parts On Hand, Short (below reorder point) or Obsolete; tick the document types to see each part’s movements by invoice and order.
- Logistics › Reports › Requirements works out what to order: on hand, less what sales orders need, plus what is already on purchase order, against the reorder point.
- Logistics › Merchandise › Transfer moves stock between warehouses; Stock Assembly builds assemblies from their components.
How cost of goods sold is worked out
- Buying 10 units at 400 posts Inventory 4,000 / AP 4,000. Selling 2 at 500 posts AR 1,000 / Sales 1,000 and COGS 800 / Inventory 800. Gross profit on the sale: 200.
- Cost is taken first-in, first-out: if 5 more arrive at 430, sales keep costing at 400 until the first 10 are gone, then at 430. Average cost on the part record is informational.
- You can sell what has not been bought yet — goods received before the vendor invoice. On-hand goes negative and no COGS posts; when the purchase is recorded, COGS for those oversold units is posted then.
- Editing and reposting an old sales invoice disturbs the FIFO layers and the COGS after it. Prefer a credit invoice and a fresh invoice (Audit Control can enforce this); if it has already happened, System › Maintenance › Repost Invoices recalculates COGS from a date you give.
- To see the ledger rows behind any invoice, type its number into the reference field of General Ledger › Reports.
- Group parts into groups for reporting and the till, and into price groups for customer pricing. Once a part has been sold, leave its tax accounts alone.
More screens
From the blog
- Serial Number Management in SQL-Ledger — In accounting and inventory management, tracking inventory through serial numbers is needed for some businesses.
- Incorrect COGS after editing invoices — The issue with the Cost of Goods Sold (COGS) going out of sync in SQL-Ledger is a known problem, especially when editing past invoices.
Every dataset on our hosting has this, from day one.
Create your free account or ask us about migrating