Glossary
Every term you'll encounter in the portal, defined in plain English. Bookmark this if any of the docs reference something you don't recognize.
Organization
The workspace for your business: branding, clients, projects, contracts, invoices, payment settings, and admin team. A client can choose between multiple portal accounts, including accounts with the same service business. New staff access to a second organization is not supported in this version because there is no admin workspace selector. Pages and actions operate in the selected account's context, not a combined cross-organization account. See Team and access.
Admin
A person with access to the organization's management workspace. Permissions depend on the owner/admin/viewer role; a viewer cannot perform ordinary write actions. Owners manage the team from /admin/settings/team, including invitations, roles, and removals. Supported actions are recorded in the activity/audit systems.
Don't confuse with CustomerMember below, which is the client-side equivalent.
Client (Customer)
A company or person you do work for. Each Client belongs to one Organization. Clients have their own portal at /dashboard where they see their projects, invoices, contracts, and pay their bills. The portal uses Client and Customer interchangeably — they mean the same thing.
CustomerMember
A specific person who has portal access for a Client. A single Client (the company) can have multiple CustomerMembers (the individual people who sign in to that client's portal). When you onboard "Acme Corp," you might invite both Jane (the CTO) and Bob (the AP manager) as CustomerMembers.
CustomerMembers are managed by the client themselves from their portal at /dashboard/settings/team — they invite, remove, and (with support assistance) promote teammates. You don't manage their team for them.
The CustomerMember (client-side) and OrganizationMember (your-side) tables are different things — same idea, different sides of the portal. Easy to mix up. Different again from a Contact (below): a CustomerMember signs in, a Contact is just a person on file.
Contact
A person on file for a client, with no login. Each contact has a name, role, email, and phone so you can reach the right human fast; the star marks the client's primary contact. Contacts live at /admin/contacts and in a card on each client's page. A new client starts as their own primary contact.
Project
A unit of work for a specific client. Has a name, optional budget, optional start and end dates (the end date acts as the deadline), and a pricing profile (Hourly, Block, Retainer, Fixed). Projects are where you log work sessions, generate invoices from tracked time, manage approvals, and share documents.
Pricing profile
The pricing model attached to a Project. Determines how billable time is converted to dollars. Five options:
- Hourly — flat rate per hour.
- Block — fixed-fee package (e.g., "Logo Design Package, $1,500").
- Retainer — fixed monthly fee with included hours; overage hours bill at an overage rate.
- General Services — flat or range-bounded fee for service work.
- Business Workflow — multi-step process pricing (less common).
New project/agreement workflows capture agreed pricing terms. Editing a catalog is not approval to reprice an existing agreement; use the explicit terms-update workflow when a client agrees to new terms. Legacy records with incomplete price evidence may require review rather than guessing a historical rate.
Quote
A priced proposal built in the quote composer. Sending produces an acceptance link and applicable document/email artifacts. Acceptance follows its billing mode, which may issue an invoice or prepare a draft; acceptance is not payment. Quotes use the contract system with contractKind = "quote".
Contract
A signed agreement. Three kinds:
- Quote — a pricing offer (see above).
- Agreement — long-form legal contract (MSA, NDA, service agreement, etc.).
- Change order — modification to an existing contract.
All three use the same record type, sign flow, and PDF generator. They differ in how they're presented to the client and what fields show up.
Signer
A person who needs to sign a contract. Roles:
- Client, the customer-side signer.
- Witness, a supported signer-record role; not an extra witness-picker option in the ordinary composer.
- Company, your-side signer. In-house quotes/agreements normally apply the sending admin's selected signature before sending. Check the result and any outstanding countersign requirement.
A contract can have one or many signers; they sign in parallel by default.
Pre-sign (Pre-signing)
Applying the sending admin's company signature before an in-house quote/agreement is delivered. A successful pre-sign can satisfy the company-signature requirement; every required client co-signer still needs to sign. DocuSign, change orders, and a failed/skipped pre-sign have different paths. See Sending contracts for signature.
Countersign (legacy)
The company signing after client-side signing when a required company signature remains outstanding. The template's countersign requirement and actual signer records determine this state; a missing saved signature does not always force it. See Multi-signer workflows.
Line item
A row on a quote (or invoice) with a name, optional description, quantity, unit price, and a kind:
- one_time — counted in the total + deposit base.
- recurring_monthly — monthly charge, separate from the one-time/deposit base. The first business-billed period can be invoiced at acceptance.
- recurring_annual — annual counterpart, also separate from the one-time/deposit base.
- surcharge — a one-time extra charge billed by your business; not the same as a provider-direct disclosure.
For recurring rows, Client pays provider means the client pays the third party directly. Such disclosures stay outside the contractor's invoice/collection totals. Optional rows are billed only when selected under the acceptance workflow.
Billing mode
Set on each quote. Controls what invoice fires when the client accepts:
- deposit_only — collect a deposit %, balance invoiced later (manual).
- bill_now — single invoice for the full amount.
- draft_completion — no upfront invoice; create a draft for completion.
- deposit_and_draft — collect deposit upfront, draft balance for completion.
- deposit_and_progress — collect a deposit, then bill the balance in progress payments you send from the contract page.
- milestone_schedule — present a signed payment schedule; invoice the first stage at acceptance and bill later stages as the work reaches them.
Snapshot (BillingSnapshot)
A record of the work and billing calculation captured for an invoice/period. It preserves what was calculated rather than recalculating every old invoice from today's catalog. Payment, invoice status, and reconciliation fields can still update; the whole database row is not an immutable audit event.
Invoice
A Stripe-hosted bill the client pays. Created from a snapshot (project-based billing) or directly from a quote (quote-based billing). Lives in Stripe; the portal mirrors its status (draft, open, paid, void, uncollectible). Pay-Now links route to the Stripe-hosted invoice page.
Outstanding
Dollar value of invoices the client can pay right now — Stripe status open, payment_failed, or payment_action_required (the client's bank asked for extra confirmation; the invoice is still payable). Doesn't include drafts (those are admin-side preparations not yet sent).
Balance Pending
Dollar value of draft invoices waiting for you to finalize and send. Once you click Finalize & Send, the invoice moves to open and rolls into Outstanding.
Approval Request
A formal ask sent to the client when work exceeds their authorized budget or when an undisclosed surcharge is added. Three types:
- budget_limit — ask to extend the project's dollar budget.
- project_hours — ask for extra billable hours.
- subscription_overage — for retainer projects, approve overage hours billed at the overage rate.
While an approval is pending, billable work on that project is blocked.
Surcharge
An extra cost added to a project — materials passthrough, fuel, equipment rental, third-party fees. Appears as a line item on the next invoice. If the project was created with surchargesPossible = true, surcharges apply automatically. Otherwise, every new surcharge requires client approval.
Recurring Product Cost (Expense)
A heads-up to the client about ongoing third-party costs they'll be responsible for as part of a project — cloud infrastructure (AWS, GCP, Azure), AI API usage (OpenAI, Anthropic), SaaS subscriptions, hosting, domain renewals, and similar. The client pays the vendor directly — this is not a charge from you and doesn't appear on any invoice you send. You log these in the project workspace so the client sees the full cost-of-ownership picture upfront and isn't surprised by ongoing bills from third parties after the project ships.
Retainer cancellation
A client-initiated request to end an active retainer or recurring-billing arrangement. Clients file it from their Billing / Pay page with a reason. The end date defaults to the end of their current billing cycle, with a 5-day floor that bumps it to the next cycle when there isn't enough notice for you to respond. While a request is in flight the retainer keeps billing, and the client sees a banner with a Withdraw button. The request appears at the top of their workspace with Approve cancellation and Decline request buttons, both taking an optional note to the client. Approving switches recurring billing off automatically when the end date arrives. If you never respond, the cancellation applies on its own that day. There is no counter-offer button: agree new terms with the client, then have them withdraw and file again.
Discount
A reduction applied to a project's billable amount. Three types:
- Percentage — N% off.
- Fixed amount — flat $X off.
- Per-hour — $X off each billable hour.
Can apply to the entire project, hourly charges only, the retainer fee only, or overage charges only.
Work session
A logged interval of work on a project. Has a start time, end time (or "live now" if running), billable flag, optional rate multiplier (e.g., 1.5x), and a work note describing what was accomplished. Notes go to the client in their notification email.
ContractFieldValue / signature storage
Signature field values and associated evidence. Image signatures can be stored as PNGs with hashes and embedded into generated PDFs; other fields can be text. This is signing evidence, not a guarantee that every artifact has finished generating.
Stripe Connect
The Stripe API that lets the platform create + manage merchant accounts on your behalf. Two flavors:
- Express — Stripe-hosted account the platform created for you. Stripe handles compliance, identity verification, payouts.
- Standard — your existing Stripe account, connected via OAuth.
The platform takes an application fee on each transaction via the Connect API (0.08% on Standard, 0.01% on Pro); the rest goes to your account.
Docusign Connect
Docusign's webhook system that pushes envelope status changes (sent, viewed, signed, completed) to the portal in real time. Configured during Docusign integration setup. HMAC-signed for security.
Dunning
Automated email reminders for overdue invoices. By default the portal sends them at 3, 7, 14, and 30 days past the invoice's due date, and stops the moment the invoice is paid. You can change those days under Settings → Payments → Reminder Days. A late fee can optionally fire at the final reminder you have configured.
Calendar event
A record on the project's calendar feed — work sessions, project deadlines, signed contracts, manual entries, imported Google events. Off-limits to clients by default; opt-in via the clientVisible flag per event PLUS the org-level customer_calendar_visible toggle.
Audit PDF
A supporting signing-evidence PDF, separate from the signed contract, containing available signer, timestamp, request, and hash information. It helps trace the signing record; it does not independently establish legal enforceability or certify a person's identity.
chatProfile
Admin-maintained context for how the assistant should interact with a client, such as communication preferences. Treat it as input to an AI system, not as a place for secrets or a guarantee that wording can never appear in a generated response.
Cron jobs
Background jobs that run on a schedule (the cadence varies by job). Key ones:
- Dunning — sends overdue-invoice reminders.
- Recurring invoices — fires retainer/monthly invoices.
- Health scores — recalculates client engagement metrics.
- Contract reminders — nudges clients with pending signatures.
- Stripe Connect reminders — bugs you to finish Stripe onboarding if you skipped it.
You don't manage these — they run automatically.
