Stock basics
This page isn't translated yet; here it is in English.
What a new company gets
- Units of measure: Piece, Box, Carton, Dozen, Pair, Set, Kg, Gram, Litre, Metre and Hour. Add your own under Stock → Unit of Measure. Tick Whole Numbers Only for units that can't be split (pieces, boxes).
- Item groups: All Item Groups with Products, Services and Raw Materials. Groups can hold other groups, for example Electronics › Phones.
- Warehouses: All Warehouses (a group), Main Store and Goods In Transit, each ending with the company's short code (for example Main Store - ZT).
Items
Stock → Item → New.
- ID (item code) and Item Name are separate. Type the code yourself (for example TV-55-SAM), or set up a naming series under Settings → Naming Series so codes are numbered automatically (for example ITEM-00001). Codes are unique.
- Item Name can have a value in each language: click the translate button at the end of the field and type the Kurdish and Arabic names. An Arabic invoice prints the Arabic name, and searching in any language finds the item.
- Stock Unit: the unit stock is counted in, usually the smallest one you sell.
- Other Units: units you buy or sell in, with how many stock units each one holds. For example Carton = 24 when a carton holds 24 pieces.
- Barcodes: an item can have several, separate from its code. Each barcode belongs to one item. Scanning or typing a barcode in any item field finds the item.
- Keep Stock: switch it off for services and other things you don't count, such as delivery.
- Costing Method: leave it empty to use the company's method, or choose FIFO or Moving Average for this item.
Barcode labels
Click Print labels on an item, choose how many, the label size and the print language, and the labels open as a PDF in a new tab, ready for your label printer:
- 50 × 25 mm or 38 × 25 mm roll labels (one label per page, for thermal label printers);
- an A4 sheet of 3 × 8 labels (70 × 37 mm) for ordinary printers.
Each label shows the item name in the chosen language, its barcode and its code. A valid 13-digit EAN barcode prints as EAN-13; anything else prints as Code 128; an item without a barcode gets its item code as the barcode.
After receiving goods, Print labels on the submitted Stock Entry prints one label for each piece received (one per row for items counted in decimals, such as kilograms). Price labels will follow when items have selling prices.
Variants (colour, size …)
When an item comes in versions, for example a shirt in two colours and three sizes:
- Create the attributes under Stock → Item Attribute, for example Colour with Red (RED) and Blue (BLU), and Size with Small (S) and Large (L). The short code goes into the variants' item codes.
- Create the template item (for example SHIRT · Shirt), tick Has Variants, and list its attributes. Leave Value empty to use all of an attribute's values, or type some of them separated by commas.
- Save and click Create variants. Zanix creates every combination that doesn't exist yet, for example SHIRT-RED-L · Shirt (Red / Large), copying the template's group, units and settings.
Each variant is a normal item with its own code, barcodes and stock (and price, when Selling arrives). The template itself never holds stock. Stock Balance can show each variant, or add them up under their template with Add variants up by template. You can also make a variant by hand: choose the template under Variant Of and give a value for each attribute. Two variants can't have the same values, and an attribute value that variants use can't be removed.
Product bundles
A bundle is several items sold as one product, for example TV with stand. Create an item for the bundle with Keep Stock off, then Stock → Product Bundle → New: choose that item and list the items in it with their quantities. The bundle has no stock of its own; when it is sold, its items leave stock and its cost is what they cost.
Warehouses
Warehouses belong to a company and can be arranged in groups, for example All Warehouses › Erbil › Erbil Warehouse. Stock is kept in warehouses that are not groups. Link a warehouse to a branch to show where it is.
An In Transit warehouse holds goods on the road between two warehouses until the receiving side confirms they arrived.
Company settings
Under Setup → Company → Stock:
- Costing Method: how stock is valued, FIFO (first in, first out) or moving average cost.
- Allow Negative Stock: off by default, so an issue or sale larger than the stock on hand is refused.
Moving stock: Stock Entry
Stock → Stock Entry → New, choose the Type, then add the items. Defaults above the table fill the warehouse of each row that leaves it empty. Save, then Submit; stock only moves when the entry is submitted.
- Material Receipt: stock comes in, for example opening stock or goods found. Enter the rate (cost per unit) for each row.
- Material Issue: stock goes out, for example used in the office, damaged or given away. Zanix works out what it cost.
- Material Transfer: from one warehouse to another, for example from Main Store to Erbil Shop. The stock keeps its cost.
Transfers on the road (in transit)
When goods travel, for example 50 boxes from the Erbil warehouse to the Sulaymaniyah shop, tick Send Through Transit on the Material Transfer and choose the shop as the destination. When it is submitted, the goods leave Erbil and wait in the Goods In Transit warehouse: they are no longer in Erbil, not yet in the shop, and never counted twice. The transfer shows In Transit.
When the goods arrive, open the transfer and click Receive. Zanix prepares a receipt for everything still on the road; change the quantities if only part arrived, then submit. The transfer shows Partly Received or Received, and the next Receive offers what is left. A receipt can't take more than is still on the road.
A transfer can't be cancelled after goods from it were received; cancel the receipts first (that puts the goods back on the road). Reports → Goods in Transit lists everything still on the road, with how many days it has been travelling.
You can enter quantities in any of the item's units (for example 2 Carton); Zanix converts them to the stock unit.
Accounting. A receipt adds its value to the company's stock account; an issue takes its value out. The other side is the row's Difference Account, by default the company's stock adjustment account (choose, for example, an expense account for stock used in the office). Transfers don't change the accounts, because the stock stays on the same stock account. Cancelling an entry reverses the stock and the accounting.
Batch and serial numbers
Tick Has Batch Numbers or Has Serial Numbers on an item to follow it more closely.
Batches (for example medicine, food or paint): create each batch under Stock → Batch with its number, and its manufacturing and expiry dates. Every stock row of that item then needs its Batch. Zanix keeps each batch's quantity per warehouse:
- you can't take more of a batch than the warehouse has of it, on that date or later;
- stock from an expired batch can't be issued or transferred;
- the dashboard lists batches with stock that expire within 30 days (or already have), and Reports → Batch Balance shows every batch with its quantity, expiry date and days left.
Serial numbers (for example phones, appliances, machines): type them in the row's Serial Numbers box, one per line (commas work too), as many as the quantity. Receiving creates them; afterwards each one is followed wherever it goes. A serial number can't be received while it is already in stock, or issued or transferred from a warehouse it isn't in. Stock → Serial Number shows where each one is now and whether it is Active (in stock) or Delivered. Cancelling an entry puts its serial numbers back where they were.
Stock counts don't take batch or serial items yet; enter their differences with a Material Receipt or Material Issue so every batch and serial number stays right.
Stock counts and opening stock
Stock → Stock Count → New. Choose the warehouse and the count date, then click Save and Fetch items: every item with stock in that warehouse is added, with its quantity in the books. Type the counted quantity for each item (and remove or add rows as needed), then Submit.
- Zanix sets each item's stock to what you counted on that date. The value difference (for example 3 lamps missing at 12,500 = 37,500) goes to the difference account, by default the company's stock adjustment account.
- Leave Valuation Rate empty to keep the current cost; type a rate to revalue the stock (or to give a cost to items that have none yet).
- A count is a fact about that date. If an entry dated before the count is added later, the count still holds, and its difference is recalculated and corrected.
- Cancelling a count puts the books back as they were.
- If the company has a Stock Surplus Account (Setup → Company → Stock), counts post surpluses (more found than in the books) there and shortages to the stock adjustment account. In the Iraqi chart these are 232682 فروقات مخزنية and 1326812 فروقات مخزنية لظروف عادية.
Opening stock. When you start using Zanix, enter what you have with a Stock Count whose Purpose is Opening Stock, with each item's quantity and cost. The other side goes to the company's opening stock account (usually Opening Balance Equity).
How stock is valued
- FIFO: what came in first goes out first. Receive 10 at 1,000 then 10 at 1,200, and issuing 15 costs 10 × 1,000 + 5 × 1,200 = 16,000.
- Moving average: each receipt updates the average cost, and issues go out at that average (15 × 1,100 = 16,500 in the same example).
When an item's stock reaches zero, so does its value, with nothing left over from rounding.
Earlier dates. You can date an entry before entries already made. Zanix then recalculates the later movements of that item and warehouse. If that changes what a later issue cost, Zanix posts a correction under that later entry (its remark says "Stock value recalculated after an earlier-dated entry"), so the accounts always match the stock. A change also flows through transfers to the receiving warehouse.
Negative stock. Unless the company allows it, an entry is refused if it would take an item below zero at any point, including later dates; the message says which date and which entry. An item that has never been received with a cost can't be issued.
Once an item has stock movements, its stock unit can't change and it must keep stock; a warehouse with movements can't become a group.
Landed costs (shipping, customs …)
Goods often cost more than the supplier's price: shipping, customs, insurance. Add those costs to the goods with a Landed Cost Voucher (Stock → Landed Cost Voucher):
- Add the receipts: purchase receipts, or purchase invoices that added the goods to stock.
- Add the charges with the account each was booked to (for example Freight or Customs) and the amount.
- Choose how to share them: by amount (a line worth 300,000 takes three times the share of one worth 100,000) or by quantity.
- Save to see each line's added cost, then Submit.
Each received line now costs more. Zanix re-costs everything that happened to those goods afterwards, so goods already sold or used get their cost corrected too. The charges leave their accounts and become part of the stock value. Cancelling the voucher undoes it.
Stock reports
- Stock Balance: the quantity, valuation rate and value of each item in each warehouse on a date. Choose a warehouse group to include every warehouse inside it.
- Batch Balance: each batch's quantity per warehouse, with its expiry date and the days left (expired ones in bold).
- Goods in Transit: what was sent through transit and hasn't been received, with the days on the road.
- Stock Ledger: every movement in a period with the quantity in or out, the balance after it, the value change and a link to the entry.