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.

How to use this page

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 DisputedResolved (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 DraftDone 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 DraftSubmittedApprovedIssued (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 (usersuser_contactsprofiles). 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

StateRaw valueWhat it means / what usually happens next
DraftdraftOrder captured (SE app/API) and still editable. Not exposed in this console.
LinesConfirmedlines_confirmedOrder lines are locked in. Next, payment/credit/discount are evaluated.
PaymentPendingpayment_pendingWaiting on the customer's payment before the order can move on.
CreditPendingcredit_pendingWaiting on a credit request/approval (credit.approve) — no console screen yet.
DiscountPendingdiscount_pendingWaiting on a discount request/approval (discount.approve) — no console screen yet.
ReadyForHoready_for_hoCleared payment/credit/discount checks; about to be submitted to HO.
SubmittedToHosubmitted_to_hoSitting in the HO review queue. HO Approve becomes available here.
ApprovedForDespatchapproved_for_despatchHO has approved it. Stock reservation and picking follow.
InDespatchin_despatchMoving through a picking wave and package toward the customer.
CompletedcompletedFully despatched — the order's end state.
SuspendedsuspendedPaused pending attention; not a console-driven transition.
CancelledcancelledAbandoned. Reachable from any state except Completed via Cancel (reason required).

PaymentVoucherState — Payment Vouchers

StateRaw valueWhat it means / what usually happens next
DraftdraftVoucher created, not yet submitted.
SubmittedsubmittedSubmitted; awaiting allocation.
AllocatedallocatedAllocated to specific orders/ledger. Approve becomes available.
ApprovedapprovedHO approved the allocation; next it is deposited.
DepositeddepositedPhysically banked; awaiting the bank statement to confirm clearance.
ClearedclearedBank confirmed the funds cleared — successful end state.
OnHoldon_holdPaused pending investigation; not console-driven.
DishonoureddishonouredCheque/DD bounced. Can still be cancelled from the console.
SuspensesuspenseParked automatically by bank-reconciliation auto-match on an ambiguous match — see Suspense Voucher.
CancelledcancelledVoided via Cancel from Draft/Submitted/Dishonoured.

WaveState — Picking Waves

StateRaw valueWhat it means / what usually happens next
DraftdraftWave created; items not yet identified.
ItemsIdentifieditems_identifiedItems to pick are identified. Print labels becomes available.
LabelPrintinglabel_printingLabels are being generated/printed. Complete packing advances it.
PackingpackingItems are being physically packed. Send to branch or Despatch advance it.
AtBranchat_branchPacked goods reached the despatch branch. Despatch becomes available.
DespatcheddespatchedHanded to the carrier; cascades its packages and stock moves onward.
DonedoneClosed out via Mark done — end state.
CancelledcancelledAbandoned; only from Draft/ItemsIdentified.

PackageState — Packages

StateRaw valueWhat it means / what usually happens next
DraftdraftPackage shell created; contents still being assembled.
PackingpackingItems being packed into the box.
SealedsealedSealed via Seal, which also computes postage cost. Ready for despatch.
DespatcheddespatchedHanded to the carrier — directly or via a wave's despatch cascade.
DelivereddeliveredConfirmed delivered via Record delivery.
ReturnedreturnedCame back undelivered, recorded with a return reason.
LostlostLost in transit, recorded via Record delivery.
CancelledcancelledVoided outside the normal delivery flow — no console action reaches this state.

VppLotState — VPP Lots

StateRaw valueWhat it means / what usually happens next
DraftdraftLot created elsewhere; no console create action.
SubmittedsubmittedPackages finalised; awaiting deposit.
DepositeddepositedCash/cheque banked via Deposit (received amount and bank details recorded).
ClearedclearedBank confirmed clearing via Clear.
ReconciledreconciledEach item matched/settled via Reconcile — flags packages as VPP received.

PadState — Discounts, Refunds & Charges

StateRaw valueWhat it means / what usually happens next
DraftdraftDrafted elsewhere; no console create action.
PendingApprovalpending_approvalAwaiting HO's Approve or Reject decision.
ApprovedapprovedApproved; if its reason requires it, a journal entry is posted automatically next.
PostedpostedA journal entry has been created and posted for this discount — end state.
CancelledcancelledVoided — also reused for a rejected PAD (there is no separate "Rejected" case).

RefundState — Discounts, Refunds & Charges

StateRaw valueWhat it means / what usually happens next
DraftdraftDrafted elsewhere; no console create action.
SubmittedsubmittedAwaiting HO's Approve or Reject decision.
ApprovedapprovedCleared for payout. Issue becomes available.
IssuedissuedPaid out (cheque or NEFT recorded) — end state.
RejectedrejectedDeclined with a reason — end state.

ChargeState — Discounts, Refunds & Charges

StateRaw valueWhat it means / what usually happens next
DraftdraftRecorded but not yet notified; no console create action.
NotifiednotifiedCustomer told about it. Can be Resolved or Cancelled, or move to Disputed.
DisputeddisputedCustomer has disputed it. Resolve or Cancel apply.
ResolvedresolvedHO decided to Levy (collect) or Waive it, with optional notes — end state.
CancelledcancelledVoided from Draft/Notified/Disputed.

JournalEntryState — Accounting

StateRaw valueWhat it means / what usually happens next
DraftdraftCreated by another service (for example a PAD approval); not yet posted.
PostedpostedDebit/credit balance re-validated and committed via Post — normal end state.
ReversedreversedReversed via Reverse: a brand-new, already-Posted entry with swapped debit/credit lines is created and linked back to this one.

GstEinvoiceState — Accounting

StateRaw valueWhat it means / what usually happens next
DraftdraftDrafted by GstEinvoiceService::createDraft(); no console create action.
SubmittedsubmittedTransient — Submit sends it to the GST portal and, on success, advances it to Done in the same request.
DonedoneIRN and acknowledgement recorded — the invoice is legally issued.
CancelledcancelledCancelled via Cancel (reason required); blocked once 24 hours have passed since acknowledgement — issue a credit note instead.

ClosingStockState — Closing Stock

StateRaw valueWhat it means / what usually happens next
DraftdraftStatement exists; counting hasn't started. No console create action.
InProgressin_progressStart Count has snapshotted stock into countable items; staff record physical counts.
CompletedcompletedComplete closed the count and created adjustment stock moves for any discrepancies.
AuditedauditedA different person has run Audit to sign it off — end state.

BankStatementStatus — Bank Reconciliation

StateRaw valueWhat it means / what usually happens next
UploadeduploadedStatement file received; no console upload action.
ParsingparsingLines are being extracted from the file automatically.
ParsedparsedLines are ready. Auto-match and Bifurcate become available.
ReconcilingreconcilingMatching is under way; Auto-match/Bifurcate/Close remain available.
ReconciledreconciledClose succeeded once every line was matched or bifurcated — end state.
FailedfailedParsing failed; no console recovery action documented.

StockMoveState — see Stock on Hand, Picking Waves & Closing Stock

Not browsable directly

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).

StateRaw valueWhat it means / what usually happens next
DraftdraftMove created but not yet confirmed.
ConfirmedconfirmedConfirmed as intended; not yet reserved.
ReservedreservedStock earmarked for a specific order — see Reservation.
PickedpickedPhysically picked from the shelf.
PackedpackedPicked stock packed into a package.
ShippedshippedHanded to despatch — set in bulk when a wave is despatched.
DonedoneFully completed — also how closing-stock adjustments finish.
CancelledcancelledAbandoned.
SuspendedsuspendedPaused; 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.

Not every permission is wired to a console button yet

All of these permissions exist today and can be attached to a role. Many of them gate the public API and the SE field app, or are reserved for a console feature that hasn't been built yet — the "Console" column says so plainly wherever that's the case. See Getting started for how permissions combine into your effective access, and each module's own page for the exact behaviour of the permissions that are wired up.

Module: admin

PermissionWhat it grantsConsole
admin.manage_usersManage UsersNot wired — Users is super-admin-only regardless of this permission.
admin.manage_rolesManage RolesNot wired — Roles is super-admin-only regardless of this permission.
admin.manage_geographyManage GeographyNot wired — Geography is super-admin-only regardless of this permission.
admin.manage_customer_scopeManage Customer ScopeNot wired to a separate gate — Customer Scope rows are managed under a super-admin-only user record.
admin.view_login_historyView Login HistoryPlanned — no login-history screen exists.
admin.view_system_configView System ConfigurationGates access to System Configuration.
admin.edit_system_configEdit System ConfigurationNot confirmed as a separate action gate — editing is enforced via is_editable per config on the same screen.
diagnostics.viewView DiagnosticsBuiltDiagnostics (scheduler runs / dropped records / health checks).

Module: user

PermissionWhat it grantsConsole
user.view_selfView one's own profilePlanned — self-service is an API/field-app concern, not a console screen.
user.edit_selfEdit one's own profilePlanned — API/field-app concern.
user.change_passwordChange one's own passwordPlanned — API/field-app concern (this is the ability a forced-reset token is scoped to).

Module: zone

PermissionWhat it grantsConsole
zone.viewView zonesNot wired — Zones is super-admin-only regardless of this permission.
zone.createCreate zonesNot wired — super-admin-only.
zone.editEdit zonesNot wired — super-admin-only.
zone.deleteDelete zonesNot wired — super-admin-only.

Module: region

PermissionWhat it grantsConsole
region.viewView regionsNot wired — Regions is super-admin-only regardless of this permission.
region.createCreate regionsNot wired — super-admin-only.
region.editEdit regionsNot wired — super-admin-only.
region.deleteDelete regionsNot wired — super-admin-only (deletion is additionally blocked in code if the region has active children or scope references).

Module: pincode

PermissionWhat it grantsConsole
pincode.viewView pincodesNot wired — Pincodes is super-admin-only regardless of this permission.
pincode.editEdit pincodesNot wired — super-admin-only.
pincode.importBulk import pincode dataPlanned — no bulk-import or file-upload action exists; pincodes are created one at a time.

Module: customer

PermissionWhat it grantsConsole
customer.viewView customersGates access to Customers (together with customer.create).
customer.createCreate customersGates access to Customers (together with customer.view); also enables the New customer action.
customer.editEdit customersNot separately gated in this inventory — edit access follows page access.
customer.deleteDelete customersNot separately gated in this inventory — delete access follows page access.
customer.verifyVerify a customerPlanned — the is_verified flag is only editable via the plain edit form; no dedicated Verify action exists.
customer.view_financialView a customer's financial detailPlanned — no separate financial view is gated by this permission.
customer.manage_categoriesManage customer categoriesNot wired — Customer Categories is super-admin-only regardless of this permission.
customer.bulk_importBulk import customersPlanned — no bulk-import action exists.
customer.view_allView all customers regardless of scopePlanned — no scoped row-visibility logic is implemented on the Customers list in this inventory (unlike Sale Orders' sale_order.view_all).
customer.mergeMerge duplicate customersPlanned — no merge action exists.

Module: warehouse

PermissionWhat it grantsConsole
warehouse.viewView warehousesNot wired — Warehouses is super-admin-only regardless of this permission.
warehouse.createCreate warehousesNot wired — super-admin-only.
warehouse.editEdit warehousesNot wired — super-admin-only.
warehouse.deleteDelete warehousesNot wired — super-admin-only.
stock_location.viewView stock locationsNot wired — locations sit under the super-admin-only Warehouse record.
stock_location.createCreate stock locationsNot wired — super-admin-only.
stock_location.editEdit stock locationsNot wired — super-admin-only.
stock_location.deleteDelete stock locationsNot wired — super-admin-only.
stock_level.viewView stock levelsNot the same permission as Stock on Hand's own stock_on_hand.view — no resource matches this exact permission.
stock_level.editEdit stock levelsPlanned — no matching action.
stock_transfer.requestRequest a stock transferPlanned — no Transfer resource exists in the console at all.
delivery_carrier.viewView delivery carriersNot wired — Delivery Carriers is super-admin-only regardless of this permission.
delivery_carrier.manageManage delivery carriersNot wired — super-admin-only.

Module: inventory

PermissionWhat it grantsConsole
product.viewView productsGates access to Products.
product.createCreate productsPlanned — Products is read-only in this console (no form, no actions).
product.editEdit productsPlanned — read-only.
product.deleteDelete productsPlanned — read-only.
product.duplicateDuplicate a productPlanned — read-only.
product_price.viewView product pricesPrices are shown inline on Products (current MRP) but not gated by this specific permission.
product_price.manageManage product pricesPlanned — no price-editing UI exists.
stock_on_hand.viewView stock on handGates access to Stock on Hand.
stock_move.viewView stock movesBuilt — the Stock Moves list.
stock_move.createCreate stock movesBuilt — gates the Release for despatch action (D6).
stock_move.editEdit stock movesBuilt — the Cancel action.
stock_move.suspendSuspend a stock moveBuiltSuspend / Unsuspend actions.
stock_transfer.viewView stock transfersBuilt — the Stock Transfers list.
stock_transfer.createCreate stock transfersBuiltcreate a transfer (with its items).
stock_transfer.approveApprove stock transfersBuiltProcess / Dispatch / Cancel actions.
stock_transfer.receiveReceive stock transfersBuiltReceive / Complete actions.
closing_stock.viewView closing-stock statementsGates access to Closing Stock.
closing_stock.createStart/complete a stock countGates the Start Count and Complete actions.
closing_stock.reconcileReconcile a closing-stock discrepancyPlanned as a named gate — discrepancy handling happens inside the Complete action, which is gated by closing_stock.create instead.
closing_stock.auditAudit a closing-stock statementGates the Audit action.

Module: sales

PermissionWhat it grantsConsole
sale_order.viewView sale ordersGates access to Sale Orders.
sale_order.createCreate sale ordersPlanned in this console — orders originate from the SE field app/API.
sale_order.editEdit sale ordersPlanned — no edit form in this console.
sale_order.submitSubmit a sale order to HOPlanned — earlier-stage transitions aren't exposed here.
sale_order.approveHO-approve a sale orderGates the HO Approve action.
sale_order.cancelCancel a sale orderGates the Cancel action.
sale_order.view_allView all sale orders regardless of scopeGrants 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_directlyGrant credit directlyPlanned — no credit-request screen exists.
credit.request_approvalRequest credit approvalPlanned.
credit.approveApprove a credit requestPlanned — no console queue exists for CreditRequestState.
discount.request_approvalRequest discount approvalPlanned.
discount.approveApprove a discount requestPlanned — no console queue exists for DiscountRequestState (distinct from PAD, which does have a queue).

Module: despatch

PermissionWhat it grantsConsole
box_type.viewView box typesBuilt — the Box Types list.
box_type.manageManage box typesBuiltcreate/edit box types + carrier compatibility.
carrier_rate.viewView carrier rate cardsBuilt — the Carrier Rate Cards list.
carrier_rate.manageManage carrier rate cardsBuiltcreate/edit/duplicate rate cards.
wave.viewView picking wavesGates access to Picking Waves.
wave.createCreate picking wavesPlanned — waves are created elsewhere; the list here is index-only.
wave.manageProgress or cancel a picking waveGates every wave transition action (Print labels, Complete packing, Send to branch, Despatch, Mark done, Cancel).
package.viewView packagesGates access to Packages.
package.trackUpdate a package's tracking/delivery stateGates Seal, Record delivery and Mark VPP received.
return.viewView carrier return shipmentsPlanned — no resource exists for ReturnShipmentState.
return.manageManage carrier return shipmentsPlanned.
return.reconcileReconcile carrier return shipmentsPlanned.
vpp_payment.viewView VPP payment lotsGates access to VPP Lots.
vpp_payment.createCreate a VPP payment lotPlanned — no create action; lots and their items originate elsewhere.
vpp_payment.reconcileDeposit, clear or reconcile a VPP lotGates Deposit, Clear and Reconcile.

Module: billing

PermissionWhat it grantsConsole
payment.viewView payment vouchersGates access to Payment Vouchers.
payment.createCreate a payment voucherPlanned — the list is index-only; vouchers originate elsewhere.
payment.submitSubmit a payment voucherPlanned — no console action.
payment.allocateAllocate a payment voucherPlanned — no console action; see Allocation.
payment.approveApprove a payment voucherGates the Approve action.
payment.depositMark a payment voucher depositedPlanned — no console action.
payment.clearClear a payment voucherPlanned as a direct console action — clearing normally happens via bank-reconciliation auto-match instead.
payment.dishonourMark a payment voucher dishonouredPlanned — no console action.
payment.holdPlace a payment voucher on holdPlanned — no console action.
payment.cancelCancel a payment voucherGates the Cancel action.
payment.reallocateReallocate a payment voucherPlanned — no console action.
payment.account_allocateAllocate a payment to an account (not an order)Planned — no console action.
payment.recovery.manageManage payment recoveryPlanned — no recovery screen exists.
payment_dishonour_reason.manageManage dishonour reasonsPlanned — no resource exists.
bank_master.manageManage bank master dataPlanned — no bank-account management resource exists (only referenced via Bank Reconciliation's statement records).
journal.viewView journal entriesGates access to Accounting's Journal Entries.
journal.managePost or reverse a journal entryGates Post and Reverse.
gst_einvoice.viewView GST e-invoicesGates access to Accounting's GST E-invoices.
gst_einvoice.manageSubmit or cancel a GST e-invoiceGates Submit and Cancel.
bank_statement.uploadUpload a bank statementPlanned — no upload action exists; statements originate elsewhere.
bank_statement.viewView bank statementsGates access to Bank Reconciliation.
bank_statement.reconcileAuto-match or bifurcate a bank statementGates Auto-match and Bifurcate.
bank_statement.closeClose a bank statementGates Close.
pad.viewView post-approval discountsGates access to Discounts, Refunds & Charges's PADs.
pad.createCreate a PADPlanned — no create action; PADs are drafted elsewhere.
pad.submitSubmit a PAD for approvalPlanned — no console action.
pad.approveApprove or reject a PADGates Approve and Reject.
pad.cancelCancel a PADGates Cancel.
refund.viewView refund requestsGates access to Discounts, Refunds & Charges's Refunds.
refund.createCreate a refund requestPlanned — no create action.
refund.submitSubmit a refund requestPlanned — no console action.
refund.approveApprove or reject a refund requestGates Approve and Reject.
refund.issueIssue an approved refundGates Issue.
charge.viewView chargesGates access to Discounts, Refunds & Charges's Charges.
charge.createCreate a chargePlanned — no create action; a charge must already be Notified or Disputed to appear here.
charge.notifyNotify a customer of a chargePlanned — no console action.
charge.disputeMark a charge disputedPlanned — no console action.
charge.resolveResolve a chargeGates Resolve.
charge.cancelCancel a chargeGates Cancel.
charge_type.manageManage charge typesPlanned — no resource exists.

Module: reports

PermissionWhat it grantsConsole
dashboard.viewView DashboardBuilt — gates the Dashboard KPI widgets (Operations Overview, Order Pipeline, Daily Health Check).
report.viewView ReportsPlanned — see Dashboard & Reports; no report screens exist yet.