Glossary & State Reference
One page to look things up: every term you'll meet in the console, the exact states and colours every module uses, and every permission a role can be given — grouped by module.
This is the consolidated reference, not a walkthrough. For step-by-step instructions on any module, follow the links to that module's own page — this page exists so you can jump straight to a definition, a state's meaning, or the permission a role needs, without re-reading a whole chapter.
Glossary
Terms are alphabetical. Where a term is documented in more depth elsewhere, its name links to that page.
- Advocate Association
- A directory of local bar/advocate associations (name, district, state) used to describe or group customers who are advocates. It is a simple standalone list — super_admin-only in today's console — with no relationship fields linking it back onto the customer form itself in this inventory.
- AIR
- All India Reporter Pvt. Ltd. — the legal-publishing company this portal runs. AIR sells law-report subscriptions ("Full Sets") to advocates, libraries, courts and institutions across India. Everything in this console exists to capture, approve, pay for, stock, despatch and account for those subscriptions.
- Allocation
- The act of assigning a received payment (a Payment Voucher) against specific sale orders or a customer's outstanding balance. A voucher moves to Allocated once this happens. In today's console, allocation itself (payment.allocate) is not a button you press — see Payment Vouchers.
- Audit (Closing Stock)
- The final sign-off step of a physical stock count: a different person from whoever created the statement confirms the counted, reconciled figures are correct, moving the statement to Audited. See Closing Stock.
- Available Stock
- The quantity of a product at a location that is free to promise to a new order — calculated as qty_on_hand − qty_reserved. It is a computed figure shown on the Stock on Hand screen, not a stored column.
- Bank Reconciliation
- The process of matching lines on an uploaded bank statement to the payment vouchers they correspond to, so every rupee that reached the bank is accounted for in AIR's own records. Driven from the Bank Reconciliation page via Auto-match, Bifurcate and Close.
- Bifurcation
- Splitting a single lump-sum bank-statement line from a payment gateway (Razorpay or CCAvenue) back out into the individual customer payments it represents, by fetching the gateway's own settlement report and recording each one. See Bank Reconciliation.
- Charge
- An amount billed to a customer outside the normal order flow — for example a bounced-cheque fee. Charges move through Notified → optionally Disputed → Resolved (Levied or Waived). See Discounts, Refunds & Charges.
- Closing Stock
- A periodic physical stock count of a warehouse location, captured as a statement that snapshots expected quantities, records the counted quantities, and reconciles any discrepancy before being audited. See Closing Stock.
- Credit Control
- The overall practice of limiting how much a customer can owe AIR before an order is held for review — enforced through each customer's Credit Limit and, in the sale-order lifecycle, the CreditPending state. The credit request/approval workflow itself (credit.request_approval, credit.approve) has no console screen yet — see Sale Orders.
- Credit Limit
- A rupee ceiling set on a customer's record (credit_limit, toggled on with enforce_credit_limit) beyond which new orders are not allowed to proceed without approval. Set on the customer's Sales & Credit form section — see Customers.
- Customer
- A person or institution that buys AIR's subscriptions — an advocate, library, government office, company, etc. Every customer is also a User underneath (for login and contact details), but not every user is a customer: the distinguishing fact is the existence of a row in the customers table. See Customers.
- Customer Scope
- A direct, per-customer access grant to a staff user (customer_scopes: Owns/Manages/Views, with an optional expiry) that overrides the broader geography-based scoping below. Managed today on the individual user's record — see Users.
- Full Set
- AIR's core product: a law-report subscription made up of twelve monthly Parts, delivered one per month across the year. Most of what the Products and Sale Order modules manage is Full Sets and their constituent Parts. See Products.
- Gateway
- An online payment processor AIR accepts money through — currently Razorpay and CCAvenue. Gateway settlements arrive as bank-statement lines that need Bifurcation back into individual customer payments. See Bank Reconciliation and Payment Vouchers.
- Geography Scope
- An access grant that ties a staff user to a branch of the Region tree, so they only see customers and orders within that territory (unless overridden by a Customer Scope). Managed on the individual user's record — see Users and Geography.
- GST
- Goods and Services Tax — India's indirect tax, charged on AIR's invoices according to each customer's registration status. See Accounting.
- GST E-invoice
- An invoice that has been electronically reported to the GST portal and issued an IRN. E-invoices move Draft → Done via Submit, and can be Cancelled within 24 hours of acknowledgement. See Accounting.
- GSTIN
- A customer's or AIR's own GST Identification Number — a 15-character tax-registration number recorded on the customer record (gst_registration_number) and on every GST e-invoice raised for them. See Customers and Accounting.
- HO (Head Office)
- AIR's central office staff — the people who use this console. Field orders captured by Sales Executives flow up to HO for review and approval before stock is committed and despatched. "The HO console" is this application.
- IRN
- Invoice Reference Number — the unique number the government's GST portal returns once an e-invoice is successfully submitted, proving it was legally reported. See Accounting.
- Journal Entry
- A double-entry accounting record — a balanced set of debit and credit lines (they must sum to zero) posted to AIR's ledger. Journal entries in this system are mostly created automatically by other actions (for example approving a PAD that requires posting) rather than typed in by hand. See Accounting.
- Materialized Path
- A technique for storing a tree (here, the Region hierarchy — country → state → district → sub-district → town/village) as a path string plus a depth number on each row, so "give me everything under this region" is a single fast query instead of a recursive one. You won't see it as a form field — it's maintained automatically. See Geography.
- PAD (Post-Approval Discount)
- A discount granted to a customer after their sale order has already been approved — so it needs its own separate approval workflow, rather than being folded into the order itself. Approving one may automatically create and post a Journal Entry. See Discounts, Refunds & Charges.
- Package
- A physical parcel — one sealed box or envelope — containing the items being despatched to a customer, with its own tracking number, carrier and delivery outcome. One or more packages travel together inside a Picking Wave. See Packages.
- Part
- One monthly instalment of a Full Set — twelve Parts make up a year's subscription. See Products.
- Payment Voucher
- The record of a single payment received from a customer — by cash, cheque, DD, NEFT/RTGS/IMPS, a Gateway, VPP or wallet. Vouchers move through a ten-state lifecycle from Draft to Cleared (or off to Dishonoured/Cancelled). See Payment Vouchers.
- Permission
- A single named capability (for example payment.approve) that a Role can be granted. Permissions are fixed in code by AIR's developers; only roles are created and assigned by administrators. See Roles & Permissions and the Permission reference below.
- Pincode
- An Indian postal (PIN) code record — the office name, district, state, India Post region/circle and which delivery carriers can serve it. Pincodes attach to a Region and to customer addresses and warehouses. See Geography.
- Refund
- Money paid back to a customer, by cheque, NEFT or ledger adjustment. Requests move Draft → Submitted → Approved → Issued (or Rejected). See Discounts, Refunds & Charges.
- Region
- A node in AIR's geographic hierarchy — country, state, district, sub-district or town/village — organised as a tree via Materialized Path. Regions carry government codes, an optional assigned account holder/region user, and group under a Zone. See Geography.
- Reservation
- Setting aside a specific quantity of stock at a location for a specific sale order, so it can't be promised to anyone else. Shown as the qty_reserved figure on Stock on Hand, and as the Reserved state of a Stock Move.
- Reserved Stock
- The quantity of a product at a location currently held back for confirmed orders (qty_reserved) — subtracted from on-hand quantity to give Available Stock. See Stock on Hand.
- Role
- A named bundle of Permissions (for example "Cashier" or "Despatch Supervisor") that an administrator creates and then assigns to users, optionally with an expiry date. A user's effective access is the union of every permission across all of their active roles. See Roles & Permissions.
- Sale Executive (SE)
- A field-based salesperson who visits customers, captures orders and (where permitted) collects payment, via the separate SE mobile field app — not this console. Their captured orders and salesperson assignment do appear in this console's Sale Orders screens.
- Sale Order
- A customer's order for one or more subscriptions, and the central record of AIR's commercial workflow. It carries lines, a customer, a salesperson, and moves through a ten-plus-state lifecycle (draft → payment/credit/discount checks → HO approval → despatch → completion). See Sale Orders.
- Stock Location
- A specific storage bin or area inside a Warehouse — Internal, Supplier, Customer, Production, Transit, Main Stock, Attached Stock, Loose Stock, Return Stock, Loss, or a View (a grouping location). Stock quantities are always recorded against a location, not just a warehouse. See Warehouses.
- Stock Move
- A single movement of a quantity of product between two stock locations (or into/out of stock), the low-level building block behind reservations, picking, packing, despatch and stock adjustments. There is no standalone screen for browsing stock moves directly in the console today — you see their effects through Picking Waves and Closing Stock.
- Stock on Hand
- The quantity of a product physically present at a stock location right now (qty_on_hand), before subtracting anything reserved. See Stock on Hand.
- Super Administrator
- Any user holding a role literally named
super_admin. Super administrators bypass every permission check and can see and do everything, including the several setup modules (Users, Roles, Geography, Warehouses, Carriers, Customer Categories) that today are only reachable by a super administrator, regardless of any other permission a role might carry. See Roles & Permissions. - Suspend Reason
- The explanation recorded when a sale order (or other record) is moved into a paused/Suspended state, so whoever picks it back up knows why it stopped. See Sale Orders.
- Suspense Voucher
- A payment voucher automatically parked in the Suspense state by the bank-reconciliation auto-match process when it finds an ambiguous or duplicate instrument (same cheque/DD number and amount matched more than once). It is not a state you place a voucher into yourself. See Bank Reconciliation and Payment Vouchers.
- User
- The base account record used for logging in and holding contact details (users → user_contacts → profiles). Every person in the system — staff and customers alike — is a User first; whether they are additionally staff or a Customer is decided by which role-specific row (staff or customers) also exists for them. See Users.
- VPP
- Value-Payable Post — India Post's cash-on-delivery-style service, where the postman collects payment from the customer on delivery and remits it back to AIR. Packages sent this way are flagged is_vpp and, once the postman's remittance is confirmed, vpp_received. See Packages and VPP Lots.
- VPP Lot
- A batch of VPP packages grouped together for the carrier's single bulk remittance, deposited, cleared and reconciled as one unit rather than package by package. See VPP Lots.
- Warehouse
- A physical AIR facility that holds stock — Head Office or a Branch — made up of one or more Stock Locations. See Warehouses.
- Zone
- A broad territorial grouping that sits above the Region tree and can have an assigned user responsible for it — used to organise regions into larger sales/operations areas. See Geography.
State reference
Every colour below matches exactly how the console renders that state's badge. "What usually happens next" describes the normal path forward; a record can also be cancelled or suspended from many of these states — see each module's own page for the full picture and, where one exists, its transition diagram.
SaleOrderState — Sale Orders
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Order captured (SE app/API) and still editable. Not exposed in this console. |
| LinesConfirmed | lines_confirmed | Order lines are locked in. Next, payment/credit/discount are evaluated. |
| PaymentPending | payment_pending | Waiting on the customer's payment before the order can move on. |
| CreditPending | credit_pending | Waiting on a credit request/approval (credit.approve) — no console screen yet. |
| DiscountPending | discount_pending | Waiting on a discount request/approval (discount.approve) — no console screen yet. |
| ReadyForHo | ready_for_ho | Cleared payment/credit/discount checks; about to be submitted to HO. |
| SubmittedToHo | submitted_to_ho | Sitting in the HO review queue. HO Approve becomes available here. |
| ApprovedForDespatch | approved_for_despatch | HO has approved it. Stock reservation and picking follow. |
| InDespatch | in_despatch | Moving through a picking wave and package toward the customer. |
| Completed | completed | Fully despatched — the order's end state. |
| Suspended | suspended | Paused pending attention; not a console-driven transition. |
| Cancelled | cancelled | Abandoned. Reachable from any state except Completed via Cancel (reason required). |
PaymentVoucherState — Payment Vouchers
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Voucher created, not yet submitted. |
| Submitted | submitted | Submitted; awaiting allocation. |
| Allocated | allocated | Allocated to specific orders/ledger. Approve becomes available. |
| Approved | approved | HO approved the allocation; next it is deposited. |
| Deposited | deposited | Physically banked; awaiting the bank statement to confirm clearance. |
| Cleared | cleared | Bank confirmed the funds cleared — successful end state. |
| OnHold | on_hold | Paused pending investigation; not console-driven. |
| Dishonoured | dishonoured | Cheque/DD bounced. Can still be cancelled from the console. |
| Suspense | suspense | Parked automatically by bank-reconciliation auto-match on an ambiguous match — see Suspense Voucher. |
| Cancelled | cancelled | Voided via Cancel from Draft/Submitted/Dishonoured. |
WaveState — Picking Waves
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Wave created; items not yet identified. |
| ItemsIdentified | items_identified | Items to pick are identified. Print labels becomes available. |
| LabelPrinting | label_printing | Labels are being generated/printed. Complete packing advances it. |
| Packing | packing | Items are being physically packed. Send to branch or Despatch advance it. |
| AtBranch | at_branch | Packed goods reached the despatch branch. Despatch becomes available. |
| Despatched | despatched | Handed to the carrier; cascades its packages and stock moves onward. |
| Done | done | Closed out via Mark done — end state. |
| Cancelled | cancelled | Abandoned; only from Draft/ItemsIdentified. |
PackageState — Packages
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Package shell created; contents still being assembled. |
| Packing | packing | Items being packed into the box. |
| Sealed | sealed | Sealed via Seal, which also computes postage cost. Ready for despatch. |
| Despatched | despatched | Handed to the carrier — directly or via a wave's despatch cascade. |
| Delivered | delivered | Confirmed delivered via Record delivery. |
| Returned | returned | Came back undelivered, recorded with a return reason. |
| Lost | lost | Lost in transit, recorded via Record delivery. |
| Cancelled | cancelled | Voided outside the normal delivery flow — no console action reaches this state. |
VppLotState — VPP Lots
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Lot created elsewhere; no console create action. |
| Submitted | submitted | Packages finalised; awaiting deposit. |
| Deposited | deposited | Cash/cheque banked via Deposit (received amount and bank details recorded). |
| Cleared | cleared | Bank confirmed clearing via Clear. |
| Reconciled | reconciled | Each item matched/settled via Reconcile — flags packages as VPP received. |
PadState — Discounts, Refunds & Charges
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Drafted elsewhere; no console create action. |
| PendingApproval | pending_approval | Awaiting HO's Approve or Reject decision. |
| Approved | approved | Approved; if its reason requires it, a journal entry is posted automatically next. |
| Posted | posted | A journal entry has been created and posted for this discount — end state. |
| Cancelled | cancelled | Voided — also reused for a rejected PAD (there is no separate "Rejected" case). |
RefundState — Discounts, Refunds & Charges
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Drafted elsewhere; no console create action. |
| Submitted | submitted | Awaiting HO's Approve or Reject decision. |
| Approved | approved | Cleared for payout. Issue becomes available. |
| Issued | issued | Paid out (cheque or NEFT recorded) — end state. |
| Rejected | rejected | Declined with a reason — end state. |
ChargeState — Discounts, Refunds & Charges
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Recorded but not yet notified; no console create action. |
| Notified | notified | Customer told about it. Can be Resolved or Cancelled, or move to Disputed. |
| Disputed | disputed | Customer has disputed it. Resolve or Cancel apply. |
| Resolved | resolved | HO decided to Levy (collect) or Waive it, with optional notes — end state. |
| Cancelled | cancelled | Voided from Draft/Notified/Disputed. |
JournalEntryState — Accounting
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Created by another service (for example a PAD approval); not yet posted. |
| Posted | posted | Debit/credit balance re-validated and committed via Post — normal end state. |
| Reversed | reversed | Reversed via Reverse: a brand-new, already-Posted entry with swapped debit/credit lines is created and linked back to this one. |
GstEinvoiceState — Accounting
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Drafted by GstEinvoiceService::createDraft(); no console create action. |
| Submitted | submitted | Transient — Submit sends it to the GST portal and, on success, advances it to Done in the same request. |
| Done | done | IRN and acknowledgement recorded — the invoice is legally issued. |
| Cancelled | cancelled | Cancelled via Cancel (reason required); blocked once 24 hours have passed since acknowledgement — issue a credit note instead. |
ClosingStockState — Closing Stock
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Statement exists; counting hasn't started. No console create action. |
| InProgress | in_progress | Start Count has snapshotted stock into countable items; staff record physical counts. |
| Completed | completed | Complete closed the count and created adjustment stock moves for any discrepancies. |
| Audited | audited | A different person has run Audit to sign it off — end state. |
BankStatementStatus — Bank Reconciliation
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Uploaded | uploaded | Statement file received; no console upload action. |
| Parsing | parsing | Lines are being extracted from the file automatically. |
| Parsed | parsed | Lines are ready. Auto-match and Bifurcate become available. |
| Reconciling | reconciling | Matching is under way; Auto-match/Bifurcate/Close remain available. |
| Reconciled | reconciled | Close succeeded once every line was matched or bifurcated — end state. |
| Failed | failed | Parsing failed; no console recovery action documented. |
StockMoveState — see Stock on Hand, Picking Waves & Closing Stock
These states are shown as coloured badges on the Stock Moves list, where you can also suspend, unsuspend or cancel a move. You otherwise meet them indirectly through Picking Waves despatching (which ships every underlying move) and Closing Stock completion (which marks its adjustment moves Done).
| State | Raw value | What it means / what usually happens next |
|---|---|---|
| Draft | draft | Move created but not yet confirmed. |
| Confirmed | confirmed | Confirmed as intended; not yet reserved. |
| Reserved | reserved | Stock earmarked for a specific order — see Reservation. |
| Picked | picked | Physically picked from the shelf. |
| Packed | packed | Picked stock packed into a package. |
| Shipped | shipped | Handed to despatch — set in bulk when a wave is despatched. |
| Done | done | Fully completed — also how closing-stock adjustments finish. |
| Cancelled | cancelled | Abandoned. |
| Suspended | suspended | Paused; the trigger for this is not exposed in the console. |
Permission reference
Every permission that exists in the system, grouped by its module exactly as coded. Use this to work out which permission a role needs for a capability — then grant it via Roles & Permissions.
Module: admin
| Permission | What it grants | Console |
|---|---|---|
| admin.manage_users | Manage Users | Not wired — Users is super-admin-only regardless of this permission. |
| admin.manage_roles | Manage Roles | Not wired — Roles is super-admin-only regardless of this permission. |
| admin.manage_geography | Manage Geography | Not wired — Geography is super-admin-only regardless of this permission. |
| admin.manage_customer_scope | Manage Customer Scope | Not wired to a separate gate — Customer Scope rows are managed under a super-admin-only user record. |
| admin.view_login_history | View Login History | Planned — no login-history screen exists. |
| admin.view_system_config | View System Configuration | Gates access to System Configuration. |
| admin.edit_system_config | Edit System Configuration | Not confirmed as a separate action gate — editing is enforced via is_editable per config on the same screen. |
| diagnostics.view | View Diagnostics | Built — Diagnostics (scheduler runs / dropped records / health checks). |
Module: user
| Permission | What it grants | Console |
|---|---|---|
| user.view_self | View one's own profile | Planned — self-service is an API/field-app concern, not a console screen. |
| user.edit_self | Edit one's own profile | Planned — API/field-app concern. |
| user.change_password | Change one's own password | Planned — API/field-app concern (this is the ability a forced-reset token is scoped to). |
Module: zone
| Permission | What it grants | Console |
|---|---|---|
| zone.view | View zones | Not wired — Zones is super-admin-only regardless of this permission. |
| zone.create | Create zones | Not wired — super-admin-only. |
| zone.edit | Edit zones | Not wired — super-admin-only. |
| zone.delete | Delete zones | Not wired — super-admin-only. |
Module: region
| Permission | What it grants | Console |
|---|---|---|
| region.view | View regions | Not wired — Regions is super-admin-only regardless of this permission. |
| region.create | Create regions | Not wired — super-admin-only. |
| region.edit | Edit regions | Not wired — super-admin-only. |
| region.delete | Delete regions | Not wired — super-admin-only (deletion is additionally blocked in code if the region has active children or scope references). |
Module: pincode
| Permission | What it grants | Console |
|---|---|---|
| pincode.view | View pincodes | Not wired — Pincodes is super-admin-only regardless of this permission. |
| pincode.edit | Edit pincodes | Not wired — super-admin-only. |
| pincode.import | Bulk import pincode data | Planned — no bulk-import or file-upload action exists; pincodes are created one at a time. |
Module: customer
| Permission | What it grants | Console |
|---|---|---|
| customer.view | View customers | Gates access to Customers (together with customer.create). |
| customer.create | Create customers | Gates access to Customers (together with customer.view); also enables the New customer action. |
| customer.edit | Edit customers | Not separately gated in this inventory — edit access follows page access. |
| customer.delete | Delete customers | Not separately gated in this inventory — delete access follows page access. |
| customer.verify | Verify a customer | Planned — the is_verified flag is only editable via the plain edit form; no dedicated Verify action exists. |
| customer.view_financial | View a customer's financial detail | Planned — no separate financial view is gated by this permission. |
| customer.manage_categories | Manage customer categories | Not wired — Customer Categories is super-admin-only regardless of this permission. |
| customer.bulk_import | Bulk import customers | Planned — no bulk-import action exists. |
| customer.view_all | View all customers regardless of scope | Planned — no scoped row-visibility logic is implemented on the Customers list in this inventory (unlike Sale Orders' sale_order.view_all). |
| customer.merge | Merge duplicate customers | Planned — no merge action exists. |
Module: warehouse
| Permission | What it grants | Console |
|---|---|---|
| warehouse.view | View warehouses | Not wired — Warehouses is super-admin-only regardless of this permission. |
| warehouse.create | Create warehouses | Not wired — super-admin-only. |
| warehouse.edit | Edit warehouses | Not wired — super-admin-only. |
| warehouse.delete | Delete warehouses | Not wired — super-admin-only. |
| stock_location.view | View stock locations | Not wired — locations sit under the super-admin-only Warehouse record. |
| stock_location.create | Create stock locations | Not wired — super-admin-only. |
| stock_location.edit | Edit stock locations | Not wired — super-admin-only. |
| stock_location.delete | Delete stock locations | Not wired — super-admin-only. |
| stock_level.view | View stock levels | Not the same permission as Stock on Hand's own stock_on_hand.view — no resource matches this exact permission. |
| stock_level.edit | Edit stock levels | Planned — no matching action. |
| stock_transfer.request | Request a stock transfer | Planned — no Transfer resource exists in the console at all. |
| delivery_carrier.view | View delivery carriers | Not wired — Delivery Carriers is super-admin-only regardless of this permission. |
| delivery_carrier.manage | Manage delivery carriers | Not wired — super-admin-only. |
Module: inventory
| Permission | What it grants | Console |
|---|---|---|
| product.view | View products | Gates access to Products. |
| product.create | Create products | Planned — Products is read-only in this console (no form, no actions). |
| product.edit | Edit products | Planned — read-only. |
| product.delete | Delete products | Planned — read-only. |
| product.duplicate | Duplicate a product | Planned — read-only. |
| product_price.view | View product prices | Prices are shown inline on Products (current MRP) but not gated by this specific permission. |
| product_price.manage | Manage product prices | Planned — no price-editing UI exists. |
| stock_on_hand.view | View stock on hand | Gates access to Stock on Hand. |
| stock_move.view | View stock moves | Built — the Stock Moves list. |
| stock_move.create | Create stock moves | Built — gates the Release for despatch action (D6). |
| stock_move.edit | Edit stock moves | Built — the Cancel action. |
| stock_move.suspend | Suspend a stock move | Built — Suspend / Unsuspend actions. |
| stock_transfer.view | View stock transfers | Built — the Stock Transfers list. |
| stock_transfer.create | Create stock transfers | Built — create a transfer (with its items). |
| stock_transfer.approve | Approve stock transfers | Built — Process / Dispatch / Cancel actions. |
| stock_transfer.receive | Receive stock transfers | Built — Receive / Complete actions. |
| closing_stock.view | View closing-stock statements | Gates access to Closing Stock. |
| closing_stock.create | Start/complete a stock count | Gates the Start Count and Complete actions. |
| closing_stock.reconcile | Reconcile a closing-stock discrepancy | Planned as a named gate — discrepancy handling happens inside the Complete action, which is gated by closing_stock.create instead. |
| closing_stock.audit | Audit a closing-stock statement | Gates the Audit action. |
Module: sales
| Permission | What it grants | Console |
|---|---|---|
| sale_order.view | View sale orders | Gates access to Sale Orders. |
| sale_order.create | Create sale orders | Planned in this console — orders originate from the SE field app/API. |
| sale_order.edit | Edit sale orders | Planned — no edit form in this console. |
| sale_order.submit | Submit a sale order to HO | Planned — earlier-stage transitions aren't exposed here. |
| sale_order.approve | HO-approve a sale order | Gates the HO Approve action. |
| sale_order.cancel | Cancel a sale order | Gates the Cancel action. |
| sale_order.view_all | View all sale orders regardless of scope | Grants full row visibility on Sale Orders; without it you only see orders in your geography/customer scope or where you are the salesperson. |
| credit.grant_directly | Grant credit directly | Planned — no credit-request screen exists. |
| credit.request_approval | Request credit approval | Planned. |
| credit.approve | Approve a credit request | Planned — no console queue exists for CreditRequestState. |
| discount.request_approval | Request discount approval | Planned. |
| discount.approve | Approve a discount request | Planned — no console queue exists for DiscountRequestState (distinct from PAD, which does have a queue). |
Module: despatch
| Permission | What it grants | Console |
|---|---|---|
| box_type.view | View box types | Built — the Box Types list. |
| box_type.manage | Manage box types | Built — create/edit box types + carrier compatibility. |
| carrier_rate.view | View carrier rate cards | Built — the Carrier Rate Cards list. |
| carrier_rate.manage | Manage carrier rate cards | Built — create/edit/duplicate rate cards. |
| wave.view | View picking waves | Gates access to Picking Waves. |
| wave.create | Create picking waves | Planned — waves are created elsewhere; the list here is index-only. |
| wave.manage | Progress or cancel a picking wave | Gates every wave transition action (Print labels, Complete packing, Send to branch, Despatch, Mark done, Cancel). |
| package.view | View packages | Gates access to Packages. |
| package.track | Update a package's tracking/delivery state | Gates Seal, Record delivery and Mark VPP received. |
| return.view | View carrier return shipments | Planned — no resource exists for ReturnShipmentState. |
| return.manage | Manage carrier return shipments | Planned. |
| return.reconcile | Reconcile carrier return shipments | Planned. |
| vpp_payment.view | View VPP payment lots | Gates access to VPP Lots. |
| vpp_payment.create | Create a VPP payment lot | Planned — no create action; lots and their items originate elsewhere. |
| vpp_payment.reconcile | Deposit, clear or reconcile a VPP lot | Gates Deposit, Clear and Reconcile. |
Module: billing
| Permission | What it grants | Console |
|---|---|---|
| payment.view | View payment vouchers | Gates access to Payment Vouchers. |
| payment.create | Create a payment voucher | Planned — the list is index-only; vouchers originate elsewhere. |
| payment.submit | Submit a payment voucher | Planned — no console action. |
| payment.allocate | Allocate a payment voucher | Planned — no console action; see Allocation. |
| payment.approve | Approve a payment voucher | Gates the Approve action. |
| payment.deposit | Mark a payment voucher deposited | Planned — no console action. |
| payment.clear | Clear a payment voucher | Planned as a direct console action — clearing normally happens via bank-reconciliation auto-match instead. |
| payment.dishonour | Mark a payment voucher dishonoured | Planned — no console action. |
| payment.hold | Place a payment voucher on hold | Planned — no console action. |
| payment.cancel | Cancel a payment voucher | Gates the Cancel action. |
| payment.reallocate | Reallocate a payment voucher | Planned — no console action. |
| payment.account_allocate | Allocate a payment to an account (not an order) | Planned — no console action. |
| payment.recovery.manage | Manage payment recovery | Planned — no recovery screen exists. |
| payment_dishonour_reason.manage | Manage dishonour reasons | Planned — no resource exists. |
| bank_master.manage | Manage bank master data | Planned — no bank-account management resource exists (only referenced via Bank Reconciliation's statement records). |
| journal.view | View journal entries | Gates access to Accounting's Journal Entries. |
| journal.manage | Post or reverse a journal entry | Gates Post and Reverse. |
| gst_einvoice.view | View GST e-invoices | Gates access to Accounting's GST E-invoices. |
| gst_einvoice.manage | Submit or cancel a GST e-invoice | Gates Submit and Cancel. |
| bank_statement.upload | Upload a bank statement | Planned — no upload action exists; statements originate elsewhere. |
| bank_statement.view | View bank statements | Gates access to Bank Reconciliation. |
| bank_statement.reconcile | Auto-match or bifurcate a bank statement | Gates Auto-match and Bifurcate. |
| bank_statement.close | Close a bank statement | Gates Close. |
| pad.view | View post-approval discounts | Gates access to Discounts, Refunds & Charges's PADs. |
| pad.create | Create a PAD | Planned — no create action; PADs are drafted elsewhere. |
| pad.submit | Submit a PAD for approval | Planned — no console action. |
| pad.approve | Approve or reject a PAD | Gates Approve and Reject. |
| pad.cancel | Cancel a PAD | Gates Cancel. |
| refund.view | View refund requests | Gates access to Discounts, Refunds & Charges's Refunds. |
| refund.create | Create a refund request | Planned — no create action. |
| refund.submit | Submit a refund request | Planned — no console action. |
| refund.approve | Approve or reject a refund request | Gates Approve and Reject. |
| refund.issue | Issue an approved refund | Gates Issue. |
| charge.view | View charges | Gates access to Discounts, Refunds & Charges's Charges. |
| charge.create | Create a charge | Planned — no create action; a charge must already be Notified or Disputed to appear here. |
| charge.notify | Notify a customer of a charge | Planned — no console action. |
| charge.dispute | Mark a charge disputed | Planned — no console action. |
| charge.resolve | Resolve a charge | Gates Resolve. |
| charge.cancel | Cancel a charge | Gates Cancel. |
| charge_type.manage | Manage charge types | Planned — no resource exists. |
Module: reports
| Permission | What it grants | Console |
|---|---|---|
| dashboard.view | View Dashboard | Built — gates the Dashboard KPI widgets (Operations Overview, Order Pipeline, Daily Health Check). |
| report.view | View Reports | Planned — see Dashboard & Reports; no report screens exist yet. |