Field reference
Every field on every Inventory form: label in English and Arabic, type, whether it is required, its limits, a valid example and what the system refuses.
On this page (87)
DashboardOverviewStock on hand > Stock adjustmentWarehouse taskNew waveNew packagePackage > Put stock inPackageScannerChange stock statusLot statusHold stock in placeHeld in place > ReleaseNew recallRecall > lotNew revaluationOpening stockNew cutover checkCutover check > Sign offReceipt / Delivery / Internal transferInternal transferReceiptDeliveryDelivery / Internal transferReceipt / Delivery / Internal transfer > LinesReceipt > LinesReceipt > ValidateReceipt / Delivery / Internal transfer > ValidateBook a dockSplit into a new transferNew intercompany transferNew intercompany transfer > LinesCross-dock ruleReturn drop-shipped goodsNew returnNew return > LinesReturn > InspectionNew cycle countCycle count > LinesStock adjustmentStock adjustment > LinesLanded costAvailable to promiseReplenishment proposalsNew soft reservationAllocation & shortagesKit definitionNew conversionTransfer through transitBarcode lookupReport filters (R031 to R036)Warehouse productivityExpiryInventory to ledgerInventory 360Lot / serial 360Inventory analysisStock eventsProducts (list)Product recordStock and price history panelWarehousesWarehouse lifecycle barLocations & bins > New binLocations lifecycle barZones > New zoneRoutes & operationsPutaway rules > New ruleDocks & staging > New dockShelf-life rules > dialogCount policy & ABCStock periodsLots > New lotLots > open a lotLots (not on the screen)Serial numbers > New serialSerial numbers (not on the screen)Reorder & pick-face rules > dialogDrop-ship routes > dialogWebhooks > New webhookWebhooks > open a webhookIntercompany links > Link a companyStock policy > defaultsStock policy > ruleUnits & packaging > New packagingApplications > Inventory > FeaturesApplications > Inventory > Fields
Dashboard
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse / Category filter | كل المستودعات / كل الفئات | Select | No | All | Main Warehouse |
Overview
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse scope | نطاق المستودع | Select | No | All warehouses | Main Warehouse | ||
| Search by number or origin | ابحث بالرقم أو المصدر | Text | No | PO00012 |
Stock on hand > Stock adjustment
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Select (product) | Yes | Goods only; not lot/serial tracked | TEST-001 Widget | A service -> '<name> is a service and holds no stock.'; a lot product -> 'Use a tracked cycle count or transfer to adjust lot/serial stock.' | |
| Quantity | الكمية | Signed number | Yes | Positive adds stock, negative removes it; up to 4 decimals; not zero | -1 | 0 -> 'An adjustment of nothing changes nothing.'; -999 beyond stock -> refused (negative stock policy) | |
| Reason | السبب | Text | Yes | Max 200 characters | Broken in handling | Empty -> refused as required | |
| Date | التاريخ | Date | No | Today | Today |
Warehouse task
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Done | المنفَّذ | Quantity | Yes | Between 0 and what the task asks | 5 of 5 | 6 of 5 -> 'Done must be between zero and what the task asks for.' | |
| Put away in | التخزين في | Select (bin) | For put-away | Inside the transfer's destination and not blocked; suggested bin shown | Suggested bin | WH/Stock/A-01 | A bin of another warehouse -> 'Put it away inside the transfer's destination, in a bin that is not blocked.' |
| Blocked because | معطّلة بسبب | Text | When blocking | Bin damaged | Empty -> 'Say why the task is blocked.' |
New wave
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Kind | النوع | Choice | Yes | Wave / Batch: several orders, one trip / Cluster: one tote per order | Wave | Batch | (API) other -> 'Choose a wave, a batch or a cluster.' |
| Warehouse | المستودع | Select | Yes | Main Warehouse | Unknown id -> 'Record not found.' | ||
| Transfers | التحويلات | Multi-select | No | Ready transfers of that warehouse not already in a wave; none = every ready one | Two ready deliveries | A draft transfer -> '<number> is not ready to pick.'; one already waved -> '<number> is already in a wave.'; none ready -> 'There is nothing ready to pick for a wave.' |
New package
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Type | النوع | Choice | Yes | Pallet, Carton, Box, Tote, Container, Custom | Carton | (API) other -> 'Choose pallet, carton, box, tote, container or custom.' | |
| Transfer / Location | التحويل / أين | Select | No | An open transfer or an internal location | WH/OUT/00004 | A done transfer -> 'That transfer is finished; packages are made while it is open.' |
Package > Put stock in
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product / Lot / Serial / Quantity to put in | المنتج المراد وضعه / الكمية المراد وضعها | Select / quantity | Yes | Stock free at the package's location | TEST-001 x 5 | More than free -> 'Not everything in <LPN> is free to move.' / refused |
Package
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Put on / in (nest) | ضع على / داخل | Select (package) | No | An open package, not itself or one of its children | Pallet PAL0001 | Itself -> 'A package cannot go inside itself.'; its child -> 'That would put the package inside one of its own children.' | |
| Weight (kg) | الوزن (كجم) | Number | No | 12.5 | |||
| Move whole unit to | نقل الوحدة كاملة إلى | Select (location) | Yes when moving | Another internal, unblocked location | WH/Stock/B-02 | Same location -> 'Choose another internal location to move it to.'; blocked bin -> '<code> is blocked.' |
Scanner
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Barcode | الباركود | Scan / text | Yes | Bin, product (or packaging barcode), lot, serial or package for the current step | A-01 then TEST-001 | Wrong bin -> 'Wrong bin: this task picks from <code>.'; wrong product -> '<barcode> is not <code>.' (error counted on the task) | |
| Quantity | الكمية | Number | Yes | Packaging barcode pre-fills its factor | 5 |
Change stock status
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| From location / Product / Lot | من الموقع | Select | Yes | An internal location of a warehouse | WH/Stock, TEST-001 | Empty -> 'Choose a product and the internal location it is in.' | |
| New status | الحالة الجديدة | Select | Yes | Available, Quality hold, Quarantine, Blocked, Damaged, Expired, Recall hold, Restricted; to Available needs the quality release right | Quarantine | Same as now -> 'That stock is already quarantine.'; release without right -> 'Releasing held stock needs the quality release right.' | |
| Quantity | الكمية | Quantity | Yes | Not more than held at the location | 2 | More than there -> 'Only <n> of <code> ...' | |
| Reason | السبب | Text | No | Supplier quality alert |
Lot status
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Lot status | حالة الدفعة | Select | Yes | Releasing a lot needs the quality release right; a recalled lot is released only from its recall | Quality hold | Release a recalled lot here -> 'A recalled lot is released by closing it on the recall.' |
Hold stock in place
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Select | Yes | TEST-001 | Empty -> 'Choose the product.' | ||
| Location | الموقع | Select | Yes | Internal location the stock is in | WH/Stock/A-01 | Empty -> 'Choose the internal location the stock is in.' | |
| Lot / Serial | الدفعة / الرقم التسلسلي | Select | For tracked products | Must be this product's; a serial is one unit | LOT-2026-01 | Missing -> '<code> is lot-tracked: name the lot.'; other product's lot -> 'That lot is not this product's.' | |
| Quantity | الكمية | Quantity | Yes | Not more than free (unreserved) stock there | 4 | More than free -> 'Only <n> of <code> at <loc> is free to hold ...' | |
| Hold as | الحجز كـ | Select (status) | Yes | Quarantine | Empty -> 'Choose the status to hold it under.' | ||
| Why | السبب | Text | No | Awaiting lab result |
Held in place > Release
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Release quantity / New status / Release note | كمية الإفراج / الحالة الجديدة / ملاحظة الإفراج | Quantity / select / text | Quantity yes | Release to available (needs inventory.quality.release) or keep held under another status | Release 4 | 5 of 4 -> 'Only 4 is held.'; released twice -> 'That hold is already released.'; same status -> 'Choose another held status.' |
New recall
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Select | Yes | TEST-LOT-001 | Empty -> 'Record not found.' | ||
| Lots | الدفعات | Multi-select | Yes | Lots of the chosen product ('This product has no lots.' when none) | LOT-2026-01 | None -> 'Choose the affected lots.'; another product's lot (API) -> 'Every lot must be a lot of the recalled product.' | |
| Reason | السبب | Long text | Yes | Max 2000 | Supplier recall notice RC-01 |
Recall > lot
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Clear / Dispose + Note | إبراء / إتلاف | Action | Yes | Cleared = back to its previous status; Disposed = blocked and written off | Dispose | On a draft recall -> 'Only an active recall has lots to close.' |
New revaluation
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product (and lot) | المنتج | Select | Yes | A goods product with stock on hand | TEST-001 (Current cost 12.50) | A service -> 'Choose a stocked product.'; nothing on hand -> '<code> has nothing on hand to revalue.' | |
| New unit cost | التكلفة الجديدة | Money (6 decimals) | Yes | Zero or more; must change the value | 11.00 | -1 -> 'A unit cost cannot be negative.'; same as current -> 'That is what it is already worth.' | |
| Effective | ساري من | Date | No | Checked against stock periods at approval | Company today | Today | |
| Reason | السبب | Text | Yes | Max 240 | Supplier price drop |
Opening stock
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Opening date (As at) | تاريخ الافتتاح | Date | No | Company today | 30/09/2026 | ||
| Rows (CSV: product code, location code, quantity, cost, lot, serial, expiry) | الأسطر (CSV...) | CSV text | Yes | 1-5000 rows; known goods product code; internal location code; quantity > 0; cost >= 0; lot for lot products; one row per serial, serial unique and new; expiry YYYY-MM-DD | TEST-001,WH/STOCK,10,12.50,,, | Errors per row: 'No product 'X'.', 'No internal location 'Y'.', 'Quantity must be a positive number.', 'Serial S1 appears twice.'; 0 rows -> 'Load 1-5000 rows.' |
New cutover check
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Check against | الفحص مقابل | Choice | Yes | The old system's figures / An opening-stock load | An opening-stock load | (API) other -> 'Check against the old system's figures or an opening-stock load.' | |
| Opening load | تحميل افتتاحي | Select | When against a load | OPN0001 | Empty -> 'Choose the opening-stock load to check.' | ||
| Stock rows: product, location, lot, serial, owner, quantity, value | أسطر المخزون | CSV text | When against old figures | Up to 20,000 rows; quantity/value numeric | TEST-001,WH/STOCK,,,company,10,125.00 | Empty -> 'Load the old system's stock rows.'; 'abc' quantity -> 'quantity must be a number.'; no product -> 'Row 3 names no product.' | |
| Inventory account balance / Open reservations / Open transfers | رصيد حساب المخزون | Number | No | The old system's totals to compare | 125.00 / 0 / 0 |
Cutover check > Sign off
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Why the differences are accepted | سبب قبول الفروقات | Text | When differences remain | Rounding in old system | Empty with differences -> '<n> difference(s) remain: say why they are accepted.' |
Receipt / Delivery / Internal transfer
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse | المستودع | Select (active warehouses) | Yes (receipt, delivery) | Only active warehouses of this company with a stock location | Main Warehouse | Empty -> 'Select a warehouse.'; a warehouse without stock location -> 'Warehouse has no stock location configured.' | |
| Source document | المستند المرجعي | Text | No | Max 60 characters (origin) | PO00012 | 61 characters -> refused as too long | |
| Internal notes | ملاحظات داخلية | Long text | No | Max 2000 characters | Handle with care |
Internal transfer
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| From | من | Select (location) | Yes | An internal location of the warehouse | WH/Stock/A-01 | A customer/vendor location -> 'Internal transfers move between two internal locations.' | |
| To | إلى | Select (location) | Yes | Another internal location; the From location is removed from the list | WH/Stock/B-02 | Same as From (via API) -> 'Choose different source and destination locations.' |
Receipt
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Vendor | المورد | Select (partner) | No | A partner of this company | Test Supplier LLC | Another company's partner id (API) -> 'Record not found.' | |
| Expected on | متوقع في | Date | No | Scheduled date; also the movement date checked against closed stock periods | Today | Today |
Delivery
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Customer | العميل | Select (partner) | No | A partner of this company | Test Customer LLC |
Delivery / Internal transfer
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Scheduled for | مجدول في | Date | No | Scheduled date | Today | Tomorrow |
Receipt / Delivery / Internal transfer > Lines
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Select (product) | Yes | An active stocked (goods) product; 1 to 200 lines | TEST-001 Widget | A service -> '<code> is not an active stocked product.'; no lines -> 'A picking needs 1-200 lines.' | |
| Demand | المطلوب | Quantity | Yes | At least one base unit; for a serial product must equal the number of serials | 10 | 0.00001 -> 'The quantity is less than one base unit.' | |
| Unit | الوحدة | Select (unit) | Yes | The product unit or a packaging unit; converted to the base unit | Product unit | Unit | |
| Lot | الدفعة | Select / text | Yes for lot-tracked | Lot must belong to the product, not on hold, not expired, retest not overdue | LOT-2026-01 | Lot on hold -> 'Lot <name> is <status> and cannot be moved out.'; expired on a delivery -> 'Lot <name> is expired and cannot be delivered.'; none -> 'This product requires a lot.' | |
| Serial | الرقم التسلسلي | Select / list | Yes for serial-tracked | One unit per serial; serial must be available and belong to the product (and to the chosen lot) | SN-0001 | Quantity 2 with 1 serial -> 'Quantity must equal the number of serials.'; serial in use -> 'Serial <name> is not available.' |
Receipt > Lines
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Unit cost | تكلفة الوحدة | Money (AED) | No | Only on receipts; values the received stock (AVCO follows). Deliveries and transfers go at the running average and show no cost field | Product cost | 12.50 |
Receipt > Validate
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Lot number (received) | رقم الدفعة | Text | Yes for lot-tracked | Typed at validation for a lot-tracked product | LOT-RCV-01 | Empty -> '<code> is tracked by lot: enter the lot number received.'; a serial number -> '<name> is a serial number, not a lot.' | |
| Enter serials | أدخل الأرقام التسلسلية | List of text | Yes for serial-tracked | Exactly one per received unit; whole units; no repeats; not already in stock | SN-1001, SN-1002 | Same serial twice -> 'Serial number(s) entered twice: SN-1001.'; already in stock -> 'Serial SN-1001 is already in stock.' | |
| Damaged / reason / expiry date | Quantity / code / date | No | Damaged <= received; an over receipt above tolerance needs a reason; expiry-tracked lot without expiry goes to quarantine | Damaged 1, reason Damaged in transit | Damaged 5 of 3 -> '<code>: damaged cannot be more than received.' |
Receipt / Delivery / Internal transfer > Validate
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Done | المنفَّذ | Quantity | Yes (at least one line > 0) | Between 0 and the demand (more only within the over-receipt or sales tolerance) | Demand 10, done 6 | All zero -> 'Enter at least one done quantity to validate.'; 12 of 10 -> 'Done quantity must be between zero and the demand.' | |
| Less than asked (backorder choice) | أقل من المطلوب | Choice | When done < demand | Create a backorder / Cancel the rest; default from the operation or the stock policy | Create a backorder | (API) other value -> 'Choose whether the remainder becomes a backorder or is cancelled.' |
Book a dock
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Dock / Window starts / Window ends | الرصيف | Select / date-time | Dock yes | A dock of the warehouse; '— none —' releases the booking | Dock 1, 09:00-10:00 |
Split into a new transfer
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Move to new | ينتقل للجديد | Quantity per line | At least one | Not more than the line asks; must leave at least one unit behind; open transfers only | Move 3 of 10 | Everything -> 'Splitting everything off leaves nothing behind. Keep at least one unit here.'; 11 of 10 -> 'You cannot split off more than the line asks for.' |
New intercompany transfer
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| To company | إلى الشركة | Select (company) | Yes | A linked group company you belong to and hold inventory.intercompany in | Test Company 2 | Not linked -> 'Link the two companies first (Configuration > Intercompany).'; not a member -> 'You do not belong to that company, so you cannot ...' | |
| From warehouse | من المستودع | Select | Yes | Main Warehouse | Empty -> 'Choose the warehouse the goods leave from.' | ||
| Their warehouse | مستودعهم | Select | Yes | Company 2 Main | Empty -> 'Choose the other company's warehouse the goods arrive at.' |
New intercompany transfer > Lines
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product / Quantity | المنتج / الكمية | Select / quantity | Yes (one line) | A stocked product shared with the receiving company | TEST-001 x 5 | Not shared -> '<code> is not shared with the receiving company; share it in master data first.'; no line -> 'Add at least one line.' | |
| Price (blank: by the link) | السعر (فارغ: حسب الربط) | Money | No | Blank = cost / cost plus markup / list price as the intercompany link says; not negative | (blank) | -1 -> 'A price cannot be negative.' |
Cross-dock rule
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse | المستودع | Select | Yes | Main Warehouse | Empty -> 'Choose the warehouse that cross-docks.' | ||
| Product (blank: everything) / Category | المنتج (فارغ: الكل) | Select | No | A product OR a category, not both | TEST-001 | Both -> 'A rule names a product or a category, not both.' | |
| Horizon days | أيام الأفق | Integer | Yes | 0 to 365 | 3 | 400 -> 'The horizon is 0 to 365 days.' | |
| Active | نشط | Yes/No | No | Yes | Yes |
Return drop-shipped goods
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| The goods go back to | تعود البضاعة إلى | Choice | Yes | The supplier, directly / One of our warehouses | The supplier, directly | ||
| Warehouse | المستودع | Select | When back to our warehouse | Main Warehouse | Empty -> 'Choose the warehouse the goods come back to.' | ||
| Return (qty per line) | الإرجاع | Quantity | At least one | Not more than shipped less earlier returns | 1 of 2 | 3 of 2 -> 'Only 2 of <code> can still come back.'; all zero -> 'Say what comes back.' |
New return
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Type | النوع | Choice | Yes | From a customer / To a vendor | From a customer | (API) other -> 'A return is from a customer or to a vendor.' | |
| Delivery it undoes / Receipt it undoes | التسليم الذي يُرجَع | Select (done transfer) | No (Yes for tracked products) | A completed delivery (customer) or receipt (vendor) | WH/OUT/00005 | A draft delivery -> 'A customer return starts from a completed delivery.' | |
| Partner / Vendor | الجهة | Select | Yes | Taken from the original movement when chosen | Test Customer LLC | Empty -> 'Choose who the return is from.' / 'Choose the vendor.' | |
| Reason | السبب | Select | Yes | Defective, Damaged, Wrong item, Not needed, Warranty, Late, Other | Other | Defective | |
| Customer claim | مطالبة العميل | Text | No | Max 80 characters | CLM-001 | ||
| Under warranty | ضمن الضمان | Yes/No | No | No | Yes |
New return > Lines
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Return now | إرجاع الآن | Quantity | Yes (1-200 lines) | Not more than moved less already back | 1 of 3 | 4 of 3 -> '<code>: only 3 can be returned - delivered less earlier returns.'; a tracked product without origin -> '<code> is tracked: start the return from the delivery so the units are known.' |
Return > Inspection
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Condition | الحالة | Select | Yes per received line | New, Opened, Damaged, Defective | Opened | Empty -> 'Give every received line a condition and a disposition.' | |
| Disposition | المعالجة | Select | Yes per received line | Restock, Refurbish, Repair, Vendor return, Scrap, Replacement, Hold; damaged/defective cannot be restocked | Restock | Damaged + Restock -> 'Damaged or defective goods cannot go back on the shelf. Repair, scrap or hold them.' |
New cycle count
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Location | الموقع | Select (location) | Yes | An internal location; its bins are included | WH/Stock | A customer location (API) -> 'Cycle counts apply to internal locations.' | |
| Only class | الفئة فقط | Select | No | Everything here / A / B / C (ABC class) | Everything here | A | (API) 'D' -> 'Choose class A, B or C.' |
| Blind count | جرد أعمى | Checkbox | No | Counted quantities start at 0 and the system quantity is hidden | From the class's count policy | Ticked | |
| Freeze the location while counting | تجميد الموقع أثناء الجرد | Checkbox | No | While frozen, transfers and adjustments touching the location are refused | From the count policy | Ticked |
Cycle count > Lines
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Counted | المجرود | Quantity | Yes | Up to 4 decimals; variance over the class's recount % forces a recount | On record 10, counted 9 | 'abc' -> refused as not a number |
Stock adjustment
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse | المستودع | Select | Yes | A warehouse with a stock location | Main Warehouse | Empty -> 'Select a warehouse with a stock location.' | |
| Reason | السبب | Select | Yes | Damage, Loss, Gain, Correction, Expiry, Scrap, Migration, Ownership correction. Damage/Loss/Expiry/Scrap only take stock away; Gain only adds | Damage | Empty -> 'Choose a reason. An adjustment nobody can explain is the one an auditor asks about.' | |
| Date | التاريخ | Date | Yes | Checked against stock periods and the backdating policy at posting | Today | Today | A date in a hard-closed month -> '<Month YYYY> is closed for stock. Post it in an open month.' |
| Notes | ملاحظات | Long text | No | Max 2000 | Broken in aisle 3 |
Stock adjustment > Lines
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product / Location | المنتج / الموقع | Select | Yes (1-200 lines) | Goods only; location inside the chosen warehouse | TEST-001 at WH/Stock | A service -> '<code> is a service and holds no stock.'; location of another warehouse -> 'Choose a location inside this warehouse.' | |
| Change | التغيير | Signed quantity | Yes | Not zero; sign must match the reason; serial = exactly 1 | -2 (Damage) | +2 with Damage -> 'A damage adjustment takes stock away; enter a negative quantity.'; -1 with Gain -> 'A gain adds stock; enter a positive quantity.'; 0 -> 'A line of nothing changes nothing.' | |
| Lot / Serial | الدفعة / التسلسلي | Select | For tracked products | LOT-2026-01 | Missing -> '<code> is tracked by lot: choose the lot.' / '<code> is tracked by serial: choose the serial number.' | ||
| Unit cost | تكلفة الوحدة | Money | No | Only used for gains; blank = current average | average | 10.00 |
Landed cost
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Receipt | الاستلام | Select (done receipt) | Yes | Only completed receipts | WH/IN/00003 · Test Supplier LLC | A draft receipt (API) -> 'Landed cost applies to a completed receipt.' | |
| Date | التاريخ | Date | Yes | Journal date; checked against stock periods at posting | Today | Today | |
| Amount · AED | المبلغ · درهم | Money | Yes | Greater than zero | 500.00 | 0 -> refused (must be positive) | |
| Spread it | توزيعها | Select | Yes | By value / By quantity / By weight / By volume (server also has By hand, not offered on screen) | By value | By quantity | |
| Estimate or actual | تقدير أم فعلي | Select | Yes | Actual charge / Estimate (accrued now) | Actual charge | Estimate (accrued now) | |
| Charge | نوع التكلفة | Select | Yes | Freight, Duty, Insurance, Handling, Brokerage, Other | Freight | Duty | |
| Replaces the estimate | يحل محل التقدير | Select | No | A posted, not yet replaced estimate for the same receipt; only the difference is capitalised | LC0001 | A draft estimate -> 'An actual replaces a posted estimate.'; already replaced -> 'That estimate has already been replaced: a charge is capitalised once.' | |
| Expense account | حساب المصروف | Select (account) | Yes | The account credited (accrual / clearing) | 5100 | 5100 |
Available to promise
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Search list (goods products only) | Yes | Only stocked goods are listed (services are not). Nothing shows until a product is chosen | Empty (Choose a product...) | P-100 Cable 2m | A product from another company is not offered. Via the API an unknown id gives 'Choose a product and a warehouse.' |
| Warehouse | المستودع | Drop-down | Yes | Lists the company's warehouses as code - name | First warehouse | DXB - Dubai Main | API with an unknown id: 'Choose a product and a warehouse.' |
Replenishment proposals
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Quantity (on approve) | الكمية | Decimal (API only, not on the dialog) | No | The Approve button sends only the revision, so the proposed quantity is always used. The API accepts a quantity: positive, at most 4 decimals | Proposed quantity | 96 | API: '-5' gives 'Enter a positive value.'; '1.23456' gives 'Use at most 4 decimal places.' |
| Supplier (on approve) | المورد | Id (API only, not on the dialog) | Conditional | Needed for a Buy proposal: taken from the rule when the rule names a supplier | Supplier of the rule | a supplier of the company | Buy proposal with no supplier on the rule: 'Choose the supplier to buy from.' |
New soft reservation
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Search list (goods only) | Yes | Must be a product of this company | Empty | P-100 | Empty or foreign id: 'Record not found.' |
| Warehouse | المستودع | Drop-down (code) | Yes | Company warehouse | First warehouse | DXB | Foreign id: 'Choose a warehouse.'-type refusal (record not found) |
| Quantity | الكمية | Decimal | Yes | Positive, at most 4 decimals, and not more than the ATP after existing soft reservations | Empty | 25 | '0' or '-3': 'Enter a positive value.'; '1.55555': 'Use at most 4 decimal places.'; more than free: 'Only 55 of P-100 can still be promised.' (number shown as the system holds it) |
| For customer | لصالح العميل | Drop-down of partners | No | Optional; a partner of this company | - (none) | C-0001 Al Noor Trading | Foreign partner id (API): 'Record not found.' |
| Reference | المرجع | Text | No | Maximum 80 characters | QT-2026-0042 | 81 characters: 'Enter valid text (maximum 80 characters).' | |
| Hold for (hours) | مدة الحجز (ساعات) | Whole number | No | Whole hours, 0 decimals, not negative. 0 means the reservation never lapses. After the hours pass the status becomes expired by itself | 72 | 48 | '1.5': 'Use at most 0 decimal places.'; '-4': 'Negative values are not allowed.' |
| Kind / Priority (API only) | النوع / الأولوية | Choice soft or manual / whole number | No | Not on the dialog. Kind is soft (default) or manual; priority default 0 | soft / 0 | manual / 5 | API kind 'hard': 'A reservation is soft or manual.' |
Allocation & shortages
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse | المستودع | Drop-down (code) | Yes | Only deliveries leaving this warehouse are ranked | First warehouse | DXB | Foreign id: refused as record not found |
| Serve first | الخدمة أولاً | Drop-down | Yes | Highest priority / Earliest promised date / First come | Highest priority | Earliest promised date | API value other than priority, promise, fifo: 'Allocate by priority, promised date or first come.' |
| Take stock back from unstarted lower-ranked deliveries | استعادة المخزون من التسليمات الأدنى غير المبدوءة | Checkbox | No | When ticked, stock reserved to deliveries with no started or completed task is released first, then re-served in rank order | Unticked | Ticked | n/a |
Kit definition
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Kit product | منتج التجميع | Search list | Yes | A stocked (goods) product. Picking a product that already has a kit loads its components for editing | Empty | KIT-GIFT Gift box | A service product: 'Choose the stocked product the kit is.' |
| Component | المكوّن | Search list per line | Yes | Stocked goods and not the kit itself. Add a line adds a row | One empty line | P-100 Cable 2m | The kit itself as a component: 'Each component is another stocked product.'; no components: 'A kit needs at least one component.' |
| Component quantity | الكمية | Decimal | Yes | Positive, at most 4 decimals, per one kit | 1 | 2 | '0': 'Enter a positive value.' |
New conversion
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Kind | النوع | Drop-down | Yes | Assemble a kit / Break a kit apart / Repack | Assemble a kit | Repack | API other value: 'Kit, un-kit or repack.' |
| At | في | Drop-down of internal locations | Yes | An internal location that is not frozen by an open count | Stock location of the first warehouse | DXB/Stock | Frozen location: 'DXB/Stock is frozen by count CNT-0007.'; not internal: 'Choose the internal location it happens at.' |
| Kit | التجميع | Drop-down of defined kits (kit / un-kit only) | Yes | The product must have an active kit definition | - | KIT-GIFT | Leaving it empty: 'That product has no kit definition.' |
| Quantity | الكمية | Decimal (kit / un-kit only) | Yes | Positive, at most 4 decimals. Parts needed = component quantity x this. Parts must be in stock at the location for a Kit; the kit itself for an Un-kit | 1 | 5 | Not enough parts: 'Only 3 of P-100 at DXB/Stock.'; tracked part: 'P-200 is tracked: convert it through a transfer that names its lots.' |
| Reason | السبب | Text | No | Maximum 200 characters | Festival gift boxes | 201 characters: 'Enter valid text (maximum 200 characters).' | |
| Consumed (repack) | المستهلك | Product + quantity lines | Yes | Repack only. At least one line. Stocked, untracked goods in stock at the location | One empty line | Cable reel 100 m x 1 | No input or no output: 'A repack takes something in and gives something out.' |
| Produced (repack) | المنتَج | Product + quantity lines | Yes | Repack only. At least one line. The produced lines share the total value of what was consumed, in proportion to each line's product cost x quantity | One empty line | Cable 2m x 50 | Service product: 'Each line is a stocked product.' |
Transfer through transit
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| From warehouse | من المستودع | Drop-down (code - name) | Yes | Must differ from the destination | First warehouse | DXB - Dubai Main | Same as To: 'Choose two different warehouses.' |
| To warehouse | إلى المستودع | Drop-down (code - name) | Yes | Starts on the dash (nothing chosen) | - | AUH - Abu Dhabi | Dash left: 'Choose two different warehouses.' |
| Scheduled (YYYY-MM-DD) | الموعد (YYYY-MM-DD) | Text date | No | Valid date; empty means today (company day) | Today | 2026-10-09 | '09/10/2026': 'Use a valid YYYY-MM-DD date.' |
| Product lines | المنتج | Product + quantity lines | Yes | At least one line of stocked goods; quantity positive, up to 4 decimals | One line, quantity 1 | P-100 x 40 | No line: 'A transfer needs at least one line.'; quantity '0': 'Enter a positive value.' |
Barcode lookup
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Barcode | الباركود | Text (scan or type) | Yes | Product barcode or code, a packaging barcode, a GS1 string such as (01)06291041500213(10)LOT7, a location barcode or code, a package number or SSCC | Empty | 6291041500213 | An unknown code: the screen shows 'Nothing matches that code.' (not an error) |
Report filters (R031 to R036)
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse | المستودع | Drop-down | No | Narrows to stock inside the warehouse; valuation then shows the warehouse's units at the product's average cost | All warehouses | DXB | n/a |
| Branch | الفرع | Drop-down (shown only if branches exist) | No | Warehouses of that branch | All branches | Dubai branch | n/a |
| Category | الفئة | Drop-down | No | Product category | All categories | Cables | n/a |
| Brand | العلامة | Drop-down (shown only if brands exist) | No | Product brand | All brands | a2Tech | n/a |
| Lot | الدفعة | Drop-down (shown only if lots exist) | No | One lot. Ignored by R032, R034 and R035 | All lots | L-2026-07 | n/a |
| From / To | من / إلى | Date (R033 only on this menu) | No | Count date range for R033 | Empty | 2026-09-01 to 2026-09-30 | To before From returns no rows |
Warehouse productivity
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| From | من | Date | No | Tasks completed on or after this day | Empty (all time) | 2026-09-01 | n/a |
| To | إلى | Date | No | Tasks completed up to the end of this day | Empty | 2026-09-30 | To before From returns an empty list |
Expiry
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Expiring within (days) | تنتهي خلال (أيام) | Whole number | No | 0 to 3650 (larger values are cut to 3650); 0 shows only what has already expired or expires today | 60 | 30 | Blank or letters is read as 0 |
Inventory to ledger
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| As at | في تاريخ | Date | Yes | Valuation layers and ledger journals up to and including this day | Today | 2026-09-30 | Cleared date: the figures for today are shown |
Inventory 360
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Search list | Yes | Any product of the company | Empty (Choose a product...) | P-100 | Unknown id (API): 'Record not found.' |
Lot / serial 360
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Look up by | البحث بواسطة | Drop-down | Yes | Lot or Serial; switching clears the pick | Lot | Serial | n/a |
| Lot / Serial | الدفعة / الرقم التسلسلي | Search list (name - product) | Yes | Lot or serial of the company | Empty | L-2026-07 - P-100 | Unknown id (API): 'Record not found.' |
Inventory analysis
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Idle for days | راكد منذ أيام | Whole number (Slow tab) | No | Threshold in days: idle for at least this long is Slow; twice this or never moved is Dead | 90 | 60 | Blank, 0 or letters falls back to 90 |
Stock events
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Publish waiting events | نشر الأحداث المنتظرة | Button | No | Gives each waiting event the next sequence number for the company | - | - | Nothing waiting: '0 event(s) published.' |
Products (list)
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Search / filters / sort | بحث / تصفية / ترتيب | List controls | No | Filterable and sortable on the server by Code, Name, Type, Unit, Price, Cost, Status. Status filter 'Active = yes' is applied when the list opens | Active only | Search 'SKU-100' | Filter on a column not in the list -> ignored by the list (no error) |
| On hand | المتوفر | Number (read only) | - | Only for stocked goods; services show a dash. Shown with up to 3 decimals | 42 |
Product record
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Adjust stock / View moves (buttons) | تسوية المخزون / عرض الحركات | Button | - | Only for stocked goods. They open Stock on hand / Movement history with the product code searched; they do not change anything themselves | Click Adjust stock |
Stock and price history panel
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Stock by warehouse | المخزون حسب المستودع | Read only table | - | On hand, Reserved, Incoming (confirmed purchase not yet received), Available = On hand - Reserved. Opens from a document line | MAIN: 40 / 10 / 20 / 30 |
Warehouses
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Code | الرمز | Text | Yes | 2-30 letters, digits, _ or -, upper-cased; unique per company; fixed after creation (its locations are named from it). Stored column is only 16 characters | DXB1 | 'A' -> 'Use 2–30 letters, digits, underscores or hyphens.'; existing code -> 'A warehouse with this code already exists.'; code change by API -> 'A warehouse code cannot change: its locations are named from it.' | |
| Name | الاسم | Text | Yes | Max 120. Renaming also renames the Stock, Input and Output locations still called '<old name> - Stock / Input / Output' | Dubai Main Warehouse | Empty or 121 characters -> 'Enter valid text (maximum 120 characters).' | |
| Ships orders that name no warehouse | يشحن الطلبات التي لا تحدد مستودعاً | Switch | No | One default per company: ticking it clears the other warehouse's default. The first warehouse of a company is the default automatically | On for the first warehouse, otherwise Off | On | Untick the only default -> allowed; company then has no default (orders with no warehouse raise no delivery) |
| Revision (hidden) | Number | Yes on edit | Sent back on Save; a second person's change in between is refused | Stale -> 'This record changed. Reload it before saving.' |
Warehouse lifecycle bar
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Lifecycle buttons / archive reason | دورة الحياة / سبب الأرشفة | Buttons + prompt (max 200) | Reason: No | Draft > Reviewed > Active > Archived; Archived > Active; Reviewed > Draft. Only Active takes stock. Archive needs no stock or reserved quantity and no open transfer | Archive, reason 'Lease ended' | Archive with stock -> '<code> still holds or reserves stock: move it out first.'; with open transfers -> '<n> open transfer(s) still use <code>.'; skipping a step by API -> 'A warehouse that is draft cannot become active.' |
Locations & bins > New bin
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Code | الرمز | Text | Yes | Max 24, upper-cased, unique per company; cannot change after creation | DXB1/A-01-01 | Existing -> 'A location with this code already exists.' | |
| Name | الاسم | Text | Yes | Max 120 | Aisle A rack 1 shelf 1 | Empty -> 'Enter valid text (maximum 120 characters).' | |
| Warehouse | المستودع | Select | Yes | Must be a warehouse of this company; defaults to the first | DXB1 | Other company's id by API -> 'Choose a warehouse of this company.' | |
| Inside | داخل | Select (location) | No | Parent location; defaults to the warehouse's stock location. A location cannot sit inside itself or its own children; the bin takes the parent's warehouse | DXB1/STOCK | Choose its own child -> 'A location cannot sit inside itself or one of its own children.' | |
| Zone | المنطقة | Select | No | Must be a zone of the bin's warehouse | BULK | Zone of another warehouse -> 'Choose a zone of the location's warehouse.' | |
| Role | الدور | Select | No | Bin, Stock, Input, Quality, Packing, Output, Staging, Dock, Returns, Repair or empty | Bin | Bin | Other value by API -> 'Unsupported location role.' |
| Barcode | الباركود | Text | No | Max 80; unique among locations | LOC-A0101 | Used elsewhere -> 'Another location already has this barcode.' | |
| Capacity (units, 0 = no limit) | السعة (وحدات، 0 = بلا حد) | Number (4 decimals) | No | 0 or more; putaway skips a bin that would go above it | 0 | 500 | -5 -> 'Capacity cannot be negative.' ('Negative values are not allowed.' from the number check) |
| Walk order | ترتيب المسار | Whole number | No | Pick path order; lower first | 0 | 10 | 1.5 -> 'Use at most 0 decimal places.' |
| Blocked | محجوب | Switch | No | Blocked bins are never picked from or put into | Off | On | |
| Allow mixed lots | السماح بخلط الدفعات | Switch | No | Off: putaway will not place a lot where another lot already sits | On | Off | |
| Stock here is | المخزون هنا | Select | No | Available, Quality hold, Quarantine, Blocked, Damaged, Expired, Restricted, Scrap pending; stock in a non-available status cannot be reserved or sold | Available | Quarantine | Other value by API -> 'Unsupported stock status.' |
| Whose stock / Owner | ملكية المخزون / المالك | Select + Select | Owner: Conditional | As the parent, The company's, A supplier's (consignment), A customer's, A third party's. Owner is required for supplier / customer / third party and must be a partner of this company | As the parent location | A supplier's + a test supplier | Supplier's with no owner -> 'Say whose stock it is.' |
Locations lifecycle bar
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Delete | حذف | Button + confirm | - | Only a location nothing has touched (no stock, moves, transfers or children) and not one of its warehouse's own locations | Delete a new empty bin | Used bin -> 'Stock has used <code> (or it has locations under it): archive it instead.'; warehouse's own -> '<code> is one of its warehouse's own locations: archive the warehouse instead.' |
Zones > New zone
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse / Code | المستودع / الرمز | Select / Text | Yes | Code 2-30 chars A-Z 0-9 _ -, unique within the warehouse; both fixed after creation. Column holds 16 characters | DXB1 / COLD | Duplicate -> 'That warehouse already has a zone with this code.' | |
| Name | الاسم | Text | Yes | Max 120 | Cold room | Empty -> 'Enter valid text (maximum 120 characters).' | |
| Kind | النوع | Select | Yes | Receiving, Bulk storage, Fast pick, Slow pick, Cold storage, Hazardous, Quarantine, Packing, Dispatch, Returns | Bulk storage | Cold storage | Other value by API -> 'Choose a zone kind.' |
| Pick priority (lower picks first) | أولوية الانتقاء (الأقل أولاً) | Whole number | No | 0 or more | 100 | 10 | -1 -> 'Negative values are not allowed.' |
Routes & operations
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Receive in (steps) | الاستلام | Select | Yes | 1 step; 2 steps via input; 3 steps input > quality > stock. Creates Input / Quality locations when first needed; changing it raises the route version | 1 step | 3 steps | 4 by API -> 'Receive and ship in one, two or three steps.' |
| Ship in (steps) | الشحن | Select | Yes | 1 step; 2 steps pick > ship; 3 steps pick > pack > ship. Creates Output / Packing locations when first needed | 1 step | 2 steps | |
| Work through tasks / Must be packed | العمل بالمهام / يجب التعبئة | Tick boxes per operation | No | Tasks: the operation raises warehouse tasks; Packed: items must be in a package before done | Off | Tick Work through tasks on Pick | |
| Remainder | الباقي | Select | No | Company default, Backorder, Cancel | Company default | Backorder | Other value by API -> 'Follow the company, or create or cancel.' |
Putaway rules > New rule
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse | المستودع | Select | Yes | Warehouse of this company | DXB1 | ||
| Product (empty = any) | المنتج (فارغ = أي منتج) | Select (goods only) | No | Empty means every product. The server also accepts a product category (not on the screen) | A test product | ||
| Strategy | الاستراتيجية | Select | Yes | Fixed bin, Empty bin in zone, First bin with room, Next to the same product | Fixed bin | First bin with room | Other value by API -> 'Choose a putaway strategy.' |
| Bin (Fixed) / Zone (other strategies) | الرف / المنطقة | Select | Yes | Fixed needs an internal location of the same warehouse; the others need a zone of the same warehouse | DXB1/A-01-01 | Fixed with other warehouse's bin -> 'A fixed bin must be an internal location of this warehouse.'; no zone -> 'Choose a zone of this warehouse.' | |
| Priority (lower first) | الأولوية (الأقل أولاً) | Whole number | No | 0 or more; the lowest number that fits wins | 100 | 10 | -1 -> 'Negative values are not allowed.' |
| Active | نشط | Switch | No | On | On |
Docks & staging > New dock
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warehouse / Code | المستودع / الرمز | Select / Text | Yes | Code 2-30 chars, unique within the warehouse, fixed afterwards; column holds 16 characters | DXB1 / D1 | Duplicate -> 'That warehouse already has a dock with this code.' | |
| Name | الاسم | Text | Yes | Max 120 | Dock door 1 | Empty -> 'Enter valid text (maximum 120 characters).' | |
| Kind | النوع | Select | Yes | Receiving, Shipping, Staging lane | Shipping | Receiving | Other value by API -> 'A dock receives, ships, or is a staging lane.' |
| Status | الحالة | Select | Yes | Open or Closed. A closed dock cannot be booked | Open | Closed | Other value by API -> 'A dock is open or closed.' |
Shelf-life rules > dialog
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Applies to / Which | ينطبق على / أيّها | Select + picker | Yes | Product, Category, Customer, Customer group, Country. 'Which' is the product / category / customer; for Country a 2-letter code | Product + a test product | Other scope -> 'A rule applies to a product, a category, a customer, a customer group or a country.'; unknown record -> 'Record not found.' | |
| Group name / Members | اسم المجموعة / الأعضاء | Text (max 60) + choice | Conditional | Group scope only: name, then either ticked customers or every business / every retail customer | Supermarkets, every retail customer | No members and no market -> 'List the group's customers, or choose a market.' | |
| Country code | رمز البلد | Text (2 letters) | Conditional | Country scope only; upper-cased | SA | 'SAU' -> 'Give the two-letter country code.' | |
| At least this many days left / Or this % of its life left | أيام متبقية على الأقل / أو هذه النسبة من عمرها | Whole numbers | One of the two | Days 0 or more; % 0-100; not both zero. The % test needs the lot's manufacture date, otherwise only days are tested | 90 days, 0 % | 0 and 0 -> 'Give the days or the percentage of life that must remain.' | |
| Counted from | محسوبة من | Select | Yes | Expiry date or Best-before date | Expiry date | Best-before date | Other value by API -> 'Count from the expiry date or the best-before date.' |
Count policy & ABC
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Every (days) | كل (أيام) | Whole number | Yes | Above 0; defaults A 30, B 90, C 180 | 30 / 90 / 180 | 45 | 0 -> 'Enter a positive value.' |
| Blind | أعمى | Tick box | No | Counters do not see the system quantity | A on; B and C off | On | |
| Recount above % | إعادة الجرد فوق % | Number | No | 0 or more; a difference above this percentage triggers a recount | A 10; B and C 0 | 5 | -1 -> 'Negative values are not allowed.' |
| Freeze | التجميد | Select | Yes | No freeze or Freeze the location while the count is open | No freeze | Freeze the location | Other value by API -> 'Freeze nothing, or the counted location.' |
| Tolerance quantity / value / % (not on the screen) | حد السماح للكمية / القيمة / النسبة | Numbers (API only) | No | 0 or more, 4 decimals; kept on the policy but no input on the screen | 0 | API: tolerance_qty 2 | -1 -> 'Tolerances cannot be negative.' |
Stock periods
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Status (Soft close / Hard close / Reopen) | الحالة (إقفال مبدئي / إقفال نهائي / إعادة فتح) | Buttons | - | Open > Soft-closed > Hard-closed. Hard close only once the month has ended and Stock valuation equals the Inventory account to the fils; it also hard-closes every earlier month. Reopen refused while a later month is hard-closed | Hard-close last month when Difference is 0.00 | Month not ended -> 'A month is hard-closed only once it has ended.'; difference -> 'Stock valuation 1,000.00 and the inventory account 900.00 differ by 100.00 at <date>. Reconcile before hard-closing.'; 'Reopen <yyyy-mm> first: a later month is hard-closed.' |
Lots > New lot
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Select | Yes | Stocked goods only; cannot change afterwards | A lot-tracked test product | A service -> 'Only stocked goods carry lots or serials.'; change later -> 'A lot cannot be moved to another product.' | |
| Number | الرقم | Text | Yes | Max 60; unique per product; cannot change afterwards | LOT-2026-001 | Repeat -> 'This lot or serial already exists for the product.'; rename -> 'A lot number cannot change: stock movements refer to it.' | |
| Expiry date | تاريخ الانتهاء | Date | Conditional | Required when the product tracks expiry; the dates (manufacture, best-before, removal, expiry) must be in that order. Blank dates are filled from the product's shelf-life policy | 2027-03-31 | Missing on an expiry product -> 'This product requires an expiry date on every lot.'; out of order -> 'Lot dates must follow manufacture, best-before, removal, then expiry order.' | |
| Stock status | حالة المخزون | Select | Yes | Available, On hold, Quarantine, Recalled, Expired, Closed | Available | Quarantine | Other value by API -> 'Choose an available, hold, quarantine, recalled, expired, or closed status.' |
Lots > open a lot
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Retest by | إعادة الفحص قبل | Date | No | Shown when editing. A lot past its retest date cannot be delivered until the retest is recorded | 2026-12-31 | Bad date -> 'Use a valid YYYY-MM-DD date.' | |
| Status (In use / Retired) | الحالة (قيد الاستخدام / متوقف) | Select | No | Only when editing | In use | Retired |
Lots (not on the screen)
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Manufactured on / Best before / Removal / Alert dates | تاريخ التصنيع / الأفضلية / السحب / التنبيه | Dates (API only) | No | Accepted by the server; no input on the lot form | API manufactured_on 2026-01-10 | Out of order -> 'Lot dates must follow manufacture, best-before, removal, then expiry order.' |
Serial numbers > New serial
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Select | Yes | Stocked goods; fixed afterwards | A serial-tracked test product | A service -> 'Only stocked goods carry serials.' | |
| Parent lot | الدفعة الأصلية | Select | Conditional | Must be a lot of the same product; required when the product is tracked by lot and serial | LOT-2026-001 | 'This product requires a parent lot for every serial.'; other product's lot -> 'Choose a lot belonging to the same product.' | |
| Serial number | الرقم التسلسلي | Text | Yes | Max 80; unique across the company; fixed afterwards | SN-0001 | Repeat -> 'This serial number already exists in the company.'; rename -> 'A serial number cannot change: stock movements refer to it.' | |
| Condition | الحالة الفنية | Select | Yes | New, Used, Refurbished, Damaged | New | Refurbished | Other -> 'Choose new, used, refurbished, or damaged.' |
| Stock status | حالة المخزون | Select | Yes | Same six statuses as a lot | Available | Available | |
| Warranty end | نهاية الضمان | Date | No | Not before warranty start (start is not on the screen). May be hidden or required by the Inventory Fields switch | 2028-01-31 | Before start (API) -> 'Warranty end cannot precede warranty start.' |
Serial numbers (not on the screen)
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Warranty start / Manufacturer serial / Asset tag / Barcode | بداية الضمان / رقم المصنّع / وسم الأصل / الباركود | Text and date (API only) | No | Max 120 / 80 / 120; accepted by the server, no input on the form | API asset_tag AT-77 |
Reorder & pick-face rules > dialog
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product / Warehouse | المنتج / المستودع | Select | Yes | Product and warehouse of this company. One rule per product, warehouse, kind and bin; saving again changes the existing rule | Test product / DXB1 | Unknown -> 'Record not found.' | |
| Kind | النوع | Select | Yes | Keep the warehouse stocked (replenish) or Pick face | Replenish | Replenish | Other -> 'A rule replenishes the warehouse or refills a pick face.' |
| Minimum / Maximum (Fill up to) | الحد الأدنى / الحد الأعلى (التعبئة حتى) | Numbers (4 decimals) | Yes | 0 or more; Maximum not below Minimum | 0 | 10 / 50 | Min 20, Max 10 -> 'Maximum must not be below minimum.' |
| Safety stock / In multiples of | مخزون الأمان / بمضاعفات | Numbers | No | 0 or more, 4 decimals. Orders are rounded up to the multiple | 0 | 5 / 12 | |
| Lead days / Supply by | أيام التوريد / التوريد بواسطة | Whole number / Select | No | Buy, Manufacture, Transfer (replenish kind only) | 0 / Buy | 7 / Buy | Other method -> 'Buy, manufacture or transfer.' |
| From warehouse (Transfer) | من المستودع | Select | Conditional | Required for Transfer and must differ from the rule's warehouse | DXB2 | Same warehouse -> 'Choose another warehouse to transfer from.' | |
| Pick bin / Refill from (Pick face) | رف الانتقاء / التعبئة من | Select | Yes for Pick face | Two different internal locations of the rule's warehouse | DXB1/A-01-01 / DXB1/BULK-01 | Same or missing -> 'A pick face needs its bin and the bulk location it refills from, both in this warehouse.' |
Drop-ship routes > dialog
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Product | المنتج | Select (goods) | Yes | One route per product; cannot change afterwards | A test product | Service -> 'Choose a stocked product.'; second route -> '<code> already has a drop-ship route; change that one.' | |
| Shipped by | يشحنه | Select (supplier) | Yes | A partner of this company | A test supplier | Empty -> 'Choose the supplier that ships it.' | |
| Lead days / Active | أيام التوريد / نشط | Whole number / Switch | No | 0 or more | 0 / On | 5 | -1 -> 'Negative values are not allowed.' |
Webhooks > New webhook
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Name | الاسم | Text | Yes | Max 50; unique per company; it names the delivery cursor | erp-feed | Repeat -> 'A webhook of that name exists already.' | |
| Address (https) | العنوان (https) | URL | Yes | https only, no user name or password in the address, must resolve and must not be a private / loopback network address | https://hooks.example.com/stock | 'http://...' -> 'Webhooks are sent over https.'; 'ftp://x' -> 'Give the full address, starting https://'; private IP -> 'That address is on a private network.'; unknown host -> 'That address does not resolve.' | |
| Events | الأحداث | Tick boxes | No | receipt_posted, shipment_posted, transfer_posted, hold_changed, cost_adjusted, count_posted, adjustment_posted, conversion_posted. None ticked = every type | receipt_posted, shipment_posted | Unknown type by API -> 'Unknown event type <name>.' | |
| Send from the beginning | الإرسال من البداية | Tick box | No | Off: only events from now on. On: the whole history is delivered first | Off | Off |
Webhooks > open a webhook
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Send again from sequence | إعادة الإرسال من التسلسل | Whole number | No | 0 up to the latest published sequence | 0 | -1 or beyond -> 'That sequence has not been published.'; text -> 'Say which sequence to send again after.' |
Intercompany links > Link a company
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Company | الشركة | Select | Yes | Another company of the group in which you also hold membership | Group company B | Own company -> 'Choose another company of the group.'; not a member -> 'You do not belong to that company, so you cannot link companies.'; no right there -> 'You need the intercompany right in <code> to link companies.' | |
| Our customer for it / Its supplier for us | عميلنا الذي يمثلها / موردها الذي يمثلنا | Select / Select | Yes | The partner that stands for the other company here, and the partner that stands for this company there | Partner records of each company | Empty -> 'Choose the partner that stands for the other company here.' / 'Choose the partner that stands for this company there.' | |
| Sold at / Markup % | يُباع بـ / الهامش % | Select / Number | Markup: Conditional | At cost, Cost plus markup, List price. Markup 0-1000, 2 decimals | At cost | Cost plus markup / 8.5 | Markup 1500 -> 'The markup is 0 to 1000 percent.'; other price rule -> 'Sell at cost, cost plus a markup, or list price.' |
| Goods on the way belong to | البضاعة في الطريق ملك | Select | Yes | The buyer or the seller | The buyer | The seller | Other -> 'Goods on the way are the buyer's or the seller's.' |
Stock policy > defaults
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Below zero, by default | أقل من الصفر افتراضياً | Select | Yes | Block, Warn, Approval, Allow. Never applies to lot / serial products or FIFO-costed products: they are always refused below zero | Block | Warn | Other by API -> 'Choose block, warn, approval or allow.' |
| Remainder of a partial delivery | الباقي من التسليم الجزئي | Select | Yes | Create a backorder or Cancel the rest | Create a backorder | Cancel the rest | Other -> 'Choose whether a remainder becomes a backorder or is cancelled.' |
| Adjustment approval value (AED) | قيمة اعتماد التسوية | Decimal (2 places) | Yes | 0 or more; an adjustment above it needs an approver | 0 | 5000.00 | -1 -> 'The approval threshold cannot be negative.'; 1.234 -> 'Use at most 2 decimal places.' |
| A movement dated before today | حركة بتاريخ سابق | Select | Yes | Is allowed and audited / Needs the backdating right / Is refused | Allowed and audited | Needs the backdating right | Other -> 'Backdated movements are audited, need a right, or are refused.' |
| Over-receipt tolerance (%) | حد الاستلام الزائد (%) | Decimal | Yes | 0-100, 2 decimals | 0 | 5 | 101 -> 'The over-receipt tolerance is 0 to 100 percent.' |
| Goods in transit account | حساب البضاعة بالطريق | Text | Yes | Account code, 1-20 characters | 1260 | 1260 | Empty -> 'Give the goods-in-transit account code.' |
| New warehouses and bins | المستودعات والرفوف الجديدة | Select | Yes | Are active at once, or Start as drafts and wait for review (internal locations and warehouses only) | Are active at once | Start as drafts | |
| GS1 company prefix | بادئة GS1 للشركة | Digits | No | 6-12 digits; used to build SSCC labels for handling units | 629104 | 'ABC12' -> 'A GS1 company prefix is 6 to 12 digits.' |
Stock policy > rule
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Applies to / Which / Below zero / Active | ينطبق على / أيّها / أقل من الصفر / نشط | Select + picker + Select + Switch | Yes | Warehouse, Category or Product; one active rule per target. Order of precedence: product, category, warehouse, company default | Active | Product + a test product + Allow | Second active rule for the same target -> 'That target already has a rule. Change it instead.'; unknown target -> 'Record not found.' |
Units & packaging > New packaging
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Unit name | اسم الوحدة | Text | Yes | Max 20; not the product's own unit | Carton | Same as the product unit -> 'Carton is already the product's own unit.' | |
| Holds (factor) | تحتوي | Decimal (6 places) | Yes | Above 0; how many product units are in one of this unit. A changed factor retires the old row and creates a new one | 12 | 0 -> 'Enter a positive value.'; text -> 'Enter a finite decimal amount within the supported range.' | |
| Barcode | الباركود | Text | No | Max 80 | 6291041500213 |
Applications > Inventory > Features
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Drop shipments / Intercompany transfers / Transfers through transit / Cross-docking | الشحن المباشر / التحويلات بين الشركات / التحويل عبر العبور / التحويل المباشر بين الأرصفة | Switches | - | Default On. Off: new entries and changes through their routes are refused, menus go, records stay readable. Drop shipments also hides Drop-ship routes; Intercompany also hides Intercompany links | On | Turn Cross-docking off | Create a cross-dock rule while off -> 'Cross-docking is disabled for this company.' (code capability_disabled) |
| Landed costs / Kitting and repacking / Cycle counts / Waves, batches and handling units | تكاليف الاستيراد / التجميع وإعادة التعبئة / الجرد الدوري / الموجات والدفعات ووحدات المناولة | Switches | - | Cycle counts also covers Count policy and counts-due; Waves covers handling units and merging transfers | On | Turn Kitting off | New kit while off -> 'Kitting and repacking is disabled for this company.' |
| Recalls and held stock / Soft reservations and allocation | الاستدعاءات والمخزون المحجوز / الحجوزات المبدئية والتخصيص | Switches | - | Default On | On | Turn Soft reservations off | |
| Stock, receipts, deliveries and transfers / Valuation and inventory to ledger | المخزون والاستلام والتسليم والتحويلات / التقييم ومطابقة المخزون مع الدفاتر | Always on (not switches) | - | Listed but cannot be turned off | Try to switch off by API | 'A protected control cannot be turned off.' style refusal |
Applications > Inventory > Fields
| Field | Arabic label | Type | Required | Rules and limits | Default | Example | Refused when |
|---|---|---|---|---|---|---|---|
| Source document (transfer origin) | المستند المرجعي | Hidden / Optional / Required | - | Hidden: not shown and a value sent on a new transfer is refused. Required: a transfer is not saved without it | Optional | Required | Hidden + origin by API -> 'Source document is turned off for this company.'; Required + none -> 'Source document is required.' |
| Retest by (lot) | إعادة الفحص قبل | Hidden / Optional / Required | - | Applies when a lot is changed; Required: a change to a lot is not saved without a retest date | Optional | Required | Required + empty date on lot edit -> 'Retest by is required.' |
| Serial warranty end | نهاية ضمان الرقم التسلسلي | Hidden / Optional / Required | - | Required: a serial is not created without its warranty end date | Optional | Required | Required + empty -> 'Serial warranty end is required.' |