---
title: "invoice.update.finalized"
method: POST
path: "/webhook-events/invoice.update.finalized"
tags: ["Webhook Events"]
---

# invoice.update.finalized

`POST /webhook-events/invoice.update.finalized`

Fired when an invoice is finalized and locked for payment. Doc-only for parsing.

## Response `200`

Webhook payload

- WebhookDtoInvoiceWebhookPayload
  - `event_type` 'subscription.created' | 'subscription.draft.created' | 'subscription.activated' | 'subscription.updated' | 'subscription.paused' | 'subscription.cancelled' | 'subscription.resumed' | 'subscription.plan_changed' | 'subscription.phase.created' | 'subscription.phase.updated' | 'subscription.phase.deleted' | 'feature.created' | 'feature.updated' | 'feature.deleted' | 'feature.wallet_balance.alert' | 'entitlement.created' | 'entitlement.updated' | 'entitlement.deleted' | 'wallet.created' | 'wallet.updated' | 'wallet.terminated' | 'wallet.transaction.created' | 'wallet.transaction.updated' | 'payment.created' | 'payment.updated' | 'payment.failed' | 'payment.success' | 'payment.pending' | 'customer.created' | 'customer.updated' | 'customer.deleted' | 'invoice.update.finalized' | 'invoice.update.payment' | 'invoice.update.voided' | 'invoice.update' | 'invoice.payment.overdue' | 'wallet.credit_balance.dropped' | 'wallet.credit_balance.recovered' | 'wallet.ongoing_balance.dropped' | 'wallet.ongoing_balance.recovered' | 'wallet.ongoing_balance.updated' | 'subscription.spend.threshold_reached' | 'subscription.spend.threshold_recovered' | 'subscription.line_item_spend.threshold_reached' | 'subscription.line_item_spend.threshold_recovered' | 'subscription.group_spend.threshold_reached' | 'subscription.group_spend.threshold_recovered' | 'entitlement.grant.exhausted' | 'subscription.renewal.due' | 'invoice.communication.triggered' | 'credit_note.created' | 'credit_note.updated' | 'checkout.session.initiated' | 'checkout.session.completed' | 'checkout.session.failed' | 'checkout.session.expired' | 'event.rejected'
  - `invoice` WebhookDtoInvoice
    - `amount_due` string
    - `amount_paid` string
    - `amount_remaining` string
    - `billing_reason` string
    - `currency` string
    - `customer` WebhookDtoCustomer
      - `address_city` string
      - `address_country` string
      - `address_line1` string
      - `address_line2` string
      - `address_postal_code` string
      - `address_state` string
      - `email` string
      - `external_id` string
      - `id` string
      - `metadata` object
      - `name` string
      - `timezone` string
    - `customer_id` string
    - `due_date` string, date-time
    - `finalized_at` string, date-time
    - `id` string
    - `invoice_number` string
    - `invoice_pdf_url` string
    - `invoice_status` 'DRAFT' | 'FINALIZED' | 'VOIDED' | 'SKIPPED'
    - `invoice_type` 'SUBSCRIPTION' | 'ONE_OFF' | 'CREDIT'
    - `line_items` WebhookDtoInvoiceLineItem[]
      - `amount` string
      - `display_name` string
      - `id` string
      - `period_end` string, date-time
      - `period_start` string, date-time
      - `plan_display_name` string
      - `price_id` string
      - `quantity` string
    - `metadata` TypesMetadata
    - `paid_at` string, date-time
    - `payment_status` 'INITIATED' | 'PENDING' | 'PROCESSING' | 'SUCCEEDED' | 'OVERPAID' | 'FAILED' | 'REFUNDED' | 'PARTIALLY_REFUNDED' | 'VOIDED'
    - `period_end` string, date-time
    - `period_start` string, date-time
    - `subscription` WebhookDtoSubscription
      - `billing_cadence` 'RECURRING'
      - `billing_period` 'MONTHLY' | 'ANNUAL' | 'WEEKLY' | 'DAILY' | 'QUARTERLY' | 'HALF_YEARLY' | 'ONETIME'
      - `billing_period_count` integer
      - `cancel_at` string, date-time
      - `cancel_at_period_end` boolean
      - `cancelled_at` string, date-time
      - `currency` string
      - `current_period_end` string, date-time
      - `current_period_start` string, date-time
      - `customer` WebhookDtoCustomer
        - `address_city` string
        - `address_country` string
        - `address_line1` string
        - `address_line2` string
        - `address_postal_code` string
        - `address_state` string
        - `email` string
        - `external_id` string
        - `id` string
        - `metadata` object
        - `name` string
        - `timezone` string
      - `customer_id` string
      - `end_date` string, date-time
      - `id` string
      - `lookup_key` string
      - `metadata` TypesMetadata
      - `parent_subscription_id` string
      - `pause_status` 'none' | 'active' | 'scheduled' | 'completed' | 'cancelled'
      - `plan_id` string
      - `start_date` string, date-time
      - `subscription_status` 'active' | 'paused' | 'cancelled' | 'incomplete' | 'trialing' | 'draft'
      - `subscription_type` 'standalone' | 'delegated_invoicing' | 'parent' | 'inherited' | 'grouped_invoicing'
      - `trial_end` string, date-time
      - `trial_start` string, date-time
    - `subscription_id` string
    - `subtotal` string
    - `total` string
    - `voided_at` string, date-time

---

[API](https://skmtc.net/flexprice/apis/flexprice-api.md) · [All operations](https://skmtc.net/flexprice/apis/flexprice-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/flexprice/flexprice-api/revisions/29f14678f58f/schema)
