> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dintero.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.dintero.com/feedback

```json
{
  "path": "/docs/checkout/kravia/overview",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Overview

> Offer Nordic invoice payments in Dintero Checkout via Kravia, including B2B, B2C, and grouped invoices, with distribution, follow-up, and collection.

Kravia is an invoicing service that enables businesses to send invoices and manage payments across the Nordics (Norway, Sweden, and Finland). By integrating Kravia into your Dintero checkout, you can offer customers invoice-based payment terms while Kravia handles distribution, follow-up, and collection.

## Payment Types

| Payment Type                 | Description                           | Use Case                                                                 |
| ---------------------------- | ------------------------------------- | ------------------------------------------------------------------------ |
| `kravia.invoice_b2b`         | Business-to-business invoicing        | One-time invoices to companies                                           |
| `kravia.invoice_b2b_grouped` | B2B invoicing with automatic grouping | Multiple purchases consolidated into a single invoice per billing period |
| `kravia.invoice_b2c`         | Business-to-consumer invoicing        | Invoices to individual customers                                         |

## Choosing Your Integration Approach

There are two ways to create invoices. For either approach, you can optionally [deliver invoices yourself](/docs/checkout/kravia/invoice-delivery) instead of having them delivered automatically.

```mermaid theme={null}
flowchart TD
    A[Do you have your customer's billing details?] -->|Yes| B[Merchant Initiated]
    A -->|No| C[Customer Checkout]
    B --> D{Want to deliver invoices yourself?}
    C --> D
    D -->|Yes| E[Enable Custom Distribution]
    D -->|No| F[Done, delivery is automatic]
```

## How It Works

1. Customer selects invoice payment at checkout, or you create an invoice [via the API](/docs/checkout/kravia/merchant-initiated-payments).
2. Billing information is collected (name, address, email, phone).
3. Identity verification via BankID (if required and enabled for the payment type).
4. Invoice is registered. The transaction is `AUTHORIZED` and an `INITIATE_CAPTURE` event marks the start of collection — automatically when Kravia delivers the invoice, or when you call `POST /v1/transactions/{id}/capture` before delivering it yourself with [merchant delivery](/docs/checkout/kravia/invoice-delivery).
5. Customer pays the invoice via their bank. Kravia notifies Dintero, and the transaction moves to `CAPTURED` (or `PARTIALLY_CAPTURED` for partial payment).
6. Dintero settles the funds to the merchant — tracked separately on `settlement_status`.

### Transaction Lifecycle

Kravia transactions reuse the standard Dintero transaction states. See [Transaction management](/docs/checkout/transaction-management) for the shared capture/void model.

```mermaid theme={null}
stateDiagram
    direction TB
    state idv <<choice>>
    [*] --> idv: Customer checkout
    [*] --> AUTHORIZED: Merchant initiated
    idv --> AUTHORIZED: No identity verification
    idv --> ON_HOLD: Identity verification enabled
    ON_HOLD --> AUTHORIZED: Verified
    ON_HOLD --> FAILED: Verification failed
    AUTHORIZED --> CAPTURED: Shopper paid in full
    AUTHORIZED --> PARTIALLY_CAPTURED: Shopper paid in part
    AUTHORIZED --> AUTHORIZATION_VOIDED: Void
    PARTIALLY_CAPTURED --> CAPTURED: Remaining paid
    PARTIALLY_CAPTURED --> AUTHORIZATION_VOIDED: Void remaining
```

Key points:

* `AUTHORIZED` — Invoice exists with Kravia. An `INITIATE_CAPTURE` event is added when collection starts (automatically for Kravia delivery, manually via `POST /capture` for [merchant delivery](/docs/checkout/kravia/invoice-delivery)). The status does not change at this point.
* `CAPTURED` / `PARTIALLY_CAPTURED` — Shopper has paid the invoice in full or in part. Triggered by Kravia's payment notification.
* `AUTHORIZATION_VOIDED` — Invoice cancelled with Kravia via `POST /v1/transactions/{id}/void`. Allowed from `AUTHORIZED` or `PARTIALLY_CAPTURED` (cancels the remaining amount).
* Refund is not supported for Kravia — only void. Funds in transit during a void, and any overpayment, are automatically refunded to the shopper by Kravia.
* Settlement to the merchant is tracked on `settlement_status` (`NOT_SETTLED`, `PARTIALLY_SETTLED`, `SETTLED`) and is independent of the transaction status.

### Liability

Unlike card-based payments, invoice payments do not reserve or guarantee funds at the time of authorization. A `CAPTURED` status means Kravia has confirmed that the customer paid the invoice, but funds are not guaranteed to have arrived in the merchant's account — that is only confirmed when `settlement_status` is `SETTLED`. If a customer does not pay the invoice, the merchant's receipt of funds depends on Kravia's collection process and the specific contract terms.

## Next Steps

* **[Customer Checkout](/docs/checkout/kravia/checkout)**: customer selects invoice at checkout, includes configuration options, identity verification, invoice dates, and billing address details
* **[Grouped Invoices](/docs/checkout/kravia/grouped-invoices)**: consolidate multiple purchases into a single invoice per billing period
* **[Merchant Initiated](/docs/checkout/kravia/merchant-initiated-payments)**: create and pay invoices without customer interaction
* **[Invoice Delivery](/docs/checkout/kravia/invoice-delivery)**: control who delivers the invoice, automatic or you
