Policy object
A policy represents the contract between the insurer and the insured. A policy is linked to one or more customers — each with a business role — and can contain one or multiple assets. The relationship between customers and policies is many-to-many: a policy can have several customers, and a customer can be on several policies. Policies are the core object on the Korint platform. It contains many different attributes, including but not limited to: General information- product: the insurance product the policy belongs to
- author: the user who created the policy
- customers: links to the customers on the policy, each with a business role
- assets: links to the insured assets covered by this policy
- quote: if the policy is quoted, the currently active quote
- brokerageFirmId: the brokerage firm that manages the policy
- brokerageFees: the percentage breakdown of broker fees on the policy
- status: the policy status determines what actions are currently possible for that policy, and informs other operations such as billing
- startedAt: the date at which the policy becomes or became active
- stoppedAt: the stop date of the policy
- stop: if the policy is stopped, more details about the stop reason
- suspendedAt: the suspension date of the policy
- billing configuration: the chosen billing configuration for this policy
- periodDuration: the length of the contract
- externalId: product specific id, typically used for external reports
- custom fields: a list of product specific attributes. For more details check out custom fields.
Policy statuses
Signing is not a separate status. When your customer signs, the platform records a signature milestone (a
signedAt timestamp) on the policy, but the policy stays POLICY_CONFIRMED. It then moves to POLICY_STARTED automatically when its start date is reached.Conditional activation
Some products require the first payment before the policy can activate (requireFirstPaymentToActivate). For these, signing records the signature but leaves the policy in POLICY_CONFIRMED — it moves to POLICY_STARTED only once the first invoice is paid and the start date has been reached:
- Paid before the start date — the policy still activates at the start date, not at the moment of payment.
- Start date passed while unpaid — the policy is flagged awaiting first payment and stays
POLICY_CONFIRMED; when the payment lands it activates retroactively at the original start date.
Contractual documents — attestations, green card, insurance memo — are issued as soon as the policy is signed and the first payment is received. They do not wait for the start date, so a customer who pays ahead of cover starting gets their proof of insurance immediately.
Stopping a policy
When a policy is stopped, a cleanup workflow is automatically triggered to reconcile any billing differences. The system first waits for all pending payments to complete before computing the cleanup invoice. This ensures accurate reconciliation of the final billing state. Once all payments are finalized:- If the policy was billed in advance and the stop date falls before the end of a billing period, a cleanup invoice is generated to refund the overpaid amount
- If there are outstanding amounts due, the cleanup invoice will charge the remaining balance
The cleanup invoice is only created if there is a difference between what has been billed and what should have been billed up to the stop date. The system will not proceed with cleanup until all in-progress payments have been resolved.

