Glossary
Definitions of domain, accounting, and app-internal terms used throughout the Alhuda Travel ERP. Entries are alphabetized. Where a concept has a dedicated page, the entry links to it.
194C
Indian income-tax section covering TDS on payments to contractors and sub-contractors (transporters, tour operators, ground handlers). Standard rate 1% (individual/HUF) or 2% (others) above the threshold. See Finance → TDS.
194J
Indian income-tax section covering TDS on professional or technical services (consultants, legal, design). Standard rate 10%.
194Q
Indian income-tax section covering TDS deducted by the buyer on purchases of goods above the annual threshold. Rate 0.1%. Relevant for high-volume supplier purchases.
AP (Accounts Payable)
Money the company owes suppliers. Tracked by supplier ledger and rolled up in the Aging report. See Finance → AP Aging.
AR (Accounts Receivable)
Money owed to the company by customers and agents. Tracked per customer/agent and rolled up in the Aging report. See Finance → AR Aging.
auth_user_has_permission
Postgres function used inside every permission-aware RLS policy. Takes a permission
name (e.g. bookings.view) and returns true/false for the currently authenticated user.
Encapsulates the user-deny → user-allow → role-grant → deny precedence. See
Architecture → RLS.
Balance Sheet
Point-in-time statement of assets, liabilities, and equity. Generated from the general ledger. See Finance → Reports.
Block
A pre-purchased tranche of inventory (typically airline seats) held by the company and sold down to bookings or B2B partners. See Features → Airline blocks.
Bundle budget
CI check that fails the build if a JavaScript chunk exceeds its byte budget. Prevents bundle-size regressions. See Operations → Bundle budgets.
Cash Flow
Financial statement summarising cash in and out over a period, broken into operating, investing, and financing activities.
Chart of Accounts
The tree of GL accounts (assets, liabilities, income, expense, equity) against which journal entries post. Configured per tenant. See Features → Accounts.
Concurrency guard
Server-side pattern that prevents two concurrent writes from corrupting a shared
record — typically via a SELECT … FOR UPDATE or a version column. Used on booking
approvals and journal posting.
Drift test
src/test/permissions.matrix.test.ts. Parses docs/PERMISSIONS.md and compares the
declared catalog against every permission string referenced in code. Fails the build on
any mismatch.
FX Rate
Foreign-exchange rate used to convert a transaction currency into the base reporting currency (INR). Stored per journal/flight/ground-transfer where applicable.
GST
Goods and Services Tax. India's unified indirect tax. The ERP calculates CGST/SGST for intra-state and IGST for inter-state supplies. See Features → Finance → GST.
GSTIN
15-character Goods and Services Tax Identification Number assigned to a registered business in India. Required on invoices for B2B supplies.
GSTR-1
Monthly/quarterly return of outward supplies filed with the GSTN. The ERP produces a GSTR-1 JSON from issued invoices.
GSTR-3B
Monthly summary return of inward + outward supplies and the net GST liability. The ERP produces a GSTR-3B summary from the period's journals.
Handler monolith
src/lib/api.ts. A single file containing every server-side route handler. Preferred
over scattering handlers across files so auth, permission checks, and transaction
patterns are uniform. See API → Overview.
HSN
Harmonized System of Nomenclature. 6–8 digit code classifying goods for GST.
Idempotency guard
Server-side pattern that short-circuits a repeated request so it cannot produce a
duplicate side-effect (e.g. a second approval, a double payment). Typically implemented
by checking current state before acting. See the ops-approve and finance-approve
handlers in src/lib/api.ts for the canonical pattern.
Itinerary
The ordered sequence of segments, hotels, transfers, and activities making up a traveller's trip.
Journal Entry
A balanced accounting document with one or more lines whose debits equal credits. Posts to the general ledger when approved. See Finance → Journals.
Journal Line
A single debit or credit row inside a journal entry. Carries account, amount, party (customer/supplier/agent), and optional tax/FX metadata.
Maker-checker
Segregation of duties: the user who creates a journal cannot also approve it.
Enforced by default; super-admins (CEO/GM/IT_ADMIN) can hold finance.journals.approve_own
to override in a break-glass scenario. See PERMISSIONS.md §5.1.
P&L (Profit & Loss)
Period statement of revenue, cost of sales, operating expenses, and net profit. See Finance → Reports.
PermissionGate
React component that conditionally renders its children based on the current user's permissions. Used to hide/show individual buttons and UI actions.
Period Lock
Administrative state preventing new journal postings to a closed accounting period. Writes are rejected by a database trigger. Unlock to re-open.
PNR
Passenger Name Record. The airline's booking reference linking one or more passengers to a set of flight segments. The ERP stores PNR per booking/segment.
ProtectedRoute
React route wrapper (src/App.tsx) that checks requiredPermissions and/or
allowedRoles before rendering the page. Redirects unauthenticated users to login and
unauthorised users to a 403 screen.
Rate Card
Published price list for a supplier contract (airline, hotel, ground handler) used to value a rate sheet on a group's Pricing tab.
requirePermission
Async helper called at the top of every write route handler in src/lib/api.ts. Throws
if the caller lacks the permission; otherwise returns. The authoritative server-side
check.
RLS (Row-Level Security)
Postgres feature that restricts which rows a query can see or modify, enforced at the
database layer regardless of the client. Policies on sensitive tables use
auth_user_has_permission(). See Architecture → RLS.
SAC
Services Accounting Code. 6-digit code classifying services for GST. Travel-agent services typically fall under 9985x.
Segment
A single flight leg (one origin → one destination on one carrier). A PNR may contain multiple segments.
TDS (Tax Deducted at Source)
Indian withholding tax: the buyer deducts a fixed percentage from the supplier's invoice and remits it to the government on the supplier's behalf. Tracked by section code (194C/194J/194Q). See Features → Finance → TDS.
Traveller
An individual passenger record, typically linked to a customer profile. Reused across bookings.
Trial Balance
Report listing every ledger account's debit and credit totals for a period. Debits must equal credits. Primary accountant sanity check.
Voucher
A formal accounting document (receipt, payment, contra, journal, debit note, credit note) that generates a journal entry when posted. See Finance → Vouchers.