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

# Update booking proposal

## Field support per integration

> [accordion] Lexware Office
>
> Supported request parameters:
>
> **bookingProposal** `string` *required*
>
> **properties**
>
> \*\*bookingProposalDate \*\* `string` *required*
>
> For date format details visit the [`Standardized Data`](https://docs.maesn.com/standardization) section.
>
> **contactId** `string`
>
> Required when `useCollectiveContact` is `false` or not provided.
>
> \*\*deliveryDate \*\* `string`
>
> For date format details visit the [`Standardized Data`](https://docs.maesn.com/standardization) section.
> It is only supported for booking proposals of type `INVOICE` and `INVOICE_CREDIT_NOTE`.
>
> \*\*dueDate \*\* `string`
>
> For date format details visit the [`Standardized Data`](https://docs.maesn.com/standardization) section.
>
> **lineItems** `BookingLineItem[]` *required*
>
> At least one line item is required. Will replace all existing line items.
>
> **properties**
>
> **accountId** `string` *required*
>
> The `accountId` field specifies the id of the posting category in Lexware that represents the general ledger account linked to the individual line item within the booking proposal.
>
> To get the correct `accountId`, you can use the `GET Accounts` endpoint.
>
> \*\*taxRatePercentage \*\* `number` *required*
>
> **totalGrossAmount** `number` *required*
>
> The `totalGrossAmount` field represents the total gross amount for the line item. It must have at most 2 decimal places.
>
> **notes** `string`
>
> **number** `string` *required*
>
> **totalGrossAmount** `number` *required*
>
> The `totalGrossAmount` field represents the total gross amount for the entire booking proposal. It must have at most 2 decimal places.
>
> **useCollectiveContact** `boolean`
>
> If `true`, creates the booking proposal with a collective contact (no `contactId` needed).
>
> **bookingType** `BookingType` *required*
>
> Available options: `BILL`, `INVOICE`, `INVOICE_CREDIT_NOTE`, `BILL_CREDIT_NOTE`
>
> **files** `file[]`
>
> Only one file is supported. The file name must not exceed 255 characters in length.


## OpenAPI

````yaml PUT /accounting/bookingProposals/{bookingProposalId}
openapi: 3.0.0
info:
  title: Maesn unified API
  description: The Maesn unified API description
  version: '1.0'
  contact: {}
servers:
  - url: https://api.maesn.dev
security: []
tags:
  - name: maesn
    description: ''
paths:
  /accounting/bookingProposals/{bookingProposalId}:
    put:
      tags:
        - accounting
      operationId: updateBookingProposal
      parameters:
        - name: bookingProposalId
          required: true
          in: path
          schema:
            type: string
        - name: companyId
          required: false
          in: query
          schema:
            type: string
        - name: environmentName
          required: false
          in: query
          description: >-
            Environment name (required for multi-environment systems such as
            Business Central)
          schema:
            type: string
        - name: X-API-KEY
          description: API key
          in: header
          schema:
            type: string
          required: true
        - name: X-ACCOUNT-KEY
          description: Account key
          in: header
          schema:
            type: string
          required: true
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                bookingProposal:
                  $ref: '#/components/schemas/CreateBookingProposalRequestDto'
                bookingType:
                  type: string
                  enum:
                    - INVOICE
                    - BILL
                    - INVOICE_CREDIT_NOTE
                    - BILL_CREDIT_NOTE
                files:
                  type: array
                  items:
                    format: binary
                  description: Array of files to upload
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/BaseResponseDto'
                  - properties:
                      data:
                        $ref: '#/components/schemas/BookingProposalResponseDto'
                        type: object
components:
  schemas:
    CreateBookingProposalRequestDto:
      type: object
      properties:
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/AddressBookingProposal'
        bankAccountId:
          type: string
          example: 5a6b7f5dw45c1c-403e-ad56-202fbc312414
        bankAccountNumber:
          type: number
          example: 5407324931
        bankCode:
          type: string
          example: '50010517'
        bic:
          type: string
          example: DEUTDEFF
        bookingProposalDate:
          type: string
          example: '2025-07-14T00:00:00Z'
        contactAccountNumber:
          type: number
          example: 70000
        contactId:
          type: string
          example: eaa28f49-6028-4b6e-bb12-d8f6278073fc
        contactName:
          type: string
          example: John Doe
        currency:
          type: string
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNY
            - COP
            - CRC
            - CUC
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EEK
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GQE
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZM
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UZS
            - VEB
            - VND
            - VUV
            - WST
            - XAF
            - XCD
            - XDR
            - XOF
            - XPF
            - YER
            - ZAR
            - ZMK
            - ZWR
          example: EUR
        deliveryDate:
          type: string
          example: '2025-07-26T00:00:00Z'
        discountPaymentDate:
          type: string
          example: '2025-07-16T00:00:00Z'
        discountPaymentDate2:
          type: string
          example: '2025-07-18T00:00:00Z'
        dueDate:
          type: string
          example: '2025-07-24T00:00:00Z'
        journalCode:
          type: string
          example: '60'
        iban:
          type: string
          example: DE43100500000920018963
        isPaymentOrder:
          type: boolean
          example: 'true'
        ledgerName:
          type: string
          example: Payroll
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/BookingProposalLineItemRequest'
        notes:
          type: string
          example: Bill for maintenance services
        number:
          type: string
          example: '1233330'
        orderId:
          type: string
          example: '3344566'
        paidDate:
          type: string
          example: '2021-01-01T00:00:00Z'
        paymentTermsId:
          type: string
          example: '03'
        status:
          type: string
          enum:
            - DRAFT
            - OPEN
          example: DRAFT
        totalGrossAmount:
          description: >-
            Gross total — the net amount plus tax (the total payable, including
            VAT).
          type: number
          example: 500
        useCollectiveContact:
          type: boolean
          example: true
        vatId:
          type: string
          example: DE987654321
    BaseResponseDto:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/MetaResponse'
        data:
          oneOf:
            - type: object
            - type: array
    BookingProposalResponseDto:
      type: object
      properties:
        id:
          type: string
          example: BP-12345
        'addresses ':
          type: array
          items:
            $ref: '#/components/schemas/AddressBookingProposal'
        bankAccountId:
          type: string
          example: 5a6b7f5dw45c1c-403e-ad56-202fbc312414
        bankAccountNumber:
          type: number
          example: 5407324931
        bankCode:
          type: string
          example: '50010517'
        bic:
          type: string
          example: DEUTDEFF
        bookingProposalDate:
          type: string
          example: '2025-07-14T00:00:00Z'
        bookingType:
          type: string
          enum:
            - INVOICE
            - BILL
            - CREDIT_CARD
            - EXPENSE
            - CREDIT_NOTE
            - BILL_CREDIT_NOTE
            - INVOICE_CREDIT_NOTE
            - DOWN_PAYMENT
            - OTHER
          example: INVOICE
        contactAccountNumber:
          type: number
          example: 70000
        contactId:
          type: string
          example: eaa28f49-6028-4b6e-bb12-d8f6278073fc
        'contactName ':
          type: string
          example: John Doe
        createdDate:
          type: string
          example: '2025-07-16T00:00:00Z'
        currency:
          type: string
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNY
            - COP
            - CRC
            - CUC
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EEK
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GQE
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZM
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UZS
            - VEB
            - VND
            - VUV
            - WST
            - XAF
            - XCD
            - XDR
            - XOF
            - XPF
            - YER
            - ZAR
            - ZMK
            - ZWR
          example: EUR
        deliveryDate:
          type: string
          example: '2025-07-26T00:00:00Z'
        discountPaymentDate:
          type: string
          example: '2025-07-16T00:00:00Z'
        discountPaymentDate2:
          type: string
          example: '2025-07-18T00:00:00Z'
        dueDate:
          type: string
          example: '2025-07-24T00:00:00Z'
        files:
          type: array
          items:
            type: string
            example: file1.pdf
        journalCode:
          type: string
          example: '60'
        iban:
          type: string
          example: DE43100500000920018963
        isPaymentOrder:
          type: boolean
          example: 'true'
        ledgerName:
          type: string
          example: Payroll
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/BookingProposalLineItemResponse'
        notes:
          type: string
          example: Bill for maintenance services
        number:
          type: string
          example: '1233330'
        orderId:
          type: string
          example: '3344566'
        paidDate:
          type: string
          example: '2021-01-01T00:00:00Z'
        paymentTermsId:
          type: string
          example: '03'
        status:
          type: string
          enum:
            - DRAFT
            - SUBMITTED
            - OPEN
            - PAID
            - PARTIALLY_PAID
            - VOIDED
            - CANCELLED
            - OVERDUE
            - DISPUTED
          example: DRAFT
        taskId:
          type: string
          example: ADHUR74BCBSW8399DCN
        totalGrossAmount:
          description: >-
            Gross total — the net amount plus tax (the total payable, including
            VAT).
          type: number
          example: 500
        updatedDate:
          type: string
          example: '2025-07-16T00:00:00Z'
        vatId:
          type: string
          example: DE987654321
    AddressBookingProposal:
      type: object
      properties:
        city:
          type: string
          example: city
    BookingProposalLineItemRequest:
      type: object
      properties:
        accountCode:
          type: string
          example: '200'
        accountId:
          type: string
          example: db32-4f56-8a9b-1234567890ab
        accountName:
          type: string
          example: EXPENSE
        accountNumber:
          type: number
          example: 4900
        bookingTaxCode:
          type: string
          example: '9'
        description:
          type: string
          example: Item A
        dimension1:
          type: string
          example: Marketing
        dimension2:
          type: string
          example: Service and Maintenance
        dimensions:
          type: array
          items:
            $ref: '#/components/schemas/DimensionCommonDto'
        discountAmount:
          description: Discount applied to the line item, in the document currency.
          type: number
          example: 100
        discountAmount2:
          type: number
          example: 50
        discountPercentage:
          type: number
          example: 20
        discountPercentage2:
          type: number
          example: 10
        taxCode:
          type: string
          example: '02'
        taxRatePercentage:
          type: number
          example: 19
        totalGrossAmount:
          description: Gross amount of the line item — net plus tax (including VAT).
          type: number
          example: 500
        totalNetAmount:
          description: Net amount of the line item — before tax (excluding VAT).
          type: number
          example: 450
        type:
          type: string
          enum:
            - GOODS
            - SERVICES
          example: SERVICES
    MetaResponse:
      type: object
      properties:
        warnings:
          type: array
          items:
            type: string
            example: Field not used by target system
        pagination:
          $ref: '#/components/schemas/PaginationResponse'
        partialErrors:
          type: array
          description: >-
            Secondary operations that failed after the main operation succeeded.
            See [Partial Errors](/guides/partial-errors).
          items:
            type: object
            properties:
              code:
                type: string
                example: FILE_UPLOAD_FAILED
              message:
                type: string
                example: >-
                  Attachment invoice.pdf could not be uploaded to the target
                  system.
    BookingProposalLineItemResponse:
      type: object
      properties:
        id:
          type: string
          example: Item-112233
        accountCode:
          type: string
          example: '200'
        accountId:
          type: string
          example: db32-4f56-8a9b-1234567890ab
        accountName:
          type: string
          example: EXPENSE
        accountNumber:
          type: number
          example: 4900
        bookingTaxCode:
          type: string
          example: '9'
        createdDate:
          type: string
          example: '2021-01-01T00:00:00Z'
        description:
          type: string
          example: Item A
        dimension1:
          type: string
          example: Marketing
        dimension2:
          type: string
          example: Service and Maintenance
        dimensions:
          type: array
          items:
            $ref: '#/components/schemas/DimensionCommonDto'
        discountAmount:
          description: Discount applied to the line item, in the document currency.
          type: number
          example: 100
        discountAmount2:
          type: number
          example: 50
        discountPercentage:
          type: number
          example: 20
        discountPercentage2:
          type: number
          example: 10
        taxCode:
          type: string
          example: '02'
        taxRatePercentage:
          type: number
          example: 19
        totalGrossAmount:
          description: Gross amount of the line item — net plus tax (including VAT).
          type: number
          example: 500
        totalNetAmount:
          description: Net amount of the line item — before tax (excluding VAT).
          type: number
          example: 450
        type:
          type: string
          enum:
            - GOODS
            - SERVICES
          example: SERVICES
        updatedDate:
          type: string
          example: '2021-01-01T00:00:00Z'
    DimensionCommonDto:
      type: object
      properties:
        id:
          type: string
          example: eaa28f49-6028-4b6e-bb12-d8f6278073fc
        code:
          type: string
          example: CS1
        dimension:
          type: string
          example: CostCenter
        name:
          type: string
          example: Jerde, Greenfelder and Jacobi
    PaginationResponse:
      type: object
      properties:
        total:
          type: number
          example: 125
        perPage:
          type: number
          example: 50
        currentPage:
          type: number
          example: 1
        totalPages:
          type: number
          example: 3

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.