Skip to main content
Ottili HQ

Payments and payment links

Payments and payment links in Ottili HQ: how the lead-to-cash flow closes with payments, how Stripe-hosted payment links are generated, what the prerequisites are (Stripe configuration and plan), and how reconciliation happens via webhooks — all company-scoped.

Overview

Payments are the final step of the lead-to-cash flow in Ottili HQ (Business Hub): customer → lead → deal → quote → order → invoice → open items → payment. A payment closes an open receivable and records what actually came in. In Ottili HQ, payments, invoices and open items share the same company-scoped data model — a payment points back to its source record through entity_type/entity_id (for example the related invoice), so the chain from deal to payment stays fully traceable.

The Payments* status is published as Available (AVAILABLE)* in the public product-truth registry (Ottili HQ). That means recording and managing payments inside your company is generally available. Payment links (Stripe-hosted checkout) are a derived capability with their own prerequisites — these are described separately in the next section.

Payments in Ottili HQ

Payments are typically captured from an invoice or open item. Each payment carries:

  • the company boundary (company_id) — payments are strictly isolated per company
  • the link to the source record (entity_type, entity_id, e.g. an invoice)
  • the payment provider (provider), such as stripe or a manual bank transfer
  • amount and currency
  • a payment status that only moves to paid once the provider confirms the payment

For manual or bank transfers, the incoming amount is recorded directly on the payment record. For Stripe payments you can additionally generate a shareable payment link the customer pays through.

Payment links (Stripe checkout)

A payment link is a Stripe-hosted checkout link you share with a customer. The customer opens the link, pays with Stripe (card or other Stripe-supported methods) and is returned to a success URL afterwards. Ottili ONE does not record a "paid" state until the provider confirms the payment.

Prerequisites

Payment links are not* included in the Free Forever plan and require two things:

1. Stripe is configured.* Under Settings → Integrations → Stripe* you provide the Stripe restricted API key, the webhook secret, and the success and cancel URLs. Until those credentials are set, payment links and Stripe checkout stay disabled.

2. A plan with Stripe entitlement.* Stripe payment links require a higher, paid plan. If your current plan is not entitled (can_use_stripe = false), the UI shows a notice that an upgrade is required to use payment links and checkout. You manage your current plan and usage under Settings → Billing*.

Generate a link

1. In the dashboard open Business Hub → Finance → Payments* and select the payment record (provider stripe).

2. Click "Generate customer payment link"*.

3. Share the generated link with the customer (for example by email or on the invoice).

4. The customer pays in Stripe-hosted checkout. The link stays linked to the source record (Stripe metadata carries company_id, entity_type, entity_id).

Approval and security

Creating a payment link is an external, higher-risk action (Stripe API call). Depending on your permission configuration, an approval may be required before the link is generated — the approval-first principle also applies to outward-facing payment actions. Payment links are generated company-scoped (metadata carries the company_id), so data is never mixed across companies.

Reconciliation via webhooks

The link opens Stripe-hosted checkout. No "paid" state is recorded until the provider confirms the payment.* Stripe reports success through a webhook; only that confirmation reconciles the payment record and — where applicable — the related open item / invoice status. Until Stripe confirms, the item stays open. This prevents receivables from being marked paid prematurely.

Status, clearly distinguished

  • Payments (capture & management)* — available (AVAILABLE) in Ottili HQ.
  • Stripe payment links / checkout* — available provided Stripe is configured and* an entitled plan is active. Without Stripe configuration or without an entitled plan, not available.
  • Manual / bank payments* — always recorded directly, no Stripe required.

Related articles

  • [Open items and overdue invoices](/docs/open-items-and-overdue-invoices)
  • [Invoices & payments (billing)](/docs/invoices-and-payments)
  • [Convert quotes to orders](/docs/convert-quotes-to-orders)
  • [Companies and contacts](/docs/companies-and-contacts)
  • [Business Hub overview](/docs/business-hub-overview)
  • [Understand feature status labels](/docs/understand-feature-status-labels)
  • [Permissions and entitlements](/docs/shared-permissions-and-entitlements)

Was this article helpful?