---
title: "Create a new invoice with a customerId that can be a contactId or an organizationId"
method: POST
path: "/v2/billing/invoice/{customerId}"
tags: ["invoice"]
---

# Create a new invoice with a customerId that can be a contactId or an organizationId

`POST /v2/billing/invoice/{customerId}`

## Path parameters

- `customerId` string, required

## Response `201`

Invoice created successfully

- ReadInvoiceDto
  - `id` string, required
  - `number` string
  - `title` string — Title of the billing document
  - `type` 1 | 2 | 3 | 4 | 5, required
  - `state` string, required
  - `customer` ReadBillingCustomerDto, required
    - `id` string, required — Unique identifier of the customer
    - `legacyId` string, required — Legacy identifier of the customer
    - `currency` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF' — Preferred currency of the customer
    - `firstname` string — First name of the customer
    - `lastname` string — Last name of the customer
    - `phoneNumber` string — Phone number of the customer
    - `emails` string[] — Email addresses of the customer
    - `billingAddress` AddressDto, required
      - `line1` string, required — First line of the address
      - `line2` string — Second line of the address
      - `city` string, required — City of the address
      - `zipCode` string, required — Zip code of the address
      - `country` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AN' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KP' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — Country code of the address
    - `deliveryAddress` AddressDto
      - `line1` string, required — First line of the address
      - `line2` string — Second line of the address
      - `city` string, required — City of the address
      - `zipCode` string, required — Zip code of the address
      - `country` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AN' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KP' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — Country code of the address
    - `deliveryAddressIsSame` boolean, required — Tell if delivery and billing address are deep equal or not
    - `language` string — Preferred language of the customer
    - `name` string — Full name of the customer
    - `commercialName` string — Commercial name of the customer
    - `siren` string — SIREN number of the customer
    - `siret` string — SIRET number of the customer
    - `nafCode` string — NAF code of the customer
    - `vatNumber` string — VAT number of the customer
    - `token` string, required — Token associated with the customer
    - `parent` ReadBillingCustomerDto — recursive
    - `contactId` string — Contact identifier associated with the customer
    - `organizationId` string — Organization identifier associated with the customer
    - `isDefault` boolean — Indicates if this is the default customer
    - `test` boolean, required — Indicates if this is a test customer
  - `locale` 'fr' | 'en' | 'de' | 'it' | 'nl' | 'pt' | 'es', required
  - `emittedAt` number, required
  - `archivedAt` number
  - `opportunity` OpportunityDto
    - `id` string, required
    - `name` string, required
  - `locked` boolean
  - `finalizable` boolean, required
  - `test` boolean, required
  - `isEditable` boolean, required
  - `currencyCode` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF', required — Preferred currency of the customer
  - `currency` ReadCurrencyDto, required
    - `currencyCode` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF', required — Preferred currency of the customer
    - `currencyDate` number, required
    - `currencyRate` number, required
    - `origin` 'ECB' | 'USER' | 'FIXED', required
  - `lastDownloadAt` number
  - `attachments` ReadFileDto[], required
    - `id` string, required
    - `name` string, required
    - `extension` string, required
    - `mimeType` string, required
    - `url` string, required
    - `relativeUrl` string, required
    - `isCertified` boolean
    - `isCertifiable` boolean
  - `finalizeRequirements` FinalizeRequirementDto[], required
    - `name` string, required
    - `message` string, required
  - `warnings` BillingWarningDto[], required
    - `title` string, required
    - `message` string, required
  - `emitter` ReadBillingEmitterDto, required
    - `name` string
    - `fullName` string
    - `email` string
    - `phone` string
    - `commercialName` string
    - `siret` string
    - `vatNumber` string
    - `rcsNumber` string, nullable
    - `rsacNumber` string, nullable
    - `legalStatus` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
    - `sapAgreementNumber` string
    - `hasVat` boolean
  - `bankInformation` ReadBankInformationDto
    - `bic` string, required
    - `iban` string, required
    - `holder` string, required
  - `billingLegals` BillingLegalsDto, required
    - `headerNote` string
    - `footerNote` string
    - `generalTermsAndConditionsOfSale` string
    - `mentionMediator` string
    - `vatMention` 1 | 2 | 3 | 4 | 5 | 6 | 13 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21, required
    - `paymentMethods` PaymentMethod[], required
    - `otherPaymentMethod` string — Other payment method
  - `createdAt` number, required
  - `updatedAt` number, required
  - `deliveryDate` number
  - `compatibilityVersion` 'V1' | 'V2' | 'V3', required
  - `isDeletable` boolean, required
  - `displayDeliveryAddress` boolean, required
  - `finalizedAt` number
  - `lastSendByEmailAt` number
  - `themeId` string — ID of the theme applied to this document when set
  - `paymentDelay` 'at_reception' | 'end_of_month' | 'seven_days' | 'ten_days' | 'fifteen_days' | 'thirty_days' | 'thirty_days_end_of_month' | 'forty_five_days' | 'forty_five_days_end_of_month' | 'sixty_days' | 'sixty_days_end_of_month' | 'ninety_days' | 'ninety_days_end_of_month' | 'one_hundred_and_twenty_days' | 'other', required
  - `dueAt` number, required
  - `paidAt` number
  - `lastReminderSentAt` number
  - `isReminderActivated` boolean, required
  - `isOnlinePaymentActivated` boolean, required
  - `isFinalInvoice` boolean, required
  - `lines` ReadBillingDetailsLineDto[], required
    - `generatedId` string
    - `id` string
    - `unitPrice` number, required
    - `unitPriceHT` number, required
    - `productId` string
    - `quantity` number
    - `quantityUnit` 14 | 1 | 2 | 3 | 22 | 23 | 24 | 25 | 26 | 21 | 20 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 27 | 28
    - `designation` string, required
    - `reference` string
    - `description` string
    - `isDeliveryOfGoods` boolean, required
    - `type` 1 | 2 | 3 | 4 | 5
    - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE'
    - `personalServiceActivity` 'GARDE_ENFANT_HANDICAPE' | 'ACCOMPAGNEMENT_ENFANT_HANDICAPE' | 'AIDE_HUMAINE' | 'CONDUITE_VEHICULE_PERSONNEL' | 'AIDE_AU_DEPLACEMENT' | 'ENTRETIEN_DE_LA_MAISON' | 'JARDINAGE' | 'BRICOLAGE' | 'GARDE_ENFANT_PLUS_DE_6_ANS' | 'SOUTIEN_SCOLAIRE_COURS_A_DOMICILE' | 'SOIN_ESTHETIQUE_A_DOMICILE' | 'PREPARATION_REPAS_A_DOMICILE' | 'LIVRAISON_REPAS_A_DOMICILE' | 'COLLECTE_ET_LIVRAISON_DE_LINGE_REPASSE' | 'LIVRAISON_COURSES_A_DOMICILE' | 'ASSISTANCE_INFORMATIQUE' | 'SOINS_ET_PROMENADES_ANIMAUX_DE_COMPAGNIE_POUR_PERSONNES_DEPENDANTES' | 'MAINTENANCE_ENTRETIEN_ET_VIGILANCE_DE_LA_RESIDENCE_PRINCIPALE' | 'ASSISTANCE_ADMINISTRATIVE' | 'ACCOMPAGNEMENT_ENFANT_PLUS_DE_6_ANS' | 'TELEASSISTANCE' | 'INTERPRETE_LANGUE_DES_SIGNES' | 'CONDUITE_VEHICULE_PERSONNEL_EN_CAS_INVALIDITE_TEMPORAIRE' | 'ACCOMPAGNEMENT_DEPLACEMENTS_EN_DEHORS_DU_DOMICILE' | 'ASSISTANCE_PERSONNES_TEMPORAIREMENT_DEPENDANTES_A_DOMICILE' | 'COORDINATION_ET_GESTION' | 'DIVERS_NON_ELIGIBLE'
    - `priceWithoutTaxBeforeDiscount` number, required
    - `discountAmount` number, required
    - `discount` DiscountLineDto, required
      - `amount` number, required — Montant de la remise, 1000 pour 10% ou 10€
      - `mode` 1 | 2, required
    - `priceWithoutTaxAfterDiscount` number, required
    - `vatAmount` number, required
    - `priceTotalTax` number, required
    - `convertedAmounts` ConvertedAmountsLineDto
      - `priceWithoutTaxBeforeDiscount` number, required
      - `discountAmount` number
      - `priceWithoutTaxAfterDiscount` number, required
      - `vatAmount` number, required
      - `priceTotalTax` number, required
    - `isTaxIncluded` boolean — Indicates whether the unit price includes tax (TTC) or excludes tax (HT)
  - `total` ReadInvoiceTotalDto, required
    - `amountWithoutTaxBeforeDiscount` number, required
    - `amountWithoutTaxAfterDiscount` number, required
    - `amountWithTaxAfterDiscount` number, required
    - `remainingAmountWithoutTax` number, required
    - `remainingAmountWithTax` number, required
    - `remainingReconciliateAmount` number, required
    - `discountAmount` number
    - `vatDetails` VatDetailDto[], required
      - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE', required
      - `amount` number, required
      - `vatRate` number, required
    - `amountWithoutTaxBeforeDiscountWithoutDisbursement` number, required
    - `convertedAmounts` ReadInvoiceTotalWithoutConvertedAmountsDto
      - `amountWithoutTaxBeforeDiscount` number, required
      - `amountWithoutTaxAfterDiscount` number, required
      - `amountWithTaxAfterDiscount` number, required
      - `remainingAmountWithoutTax` number, required
      - `remainingAmountWithTax` number, required
      - `remainingReconciliateAmount` number, required
      - `discountAmount` number
      - `vatDetails` VatDetailDto[], required
        - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE', required
        - `amount` number, required
        - `vatRate` number, required
      - `amountWithoutTaxBeforeDiscountWithoutDisbursement` number, required
  - `reminder` ReminderDto
    - `inCopy` boolean, required
    - `frequency` 'on_due_date' | 'every_week', required — The frequency at which reminders should be sent
    - `numberOfRemindersToSend` number, required
    - `active` boolean, required
    - `recipients` string[], required
  - `discount` DiscountDto
    - `mode` 1 | 2, required
    - `amount` number, required — The amount for the discount (1000 for 10% or 10€)
  - `latePenalty` LatePenaltyDto
    - `value` 'three_time_legal_rate' | 'bce_director_rate_plus_ten_points' | 'other', required
    - `otherValue` string — Description custom si `value` vaut `other`
  - `lumpSumCompensation` BillingLumpSumCompensationDto
    - `value` 1 | 2, required
    - `otherValue` string — Description custom si `value` vaut `other`
  - `discountAdvancePayment` BillingDiscountAdvancePaymentDto
    - `value` 'none' | 'other', required — Type de remise sur acompte
    - `otherValue` string — Description custom si `value` vaut `other`
  - `displaySettings` DisplayBillingSettingsDto, required
    - `displayFullName` boolean, required
    - `displayEmail` boolean, required
    - `displayPhoneNumber` boolean, required
    - `displaySAPAgreement` boolean, required
    - `displayLegalStatus` boolean, required
    - `displayRequiredMentionsProduct` boolean, required
    - `displayMemberOfAnApprovedAssociation` boolean, required
    - `displayAbbyLogo` boolean, required
    - `displayTitle` boolean, required
    - `displayGoodForApproval` boolean
    - `displayEstimateNumber` boolean
  - `paymentRequest` PaymentRequestDto
    - `idDemandePaiement` string
    - `dateDebutEmploi` number, required
    - `dateFinEmploi` number, required
    - `dateVirement` number
    - `advanceAlreadyPayed` number
    - `advancePaymentDate` number
    - `mntVirement` number
    - `statut` string
  - `parent` ReadEstimateDto
    - `id` string, required
    - `number` string
    - `title` string — Title of the billing document
    - `type` 1 | 2 | 3 | 4 | 5, required
    - `state` string, required
    - `customer` ReadBillingCustomerDto, required
      - `id` string, required — Unique identifier of the customer
      - `legacyId` string, required — Legacy identifier of the customer
      - `currency` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF' — Preferred currency of the customer
      - `firstname` string — First name of the customer
      - `lastname` string — Last name of the customer
      - `phoneNumber` string — Phone number of the customer
      - `emails` string[] — Email addresses of the customer
      - `billingAddress` AddressDto, required
        - `line1` string, required — First line of the address
        - `line2` string — Second line of the address
        - `city` string, required — City of the address
        - `zipCode` string, required — Zip code of the address
        - `country` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AN' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KP' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — Country code of the address
      - `deliveryAddress` AddressDto
        - `line1` string, required — First line of the address
        - `line2` string — Second line of the address
        - `city` string, required — City of the address
        - `zipCode` string, required — Zip code of the address
        - `country` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AN' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KP' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — Country code of the address
      - `deliveryAddressIsSame` boolean, required — Tell if delivery and billing address are deep equal or not
      - `language` string — Preferred language of the customer
      - `name` string — Full name of the customer
      - `commercialName` string — Commercial name of the customer
      - `siren` string — SIREN number of the customer
      - `siret` string — SIRET number of the customer
      - `nafCode` string — NAF code of the customer
      - `vatNumber` string — VAT number of the customer
      - `token` string, required — Token associated with the customer
      - `parent` ReadBillingCustomerDto — recursive
      - `contactId` string — Contact identifier associated with the customer
      - `organizationId` string — Organization identifier associated with the customer
      - `isDefault` boolean — Indicates if this is the default customer
      - `test` boolean, required — Indicates if this is a test customer
    - `locale` 'fr' | 'en' | 'de' | 'it' | 'nl' | 'pt' | 'es', required
    - `emittedAt` number, required
    - `archivedAt` number
    - `opportunity` OpportunityDto
      - `id` string, required
      - `name` string, required
    - `locked` boolean
    - `finalizable` boolean, required
    - `test` boolean, required
    - `isEditable` boolean, required
    - `currencyCode` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF', required — Preferred currency of the customer
    - `currency` ReadCurrencyDto, required
      - `currencyCode` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF', required — Preferred currency of the customer
      - `currencyDate` number, required
      - `currencyRate` number, required
      - `origin` 'ECB' | 'USER' | 'FIXED', required
    - `lastDownloadAt` number
    - `attachments` ReadFileDto[], required
      - `id` string, required
      - `name` string, required
      - `extension` string, required
      - `mimeType` string, required
      - `url` string, required
      - `relativeUrl` string, required
      - `isCertified` boolean
      - `isCertifiable` boolean
    - `finalizeRequirements` FinalizeRequirementDto[], required
      - `name` string, required
      - `message` string, required
    - `warnings` BillingWarningDto[], required
      - `title` string, required
      - `message` string, required
    - `emitter` ReadBillingEmitterDto, required
      - `name` string
      - `fullName` string
      - `email` string
      - `phone` string
      - `commercialName` string
      - `siret` string
      - `vatNumber` string
      - `rcsNumber` string, nullable
      - `rsacNumber` string, nullable
      - `legalStatus` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
      - `sapAgreementNumber` string
      - `hasVat` boolean
    - `bankInformation` ReadBankInformationDto
      - `bic` string, required
      - `iban` string, required
      - `holder` string, required
    - `billingLegals` BillingLegalsDto, required
      - `headerNote` string
      - `footerNote` string
      - `generalTermsAndConditionsOfSale` string
      - `mentionMediator` string
      - `vatMention` 1 | 2 | 3 | 4 | 5 | 6 | 13 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21, required
      - `paymentMethods` PaymentMethod[], required
      - `otherPaymentMethod` string — Other payment method
    - `createdAt` number, required
    - `updatedAt` number, required
    - `deliveryDate` number
    - `compatibilityVersion` 'V1' | 'V2' | 'V3', required
    - `isDeletable` boolean, required
    - `displayDeliveryAddress` boolean, required
    - `finalizedAt` number
    - `lastSendByEmailAt` number
    - `themeId` string — ID of the theme applied to this document when set
    - `paymentDelay` 'at_reception' | 'end_of_month' | 'seven_days' | 'ten_days' | 'fifteen_days' | 'thirty_days' | 'thirty_days_end_of_month' | 'forty_five_days' | 'forty_five_days_end_of_month' | 'sixty_days' | 'sixty_days_end_of_month' | 'ninety_days' | 'ninety_days_end_of_month' | 'one_hundred_and_twenty_days' | 'other', required
    - `expiredAt` number, required
    - `refusedAt` number
    - `signedAt` number
    - `lines` ReadBillingDetailsLineDto[], required
      - `generatedId` string
      - `id` string
      - `unitPrice` number, required
      - `unitPriceHT` number, required
      - `productId` string
      - `quantity` number
      - `quantityUnit` 14 | 1 | 2 | 3 | 22 | 23 | 24 | 25 | 26 | 21 | 20 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 27 | 28
      - `designation` string, required
      - `reference` string
      - `description` string
      - `isDeliveryOfGoods` boolean, required
      - `type` 1 | 2 | 3 | 4 | 5
      - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE'
      - `personalServiceActivity` 'GARDE_ENFANT_HANDICAPE' | 'ACCOMPAGNEMENT_ENFANT_HANDICAPE' | 'AIDE_HUMAINE' | 'CONDUITE_VEHICULE_PERSONNEL' | 'AIDE_AU_DEPLACEMENT' | 'ENTRETIEN_DE_LA_MAISON' | 'JARDINAGE' | 'BRICOLAGE' | 'GARDE_ENFANT_PLUS_DE_6_ANS' | 'SOUTIEN_SCOLAIRE_COURS_A_DOMICILE' | 'SOIN_ESTHETIQUE_A_DOMICILE' | 'PREPARATION_REPAS_A_DOMICILE' | 'LIVRAISON_REPAS_A_DOMICILE' | 'COLLECTE_ET_LIVRAISON_DE_LINGE_REPASSE' | 'LIVRAISON_COURSES_A_DOMICILE' | 'ASSISTANCE_INFORMATIQUE' | 'SOINS_ET_PROMENADES_ANIMAUX_DE_COMPAGNIE_POUR_PERSONNES_DEPENDANTES' | 'MAINTENANCE_ENTRETIEN_ET_VIGILANCE_DE_LA_RESIDENCE_PRINCIPALE' | 'ASSISTANCE_ADMINISTRATIVE' | 'ACCOMPAGNEMENT_ENFANT_PLUS_DE_6_ANS' | 'TELEASSISTANCE' | 'INTERPRETE_LANGUE_DES_SIGNES' | 'CONDUITE_VEHICULE_PERSONNEL_EN_CAS_INVALIDITE_TEMPORAIRE' | 'ACCOMPAGNEMENT_DEPLACEMENTS_EN_DEHORS_DU_DOMICILE' | 'ASSISTANCE_PERSONNES_TEMPORAIREMENT_DEPENDANTES_A_DOMICILE' | 'COORDINATION_ET_GESTION' | 'DIVERS_NON_ELIGIBLE'
      - `priceWithoutTaxBeforeDiscount` number, required
      - `discountAmount` number, required
      - `discount` DiscountLineDto, required
        - `amount` number, required — Montant de la remise, 1000 pour 10% ou 10€
        - `mode` 1 | 2, required
      - `priceWithoutTaxAfterDiscount` number, required
      - `vatAmount` number, required
      - `priceTotalTax` number, required
      - `convertedAmounts` ConvertedAmountsLineDto
        - `priceWithoutTaxBeforeDiscount` number, required
        - `discountAmount` number
        - `priceWithoutTaxAfterDiscount` number, required
        - `vatAmount` number, required
        - `priceTotalTax` number, required
      - `isTaxIncluded` boolean — Indicates whether the unit price includes tax (TTC) or excludes tax (HT)
    - `total` EstimateTotalDto, required
      - `amountWithoutTaxBeforeDiscount` number, required
      - `amountWithoutTaxAfterDiscount` number, required
      - `amountWithTaxAfterDiscount` number, required
      - `remainingAmountWithoutTax` number, required
      - `remainingAmountWithTax` number, required
      - `remainingAmountToBill` number, required
      - `vatDetails` VatDetailDto[], required
        - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE', required
        - `amount` number, required
        - `vatRate` number, required
      - `discountAmount` number
      - `convertedAmounts` ConvertedAmountsDto
        - `amountWithoutTaxBeforeDiscount` number, required
        - `amountWithoutTaxAfterDiscount` number, required
        - `amountWithTaxAfterDiscount` number, required
        - `remainingAmountWithoutTax` number, required
        - `remainingAmountWithTax` number, required
        - `remainingAmountToBill` number, required
        - `vatDetails` VatDetailDto[], required
          - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE', required
          - `amount` number, required
          - `vatRate` number, required
        - `discountAmount` number
        - `billedAmountWithoutTax` number, required
        - `billedAmountWithTax` number, required
        - `remainingAmountWithoutTaxWithoutDisbursement` number, required
        - `amountWithoutTaxBeforeDiscountWithoutDisbursement` number, required
      - `billedAmountWithoutTax` number, required
      - `billedAmountWithTax` number, required
      - `amountWithoutTaxBeforeDiscountWithoutDisbursement` number, required
      - `remainingAmountWithoutTaxWithoutDisbursement` number, required
    - `discount` DiscountDto
      - `mode` 1 | 2, required
      - `amount` number, required — The amount for the discount (1000 for 10% or 10€)
    - `latePenalty` LatePenaltyDto
      - `value` 'three_time_legal_rate' | 'bce_director_rate_plus_ten_points' | 'other', required
      - `otherValue` string — Description custom si `value` vaut `other`
    - `lumpSumCompensation` LumpSumCompensationDto
      - `value` 1 | 2, required
      - `otherValue` string — Description custom si `value` vaut `other`
    - `discountAdvancePayment` BillingDiscountAdvancePaymentDto
      - `value` 'none' | 'other', required — Type de remise sur acompte
      - `otherValue` string — Description custom si `value` vaut `other`
    - `displaySettings` DisplaySettingsDto, required
      - `displayFullName` boolean, required
      - `displayEmail` boolean, required
      - `displayPhoneNumber` boolean, required
      - `displaySAPAgreement` boolean, required
      - `displayLegalStatus` boolean, required
      - `displayRequiredMentionsProduct` boolean, required
      - `displayGoodForApproval` boolean
      - `displayMemberOfAnApprovedAssociation` boolean, required
      - `displayAbbyLogo` boolean, required
      - `displayTitle` boolean, required
    - `advances` ReadAdvanceDto[], required
      - `id` string, required
      - `number` string
      - `title` string — Title of the billing document
      - `type` 1 | 2 | 3 | 4 | 5, required
      - `state` string, required
      - `customer` ReadBillingCustomerDto, required
        - `id` string, required — Unique identifier of the customer
        - `legacyId` string, required — Legacy identifier of the customer
        - `currency` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF' — Preferred currency of the customer
        - `firstname` string — First name of the customer
        - `lastname` string — Last name of the customer
        - `phoneNumber` string — Phone number of the customer
        - `emails` string[] — Email addresses of the customer
        - `billingAddress` AddressDto, required
          - `line1` string, required — First line of the address
          - `line2` string — Second line of the address
          - `city` string, required — City of the address
          - `zipCode` string, required — Zip code of the address
          - `country` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AN' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KP' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — Country code of the address
        - `deliveryAddress` AddressDto
          - `line1` string, required — First line of the address
          - `line2` string — Second line of the address
          - `city` string, required — City of the address
          - `zipCode` string, required — Zip code of the address
          - `country` 'AF' | 'AX' | 'AL' | 'DZ' | 'AS' | 'AD' | 'AO' | 'AI' | 'AQ' | 'AG' | 'AN' | 'AR' | 'AM' | 'AW' | 'AU' | 'AT' | 'AZ' | 'BS' | 'BH' | 'BD' | 'BB' | 'BY' | 'BE' | 'BZ' | 'BJ' | 'BM' | 'BT' | 'BO' | 'BQ' | 'BA' | 'BW' | 'BV' | 'BR' | 'IO' | 'BN' | 'BG' | 'BF' | 'BI' | 'KH' | 'CM' | 'CA' | 'CV' | 'KY' | 'CF' | 'TD' | 'CL' | 'CN' | 'CX' | 'CC' | 'CO' | 'KM' | 'CG' | 'CD' | 'CK' | 'CR' | 'CI' | 'HR' | 'CU' | 'CW' | 'CY' | 'CZ' | 'DK' | 'DJ' | 'DM' | 'DO' | 'EC' | 'EG' | 'SV' | 'GQ' | 'ER' | 'EE' | 'ET' | 'FK' | 'FO' | 'FJ' | 'FI' | 'FR' | 'GF' | 'PF' | 'TF' | 'GA' | 'GM' | 'GE' | 'DE' | 'GH' | 'GI' | 'GR' | 'GL' | 'GD' | 'GP' | 'GU' | 'GT' | 'GG' | 'GN' | 'GW' | 'GY' | 'HT' | 'HM' | 'VA' | 'HN' | 'HK' | 'HU' | 'IS' | 'IN' | 'ID' | 'IR' | 'IQ' | 'IE' | 'IM' | 'IL' | 'IT' | 'JM' | 'JP' | 'JE' | 'JO' | 'KZ' | 'KE' | 'KI' | 'KR' | 'XK' | 'KP' | 'KW' | 'KG' | 'LA' | 'LV' | 'LB' | 'LS' | 'LR' | 'LY' | 'LI' | 'LT' | 'LU' | 'MO' | 'MK' | 'MG' | 'MW' | 'MY' | 'MV' | 'ML' | 'MT' | 'MH' | 'MQ' | 'MR' | 'MU' | 'YT' | 'MX' | 'FM' | 'MD' | 'MC' | 'MN' | 'ME' | 'MS' | 'MA' | 'MZ' | 'MM' | 'NA' | 'NR' | 'NP' | 'NL' | 'NC' | 'NZ' | 'NI' | 'NE' | 'NG' | 'NU' | 'NF' | 'MP' | 'NO' | 'OM' | 'PK' | 'PW' | 'PS' | 'PA' | 'PG' | 'PY' | 'PE' | 'PH' | 'PN' | 'PL' | 'PT' | 'PR' | 'QA' | 'RE' | 'RO' | 'RU' | 'RW' | 'BL' | 'SH' | 'KN' | 'LC' | 'MF' | 'PM' | 'VC' | 'WS' | 'SM' | 'ST' | 'SA' | 'SN' | 'RS' | 'SC' | 'SL' | 'SG' | 'SX' | 'SK' | 'SI' | 'SB' | 'SO' | 'ZA' | 'GS' | 'SS' | 'ES' | 'LK' | 'SD' | 'SR' | 'SJ' | 'SZ' | 'SE' | 'CH' | 'SY' | 'TW' | 'TJ' | 'TZ' | 'TH' | 'TL' | 'TG' | 'TK' | 'TO' | 'TT' | 'TN' | 'TR' | 'TM' | 'TC' | 'TV' | 'UG' | 'UA' | 'AE' | 'GB' | 'US' | 'UM' | 'UY' | 'UZ' | 'VU' | 'VE' | 'VN' | 'VG' | 'VI' | 'WF' | 'EH' | 'YE' | 'ZM' | 'ZW', required — Country code of the address
        - `deliveryAddressIsSame` boolean, required — Tell if delivery and billing address are deep equal or not
        - `language` string — Preferred language of the customer
        - `name` string — Full name of the customer
        - `commercialName` string — Commercial name of the customer
        - `siren` string — SIREN number of the customer
        - `siret` string — SIRET number of the customer
        - `nafCode` string — NAF code of the customer
        - `vatNumber` string — VAT number of the customer
        - `token` string, required — Token associated with the customer
        - `parent` ReadBillingCustomerDto — recursive
        - `contactId` string — Contact identifier associated with the customer
        - `organizationId` string — Organization identifier associated with the customer
        - `isDefault` boolean — Indicates if this is the default customer
        - `test` boolean, required — Indicates if this is a test customer
      - `locale` 'fr' | 'en' | 'de' | 'it' | 'nl' | 'pt' | 'es', required
      - `emittedAt` number, required
      - `archivedAt` number
      - `opportunity` OpportunityDto
        - `id` string, required
        - `name` string, required
      - `locked` boolean
      - `finalizable` boolean, required
      - `test` boolean, required
      - `isEditable` boolean, required
      - `currencyCode` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF', required — Preferred currency of the customer
      - `currency` ReadCurrencyDto, required
        - `currencyCode` 'EUR' | 'GBP' | 'CHF' | 'USD' | 'AUD' | 'CAD' | 'JPY' | 'CNH' | 'CZK' | 'DKK' | 'BGN' | 'PLN' | 'HUF' | 'RON' | 'SEK' | 'NOK' | 'TRY' | 'BRL' | 'HKD' | 'ILS' | 'INR' | 'KRW' | 'MXN' | 'XPF' | 'XOF' | 'XAF', required — Preferred currency of the customer
        - `currencyDate` number, required
        - `currencyRate` number, required
        - `origin` 'ECB' | 'USER' | 'FIXED', required
      - `lastDownloadAt` number
      - `attachments` ReadFileDto[], required
        - `id` string, required
        - `name` string, required
        - `extension` string, required
        - `mimeType` string, required
        - `url` string, required
        - `relativeUrl` string, required
        - `isCertified` boolean
        - `isCertifiable` boolean
      - `finalizeRequirements` FinalizeRequirementDto[], required
        - `name` string, required
        - `message` string, required
      - `warnings` BillingWarningDto[], required
        - `title` string, required
        - `message` string, required
      - `emitter` ReadBillingEmitterDto, required
        - `name` string
        - `fullName` string
        - `email` string
        - `phone` string
        - `commercialName` string
        - `siret` string
        - `vatNumber` string
        - `rcsNumber` string, nullable
        - `rsacNumber` string, nullable
        - `legalStatus` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
        - `sapAgreementNumber` string
        - `hasVat` boolean
      - `bankInformation` ReadBankInformationDto
        - `bic` string, required
        - `iban` string, required
        - `holder` string, required
      - `billingLegals` BillingLegalsDto, required
        - `headerNote` string
        - `footerNote` string
        - `generalTermsAndConditionsOfSale` string
        - `mentionMediator` string
        - `vatMention` 1 | 2 | 3 | 4 | 5 | 6 | 13 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21, required
        - `paymentMethods` PaymentMethod[], required
        - `otherPaymentMethod` string — Other payment method
      - `createdAt` number, required
      - `updatedAt` number, required
      - `deliveryDate` number
      - `compatibilityVersion` 'V1' | 'V2' | 'V3', required
      - `isDeletable` boolean, required
      - `displayDeliveryAddress` boolean, required
      - `finalizedAt` number
      - `lastSendByEmailAt` number
      - `themeId` string — ID of the theme applied to this document when set
      - `paymentDelay` 'at_reception' | 'end_of_month' | 'seven_days' | 'ten_days' | 'fifteen_days' | 'thirty_days' | 'thirty_days_end_of_month' | 'forty_five_days' | 'forty_five_days_end_of_month' | 'sixty_days' | 'sixty_days_end_of_month' | 'ninety_days' | 'ninety_days_end_of_month' | 'one_hundred_and_twenty_days' | 'other', required
      - `dueAt` number
      - `paidAt` number
      - `lastReminderSentAt` number
      - `isReminderActivated` boolean, required
      - `designation` string, required
      - `isOnlinePaymentActivated` boolean, required
      - `description` string
      - `total` TotalDto, required
        - `amountWithoutTaxBeforeDiscount` number, required
        - `amountWithoutTaxAfterDiscount` number, required
        - `amountWithTaxAfterDiscount` number, required
        - `remainingAmountWithoutTax` number, required
        - `remainingAmountWithTax` number, required
        - `remainingReconciliateAmount` number, required
        - `vatDetails` VatDetailDto[], required
          - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE', required
          - `amount` number, required
          - `vatRate` number, required
        - `discountAmount` number
        - `convertedAmounts` ConvertedAmountsDto
          - `amountWithoutTaxBeforeDiscount` number, required
          - `amountWithoutTaxAfterDiscount` number, required
          - `amountWithTaxAfterDiscount` number, required
          - `remainingAmountWithoutTax` number, required
          - `remainingAmountWithTax` number, required
          - `remainingAmountToBill` number, required
          - `vatDetails` VatDetailDto[], required
            - `vatCode` 'FR_210' | 'FR_550' | 'FR_850' | 'FR_1000' | 'FR_2000' | 'FR_00HT' | 'FR_00UE' | 'FR_0HUE', required
            - `amount` number, required
            - `vatRate` number, required
          - `discountAmount` number
          - `billedAmountWithoutTax` number, required
          - `billedAmountWithTax` number, required
          - `remainingAmountWithoutTaxWithoutDisbursement` number, required
          - `amountWithoutTaxBeforeDiscountWithoutDisbursement` number, required
      - `discount` DiscountDto
        - `mode` 1 | 2, required
        - `amount` number, required — The amount for the discount (1000 for 10% or 10€)
      - `displaySettings` DisplaySettingsDto, required
        - `displayFullName` boolean, required
        - `displayEmail` boolean, required
        - `displayPhoneNumber` boolean, required
        - `displaySAPAgreement` boolean, required
        - `displayLegalStatus` boolean, required
        - `displayRequiredMentionsProduct` boolean, required
        - `displayGoodForApproval` boolean
        - `displayMemberOfAnApprovedAssociation` boolean, required
        - `displayAbbyLogo` boolean, required
        - `displayTitle` boolean, required
      - `parent` ReadEstimateDto — recursive
      - `advanceMode` 'AMOUNT' | 'PERCENTAGE', required — The mode of the advance (amount or percentage)
      - `advancePercentage` number, required
      - `advanceAmount` number, required
      - `reminder` BillingReminderDto
        - `inCopy` boolean, required — Indicates if the sender should be in copy of the reminder
        - `frequency` 'on_due_date' | 'every_week', required — The frequency at which reminders should be sent
        - `numberOfRemindersToSend` number, required — The number of reminders to be sent
        - `active` boolean, required — Indicates if the reminder is active
        - `recipients` string[] — Array of email addresses to receive the reminder
      - `latePenalty` BillingLatePenaltyDto
        - `value` 'three_time_legal_rate' | 'bce_director_rate_plus_ten_points' | 'other', required
        - `otherValue` string — Description custom si `value` vaut `other`
      - `lumpSumCompensation` BillingLumpSumCompensationDto
        - `value` 1 | 2, required
        - `otherValue` string — Description custom si `value` vaut `other`
      - `discountAdvancePayment` BillingDiscountAdvancePaymentDto
        - `value` 'none' | 'other', required — Type de remise sur acompte
        - `otherValue` string — Description custom si `value` vaut `other`
      - `hasAssociatedTransaction` boolean, required — Indicates if the customer has an associated transaction
      - `includeDisbursement` boolean, required — Indicates if the advance includes disbursement
      - `canceledAt` number
    - `advanceEstimateLines` ReadEstimateAdvanceLinesDto, required
      - `advances` ReadAdvanceItemLineDto[], required — Array of advance items
        - `value` number, required — The value of the advance (amount or percentage)
        - `mode` 'AMOUNT' | 'PERCENTAGE', required — The mode of the advance (amount or percentage)
        - `paymentCondition` 'SIGNATURE' | 'ORDER' | 'OTHER'
        - `customPaymentCondition` string, nullable — Custom payment condition if OTHER is selected
      - `totals` ReadAdvanceItemLineTotalsDto, required
        - `totalAmountWithoutTax` number, required — Total amount of all advances
        - `totalAmountWithTax` number, required — Total amount of all advances after discount
        - `remainingTotalAmountWithoutTax` number, required — Remaining total amount without tax
        - `remainingTotalAmountWithTax` number, required — Remaining total amount with tax
      - `convertedTotals` ReadAdvanceItemLineTotalsDto, required
        - `totalAmountWithoutTax` number, required — Total amount of all advances
        - `totalAmountWithTax` number, required — Total amount of all advances after discount
        - `remainingTotalAmountWithoutTax` number, required — Remaining total amount without tax
        - `remainingTotalAmountWithTax` number, required — Remaining total amount with tax
    - `withElectronicSignature` boolean, required
    - `electronicSignature` EstimateElectronicSignatureDto, required
      - `id` string, required
      - `canceledAt` number, nullable, required
      - `procedureId` string, nullable, required
      - `magicLink` string, nullable, required
      - `signedAt` number, nullable, required
      - `refusedAt` number, nullable, required
      - `status` 'requested' | 'activated' | 'on_going' | 'refused' | 'signed' | 'cancelled', required
    - `dueAt` number
    - `electronicSignatureRequirements` ElectronicSignatureRequirementDto[], required
      - `name` string, required
      - `message` string, required
    - `hasFinalInvoice` boolean, required
    - `includeDiscountDisbursement` boolean, required
  - `frequency` FrequencyDto
    - `id` string, required
    - `from` string, required
    - `to` string, required
    - `nextBillingAt` string, nullable
    - `frequency` number, required
    - `interval` 'day' | 'week' | 'month' | 'year', required
    - `finalizeInvoice` boolean, required
    - `sendByMail` boolean, required
    - `inCopy` boolean, required
  - `hasAssociatedTransaction` boolean, required — Indicates if the customer has an associated transaction
  - `includeDiscountDisbursement` boolean, required
  - `expiredAt` number
  - `canceledAt` number

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.dev/abby/apis/abby-api.md) · [All operations](https://skmtc.dev/abby/apis/abby-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/abby/abby-api/revisions/79aae058363b/schema)
