---
title: "Approve invoice payable"
method: POST
path: "/v1/invoice-payables/{invoicePayableId}/approve"
tags: ["v1 - Invoice Payables"]
---

# Approve invoice payable

`POST /v1/invoice-payables/{invoicePayableId}/approve`

## Request

- Base URL: `https://light.inc` (the document declares no server; this is the origin it was published from)
- URL: `https://light.inc/v1/invoice-payables/{invoicePayableId}/approve`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Approves an invoice payable for payment processing

## Path parameters

- `invoicePayableId` string, uuid, required

## Headers

- `X-Idempotency-Key` string

## Request body

- ExternalApproveInvoicePayableRequestV1Model
  - `note` string, nullable: Optional note.

## Response `default`

default response

- ExternalInvoicePayableV1Model
  - `id` string, uuid: External ID of the invoice payable object.
  - `type` 'REIMBURSEMENT' | 'SELF_BILLED' | 'VENDOR_INVOICE': Type of the invoice payable (e.g. vendor invoice or reimbursement). ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `metadata` ExternalInvoicePayableMetadataV1Model: Metadata specific to the invoice payable type (e.g. reimbursement- or vendor-specific fields).
    - `type` 'SELF_BILLED_METADATA' | 'VENDOR_INVOICE_METADATA' | 'REIMBURSEMENT_METADATA': Type of metadata attached to the invoice payable, depending on its kind (vendor invoice or reimbursement). ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `invoicePayableId` string, uuid: Internal ID of the underlying invoice payable record.
  - `companyId` string, uuid: ID of the company this invoice payable belongs to.
  - `state` 'INIT' | 'CREATED' | 'IN_DRAFT' | 'APPROVAL_REQUESTED' | 'APPROVAL_PENDING' | 'APPROVED_ACCOUNTING_ENTRY_PENDING' | 'DECLINED' | 'READY_FOR_PAYMENT_RELEASE' | 'PENDING_PAYMENT_APPROVAL' | 'PAYMENT_PAUSED' | 'SCHEDULED' | 'PAYMENT_PENDING' | 'PARTIALLY_PAID' | 'UNPAID' | 'PAID' | 'COMPLETED' | 'RESET_PENDING' | 'CANCELLATION_PENDING' | 'CANCELLED' | 'DUPLICATED' | 'IMPORT_PENDING': Current state of the invoice payable in its lifecycle (from ingestion to payment/completion). ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `failureReason` 'EMAIL_NOT_ALLOWED' | 'ERP_ENTRY_FAILED' | 'OCR_FAILED' | 'DOCUMENT_PROCESSING_FAILED' | 'PAYMENT_APPROVAL_DECLINED' | 'PAYMENT_FAILED' | 'RESETTING_INVOICE_FAILED' | 'CANCELLING_INVOICE_FAILED' | 'APPROVAL_SUBMISSION_FAILED' | 'PAYMENT_VALIDATION_FAILED' | 'USER_INPUT_VALIDATION_FAILED' | 'DUPLICATE_INVOICE' | 'PAYMENT_REJECTED' | 'PAYMENT_REVERSED', nullable: High-level reason why processing the invoice payable failed, if any. ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `failureContext` ExternalUiClientExceptionV1Model, nullable: Failure context when vendor onboarding fails.
    - `name` string: The error name
    - `type` 'BAD_REQUEST' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'NOT_FOUND' | 'CONFLICT' | 'UNPROCESSABLE_CONTENT': The error type ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `errors` ExternalUiClientExceptionErrorV1Model[]: List of errors providing details about what went wrong
      - `type` string: A string code identifying the error type
      - `message` string: A human-readable message providing more details about the error
      - `path` string[], nullable: Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
      - `context` object, nullable: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
  - `warningContext` ExternalUiClientExceptionV1Model, nullable: Failure context when vendor onboarding fails.
    - `name` string: The error name
    - `type` 'BAD_REQUEST' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'NOT_FOUND' | 'CONFLICT' | 'UNPROCESSABLE_CONTENT': The error type ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `errors` ExternalUiClientExceptionErrorV1Model[]: List of errors providing details about what went wrong
      - `type` string: A string code identifying the error type
      - `message` string: A human-readable message providing more details about the error
      - `path` string[], nullable: Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
      - `context` object, nullable: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
  - `approvalNote` string, nullable: Approval note associated with the invoice payable (e.g. approver comments).
  - `cancellationReason` string, nullable: Reason why the invoice payable was cancelled, if applicable.
  - `payeeName` string, nullable: Name of the payee for this invoice payable.
  - `payeeIban` string, nullable: Payee IBAN used for payment of this invoice payable.
  - `payeeBban` string, nullable: Payee BBAN (Basic Bank Account Number) used for local payments.
  - `payeeBic` string, nullable: Payee bank BIC/SWIFT code.
  - `payeeBankCode` string, nullable: Payee bank/branch code used for local payments.
  - `payeeSwedishBankgiroNumber` string, nullable: Payee Swedish Bankgiro number, if applicable.
  - `payeeSwedishPlusgiroNumber` string, nullable: Payee Swedish Plusgiro number, if applicable.
  - `payeeCountry` 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BU' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CP' | 'CR' | 'CS' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DG' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EA' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'EU' | 'EZ' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'FX' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'IC' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NT' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SF' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SU' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TP' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UK' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XI' | 'XU' | 'XK' | 'YE' | 'YT' | 'YU' | 'ZA' | 'ZM' | 'ZR' | 'ZW', nullable: Country of the payee. ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `payeeAddress` string, nullable: Street address of the payee.
  - `payeeZipcode` string, nullable: ZIP/postal code of the payee.
  - `payeeBankName` string, nullable: Name of the payee's bank.
  - `payeeBankCountry` 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BU' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CP' | 'CR' | 'CS' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DG' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EA' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'EU' | 'EZ' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'FX' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'IC' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NT' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SF' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SU' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TP' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UK' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XI' | 'XU' | 'XK' | 'YE' | 'YT' | 'YU' | 'ZA' | 'ZM' | 'ZR' | 'ZW', nullable: Country of the payee's bank. ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `payeeBankAddress` string, nullable: Street address of the payee's bank.
  - `payeeBankZipcode` string, nullable: ZIP/postal code of the payee's bank.
  - `payeeCity` string, nullable: City of the payee.
  - `payeeBankCity` string, nullable: City of the payee's bank.
  - `vendorId` string, uuid, nullable: ID of the vendor entity this invoice payable is linked to, if any.
  - `vendorDetailsOcr` ExternalInvoicePayableVendorDetailsOcrV1Model, nullable: Vendor details extracted from the invoice using OCR.
    - `avatarUrl` string, nullable: URL of the vendor avatar/logo detected by OCR, if any.
    - `name` string, nullable: Vendor name detected by OCR from the uploaded document.
    - `email` string, nullable: Vendor email address detected by OCR from the uploaded document.
    - `phoneNumber` PhoneNumber
      - `countryCode` 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BU' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CP' | 'CR' | 'CS' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DG' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EA' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'EU' | 'EZ' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'FX' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'IC' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NT' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SF' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SU' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TP' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UK' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XI' | 'XU' | 'XK' | 'YE' | 'YT' | 'YU' | 'ZA' | 'ZM' | 'ZR' | 'ZW': ⚠️ This enum is not exhaustive; new values may be added in the future.
      - `localNumber` string
    - `website` string, nullable: Vendor website detected by OCR from the uploaded document.
    - `country` 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BU' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CP' | 'CR' | 'CS' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DG' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EA' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'EU' | 'EZ' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'FX' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'IC' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NT' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SF' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SU' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TP' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UK' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XI' | 'XU' | 'XK' | 'YE' | 'YT' | 'YU' | 'ZA' | 'ZM' | 'ZR' | 'ZW', nullable: Vendor country detected by OCR from the uploaded document. ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `city` string, nullable: Vendor city detected by OCR from the uploaded document.
    - `address` string, nullable: Vendor street address detected by OCR from the uploaded document.
    - `zipcode` string, nullable: Vendor ZIP/postal code detected by OCR from the uploaded document.
    - `bankAccountNumber` string, nullable: Vendor bank account number (IBAN or local format) detected by OCR from the uploaded document.
    - `bankAccountBic` string, nullable: Vendor bank BIC/SWIFT code detected by OCR from the uploaded document.
    - `domesticBankAccountNumber` string, nullable: Vendor domestic bank account number detected by OCR (country-specific format).
    - `domesticBankAccountCode` string, nullable: Vendor domestic bank account code detected by OCR (e.g. routing/sort code).
    - `vatId` string, nullable: Vendor VAT ID detected by OCR from the uploaded document.
  - `companyEntityId` string, uuid, nullable: ID of the company entity this invoice payable is booked under.
  - `invoiceNumber` string, nullable: Invoice number provided on the vendor invoice.
  - `amount` integer, nullable: Total invoice amount in cents, expressed in the invoice currency.
  - `outstandingBalance` integer, nullable: Outstanding invoice balance to be paid in cents, expressed in the invoice currency. `0` means the bill is settled. `null` means Light derived no balance for it — for instance the bill has no amount yet, its state is `CANCELLED`, `DECLINED` or `DUPLICATED`, or the company does not keep its ledger in Light — so do not read `null` as fully paid.
  - `amountPaid` integer, nullable: Amount paid against the invoice in cents, expressed in the invoice currency. Credit notes and reversed payments are not counted. `null` means Light derived no balance for the bill, as for `outstandingBalance`.
  - `currency` string
  - `description` string, nullable: Description or memo for the invoice payable.
  - `senderBankAccountId` string, uuid, nullable: ID of the sender bank account from which this invoice payable will be paid.
  - `fiNumber` string, nullable: FI (Finnish reference) number associated with this invoice payable, if applicable.
  - `finnishPaymentReference` string, nullable: Finnish payment reference (viitenumero or RF Creditor Reference) associated with this invoice payable, if applicable.
  - `norKidReference` string, nullable: Norwegian KID reference associated with this invoice payable, if applicable.
  - `swissPaymentReference` string, nullable: Swiss payment reference (QR-Reference or Creditor Reference/SCOR) associated with this invoice payable, if applicable.
  - `swedishOcrReference` string, nullable: Swedish OCR reference associated with this invoice payable, if applicable.
  - `creditorNoteOverride` string, nullable: Override for the reference sent to the bank alongside the payment, used when the invoice number itself exceeds the payment scheme's length limit. Falls back to the invoice number when unset.
  - `senderPurposeCode` string, nullable: Purpose code the paying bank's regulator requires for this payment (e.g. a Norwegian Skatteetaten code for cross-border payments above NOK 100,000). The allowed codes come from the purpose-code requirements endpoint.
  - `receiverPurposeCode` string, nullable: Purpose code the receiving bank's regulator requires for this payment (e.g. an RBI code for payments to India). The allowed codes come from the purpose-code requirements endpoint.
  - `paymentAt` string, date-time, nullable: Date/time when payment is scheduled or was executed for this invoice payable.
  - `ocrCompletedAt` string, date-time, nullable: Timestamp when OCR processing for this invoice payable was completed.
  - `canceledAt` string, date-time, nullable: Timestamp when this invoice payable was cancelled.
  - `issuedDate` string, date, nullable: Issue date of the original vendor invoice.
  - `postingDate` string, date: Date the invoice payable is posted to the ledger, which sets its accounting period.
  - `dueDate` string, date, nullable: Payment due date of the invoice payable.
  - `invoiceCreatedAt` string, date-time: Timestamp when the invoice payable record was created.
  - `updatedAt` string, date-time: Timestamp when the invoice payable record was last updated.
  - `purchaseOrderId` string, uuid, nullable: ID of the purchase order linked to this invoice payable, if any.
  - `documentTemplateId` string, uuid, nullable: ID of the self-billed document template used to render this invoice payable, if any.
  - `lineItemsIncludeTax` boolean: Whether invoice line item amounts are entered as tax-inclusive. When true, line item `amount` is expected to be the gross amount including tax; when false, line item `netAmount` is expected to be the base amount excluding tax.
  - `localCurrencyFxRate` number, nullable: Foreign exchange rate to the ledger's local currency. If null, the system uses its default FX source.
  - `groupCurrencyFxRate` number, nullable: Foreign exchange rate to the ledger's group currency. If null, the system uses its default FX source.
  - `lineItems` ExternalInvoicePayableLineItemV1Model[], nullable: List of line items belonging to this invoice payable.
    - `id` string, uuid: ID of the invoice payable line item.
    - `invoicePayableId` string, uuid: ID of the invoice payable this line item belongs to.
    - `type` 'REIMBURSEMENT' | 'SELF_BILLED' | 'VENDOR_INVOICE': Type of the invoice payable line item (vendor invoice or reimbursement). ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `metadata` ExternalInvoicePayableLineItemMetadataV1Model, nullable: Metadata for the invoice payable line item (ERP-specific fields and context).
      - `type` 'REIMBURSEMENT' | 'SELF_BILLED' | 'VENDOR_INVOICE': Type of the invoice payable line item (vendor invoice or reimbursement). ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `amount` integer, nullable: Amount in cents, including tax. When `lineItemsIncludeTax` is true, `amount` represents the full tax-inclusive amount for this line.
    - `netAmount` integer, nullable: Net line amount in cents, excluding tax. When `lineItemsIncludeTax` is false, `netAmount` represents the base amount on which tax is calculated.
    - `description` string, nullable: Description of this invoice payable line item.
    - `taxCodeId` string, uuid, nullable: ID of the tax code applied to this line item.
    - `taxAmount` integer, nullable: Tax amount in cents for this line item.
    - `accountId` string, uuid, nullable: ID of the ledger account used to book this line item.
    - `costCenterId` string, uuid, nullable: ID of the cost center associated with this line item, if applicable.
    - `amortizationStartDate` string, date, nullable: Start date for amortization of this line item.
    - `amortizationEndDate` string, date, nullable: End date for amortization of this line item.
    - `amortizationTemplateId` string, uuid, nullable: ID of the amortization template to use for this line item within Light Ledger.
    - `customPropertiesOld` ExternalCustomPropertiesObjectValuesV1Model, nullable: Legacy container for custom properties on this line item (deprecated/old format).
      - `items` object
    - `aiValueSuggestions` ExternalAiValueSuggestionV1Model[], nullable: AI-generated suggestions for line item values (e.g. account, cost center, tax code).
      - `field` string
      - `fieldValues` string[]
      - `reasoning` string
    - `customProperties` ExternalCustomPropertyV1Model[], nullable: Custom properties set on this invoice payable line item.
      - `groupId` string, uuid: ID of the custom property group
      - `groupInternalName` string: Internal name of the custom property group
      - `values` ExternalCustomPropertyValueV1Model[]: List of values. Note that this will be a single value unless the group input type supports multiple values
        - `id` string, uuid: Unique identifier for the object
        - `groupId` string, uuid: ID of the custom property group
        - `groupInternalName` string: Internal name of the custom property group
        - `companyId` string, uuid: ID of the company
        - `internalName` string: Internal name of the custom property value
        - `label` string: Label of the custom property value
        - `context` string, nullable: Context/description of the custom property value
        - `createdAt` string, date-time: Timestamp when the custom property value was created
        - `updatedAt` string, date-time: Timestamp when the custom property value was last updated
    - `createdAt` string, date-time: Timestamp when this invoice payable line item was created.
    - `updatedAt` string, date-time: Timestamp when this invoice payable line item was last updated.
  - `customProperties` ExternalCustomPropertyV1Model[], nullable: Custom properties set on the invoice payable header.
    - `groupId` string, uuid: ID of the custom property group
    - `groupInternalName` string: Internal name of the custom property group
    - `values` ExternalCustomPropertyValueV1Model[]: List of values. Note that this will be a single value unless the group input type supports multiple values
      - `id` string, uuid: Unique identifier for the object
      - `groupId` string, uuid: ID of the custom property group
      - `groupInternalName` string: Internal name of the custom property group
      - `companyId` string, uuid: ID of the company
      - `internalName` string: Internal name of the custom property value
      - `label` string: Label of the custom property value
      - `context` string, nullable: Context/description of the custom property value
      - `createdAt` string, date-time: Timestamp when the custom property value was created
      - `updatedAt` string, date-time: Timestamp when the custom property value was last updated
  - `paymentPausedBy` string, uuid, nullable: ID of the user who paused payment for this invoice payable, if payment is paused.
  - `paymentPausedAt` string, date-time, nullable: Timestamp when payment for this invoice payable was paused, if applicable.
  - `senderEmail` string, nullable: Email address from which the invoice payable was received, if known.
  - `documentName` string, nullable: Name of the original document file associated with this invoice payable.

---

[API](https://skmtc.dev/light/apis/light-api.md) - [All operations](https://skmtc.dev/light/apis/light-api/llms.txt) - [OpenAPI document](https://skmtc.dev/light/apis/light-api/revisions/84f51306f648?raw)
