Solavel Solavel Docs

Glossary

docs/reference/glossary.md

Audience: anyone working with Solavel + Solabooks Difficulty: new user

What this covers

Definitions of every domain term used across the docs. If a term is linked elsewhere, the destination page explains the term in context.


AP (Accounts Payable) — The balance owed to suppliers for posted bills that have not yet been paid. Also the namespace of routes and permissions covering bills, expenses, debit notes, and bill payments.

AR (Accounts Receivable) — The balance customers owe for posted invoices that have not yet been settled. Also the namespace covering invoices, sales orders, quotes, credit notes, sales receipts, and customer payments.

App — One of the projects in the Solavel platform: the central SaaS app (solavel), Solabooks (solavel-finance), HR (planned), and Inventory (mounted as a sub-feature). Each app is a separate Laravel codebase. See architecture/three-app-overview.md.

Bill — An AP document recording money owed to a supplier. Posted bills create AP balances. See accounting-rules.

Bundle — A pricing package that combines per-project plan tiers into one subscription (e.g. Starter = standard finance + standard inventory). Defined in database/seeders/BundleSeeder.php.

Chart of Accounts (COA) — The list of ledger accounts an organization uses to classify postings. Configured per tenant in Solabooks > Accounting > Chart of Accounts. Account types: asset, liability, equity, revenue, expense; subtypes refine reports.

Client — In the parent app, a client is a tenant — a customer of Solavel itself. Each client has their own tenant database and one or more organizations. Distinct from Customer (below).

Client Portal — The post-login surface in the parent app at /portal/orgs/* where a tenant's owner manages organizations, members, billing, and subscriptions. Confusingly named — Customer Portal is a different system (see below).

Customer — A counterparty in Solabooks — someone the organization sells to. Lives in the tenant database. Receives invoices, quotes, etc. May have a Customer Portal account.

Customer Portal — The customer-facing surface at /customer-portal/* where a customer signs in with their email and password to view their invoices, quotes, payments, and orders. Backed by a separate user model (CustomerPortalAccount) and a separate auth guard. See customer-portal/overview.

Entitlement — The resolved value of a feature flag for a specific organization, taking the plan tier, plan overrides, and org-level settings into account. Computed by EntitlementResolver.

Feature — A toggle or limit defined in config/features.catalog.php (parent) and config/finance_features.php (finance). Boolean features gate UI; limit-type features cap usage.

Fiscal Year — A 12-month accounting window. Configured per organization. Periods belong to a fiscal year. Closing the final period of a fiscal year creates the year-end roll to retained earnings.

Invoice — An AR document billing a customer. Posted invoices create AR balances and (if VAT-enabled) Output VAT.

Journal Entry — A direct posting to the ledger: a balanced set of debit and credit lines. Used for adjustments, accruals, and any movement that doesn't have a higher-level document.

Ledger — The general ledger. The single source of truth for account balances. Every posted document writes to it.

Lock Date — The date below which no new postings are allowed. Set per organization. Independent of period close. See accounting-rules.

Multi-currency — Feature flag (multi_currency_enabled) that turns on document-currency vs base-currency accounting, FX revaluation, and the base-currency adjustment workflow.

Organization — The unit of accounting separation inside a client. One client can have many organizations, each with its own COA, tax profile, fiscal year, customers, vendors, and ledger. URL parameter {org} in /portal/orgs/{org}/*.

Payment — A document recording money received from a customer or paid to a supplier. Linked to one or more invoices/bills via allocations. Polymorphic: sales.payments.* for AR, purchases.bill_payments.* for AP.

Period — An accounting window inside a fiscal year, typically a month. Status: open, locked, closed. See accounting-rules.

Permission — A keyed capability on the parent (50 Spatie permissions) or in finance (261 keys in config/finance_permissions.php). A user has a permission if their role grants it. Enforced by route middleware, policies, or @can directives.

Plan — A pricing tier on a project (free / standard / premium / enterprise). Each plan carries feature_overrides. A subscription points at one plan per project, or a bundle that wraps several.

Posting — Finalising a transactional document. Posting validates the data, writes a journal entry, locks the document number, and restricts further edits. Reverse via Unpost or Reverse.

Project — In the parent app, a project is one of the apps a client can subscribe to (finance, hr, projects, inventory). In Solabooks, tracker.manage_projects enables a per-customer project work-tracking module — same word, different meaning.

Quote — A proposed sale, no accounting impact. Convertible to an invoice. Can be sent to a customer via a public link (/q/{token}) for accept/decline.

Recurring — A scheduled template that creates documents on a cadence (invoices, bills, journals, expenses). Gated on tracker.recurring_* features.

Reverse Charge — A VAT mechanism (reverse_charge_enabled) where the buyer accounts for VAT on certain purchases instead of the seller.

Reversal — Posting a contra journal that cancels a posted document without deleting it. The original and the reversal both stay in the audit trail. See accounting-rules.

Role — A named set of permissions. Parent roles: super-admin, admin, client_owner, client_manager, client_member. Solabooks role keys: owner, manager, member (Accountant), approver. A user has one or more roles; permission is the union.

Sales Order — An optional document between quote and invoice for order management. Gated on sales.use_sales_orders.

Secure Link — A signed, hashed token URL at /i/{token} (or legacy /portal/{token}) that lets a customer view a single document without logging in. Expires 24 hours after creation regardless of caller-requested expiry. See customer-portal/secure-document-links.

Subscription — A row in client_subscriptions linking a client to a plan (or bundle), with a billing cycle window. Status: active, cancelled, etc.

Tenant — A separate per-client database (tenant_<clientId>) where all of that client's organizations live. Resolved at runtime by the spatie/laravel-multitenancy middleware. Contrast with the central parent DB which holds users, clients, and subscriptions.

VAT Period — A reporting window (monthly, quarterly, annual) for VAT returns. Independent of accounting period. Configured per organization.

Source: docs/reference/glossary.md ← All documentation