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

# Update expense

> Do you want to update an expense using the standardized fields, use this endpoint.



## OpenAPI

````yaml openapi/findity-expense-api.json PUT /expenses/{expenseId}
openapi: 3.0.3
info:
  title: Findity Expense API
  description: Findity Expense API
  version: 1.0.0
servers:
  - url: https://stage-api.findity.com/api/v1/expense
  - url: https://api.findity.com/api/v1/expense
security:
  - bearerAuth: []
paths:
  /expenses/{expenseId}:
    put:
      tags:
        - Expenses
      summary: Update expense
      description: >-
        Do you want to update an expense using the standardized fields, use this
        endpoint.
      operationId: updateExpense
      parameters:
        - $ref: '#/components/parameters/expenseId'
        - $ref: '#/components/parameters/forceSave'
        - $ref: '#/components/parameters/expenseAction'
        - $ref: '#/components/parameters/expenseMergeWith'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExpenseRecord'
            examples:
              Receipt verification:
                value:
                  receiptVerification:
                    value:
                      id: 8327fe55c20a4b07bd40ac08e773ba5c
                      version: 2
                      organizationId: ff80818196390109019639014c14004b
                      categoryId: e1bb2ae57f604adfa8193a2c5da010d9
                      verification:
                        comment: verification-comment
                        type: ReceiptVerification
                        amount: 230
                        taxAmount: 23
                        tip: 10
                        exchangeRate: 1
                        currency: SEK
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089,
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        description: verification-description
                        purchaseDate: '2023-03-21T10:58:14Z'
                        storeName: The store
                        verificationNumber: verification-number
                        paymentTypeId: a7384ac0d3dc45bf9d15f8de343cf612
                        receiptAttachment:
                          id: 08d6f126078e49509e8d7857b3a19472
                  receiptVerification with representation including guest list:
                    value:
                      organizationId: ff80818196390109019639014c14004b
                      personId: ff80818196390109019639014a560022
                      reimbursementCurrency: SEK
                      categoryId: e1bb2ae57f604adfa8193a2c5da010d9
                      status: NORMAL
                      expenseDate: '2025-04-15T10:31:48Z'
                      verification:
                        comment: verification-comment
                        type: ReceiptVerification
                        amount: 230
                        taxAmount: 23
                        tip: 10
                        exchangeRate: 1
                        currency: SEK
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089,
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        description: verification-description
                        purchaseDate: '2023-03-21T10:58:14Z'
                        storeName: The store
                        verificationNumber: verification-number
                        paymentTypeId: a7384ac0d3dc45bf9d15f8de343cf612
                        receiptAttachment:
                          id: 08d6f126078e49509e8d7857b3a19472
                        representation:
                          type: LUNCH
                          includesLiquor: false
                          guests: null
                          guestListAttached: true
                          guestListAttachment:
                            id: 73e3aa129fbc46348d60f1f6338346a8
                          numberOfGuests: 3
                          numberOfExternalGuests: 5
                          tip: 10
                          place: Name of place
                  receiptVerification with representation including attached guests:
                    value:
                      organizationId: ff80818196390109019639014c14004b
                      personId: ff80818196390109019639014a560022
                      reimbursementCurrency: SEK
                      categoryId: e1bb2ae57f604adfa8193a2c5da010d9
                      status: NORMAL
                      expenseDate: '2025-04-15T10:31:48Z'
                      verification:
                        comment: verification-comment
                        type: ReceiptVerification
                        amount: 230
                        taxAmount: 23
                        tip: 10
                        exchangeRate: 1
                        currency: SEK
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089,
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        description: verification-description
                        purchaseDate: '2023-03-21T10:58:14Z'
                        storeName: The store
                        verificationNumber: verification-number
                        paymentTypeId: a7384ac0d3dc45bf9d15f8de343cf612
                        receiptAttachment:
                          id: 08d6f126078e49509e8d7857b3a19472
                        representation:
                          type: LUNCH
                          includesLiquor: false
                          guests:
                            - name: Person 1
                              company: Company A
                            - name: Person 2
                              company: Company B
                          guestListAttached: false
                          guestListAttachment: null
                          numberOfGuests: 2
                          numberOfExternalGuests: 5
                          tip: 10
                          place: Name of place
              Car specification:
                value:
                  carSpecification:
                    value:
                      organizationId: ff808181963979e20196397a2098004b
                      categoryId: b2d50112c6fa4411b75208c23c21b323
                      verification:
                        roundTrip: false
                        distanceUnit: KM
                        passengers: []
                        tollCostFuelType: HYDROGEN
                        distance: 30
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        destination: Ludvika - Sveg
                        description: Trip to Sveg
                        type: CarSpecification
                        carType: PRIVATE_CAR
                        travelDate: '2023-01-31T23:00:00Z'
                        manualDistance: false
                        route:
                          - latitude: '60.1523510'
                            place: Ludvika
                            longitude: '15.1919879'
                          - latitude: '62.032414'
                            place: Sveg
                            longitude: '14.362146'
                        tripDetails:
                          distanceOnGravel: 1
                          tollCost: 10
                          distanceWithTrailer: 3
                          distanceWithCaravan: 4
                          carRegistrationNumber: AB12345
                          distanceInTransport: 5
                          distanceWithHeavyCaravan: 6
                          distanceWithDog: 7
                          numberOfPassengers: 2
                  carSpecification with specified passengers:
                    value:
                      organizationId: ff808181963979e20196397a2098004b
                      categoryId: b2d50112c6fa4411b75208c23c21b323
                      verification:
                        roundTrip: false
                        distanceUnit: KM
                        passengers:
                          - name: Albert,
                            distance: 1
                          - name: Herbert,
                            distance: 2
                          - name: Kyle,
                            distance: 3
                          - name: Stephen,
                            distance: 4
                        tollCostFuelType: HYDROGEN
                        distance: 30
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        destination: Ludvika - Sveg
                        description: Trip to Sveg
                        type: CarSpecification
                        carType: PRIVATE_CAR
                        travelDate: '2023-01-31T23:00:00Z'
                        manualDistance: false
                        route:
                          - latitude: '60.1523510'
                            place: Ludvika
                            longitude: '15.1919879'
                          - latitude: '62.032414'
                            place: Sveg
                            longitude: '14.362146'
                        tripDetails:
                          distanceOnGravel: 1
                          tollCost: 10
                          distanceWithTrailer: 3
                          distanceWithCaravan: 4
                          carRegistrationNumber: AB12345
                          distanceInTransport: 5
                          distanceWithHeavyCaravan: 6
                          distanceWithDog: 7
                          numberOfPassengers: 2
                  carSpecificication with two via points in route:
                    value:
                      organizationId: ff808181963979e20196397a2098004b
                      categoryId: b2d50112c6fa4411b75208c23c21b323
                      verification:
                        roundTrip: false
                        distanceUnit: KM
                        passengers: []
                        tollCostFuelType: HYDROGEN
                        distance: 30
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        destination: Ludvika - Sveg
                        description: Trip to Sveg
                        type: CarSpecification
                        carType: PRIVATE_CAR
                        travelDate: '2023-01-31T23:00:00Z'
                        manualDistance: false
                        route:
                          - latitude: '60.1523510'
                            place: Ludvika
                            longitude: '15.1919879'
                          - place: Falun
                            latitude: '60.609036'
                            longitude: '15.629638'
                          - place: Borlänge
                            latitude: '60.489796'
                            longitude: '15.434664'
                          - latitude: '62.032414'
                            place: Sveg
                            longitude: '14.362146'
                        tripDetails:
                          distanceOnGravel: 1
                          tollCost: 10
                          distanceWithTrailer: 3
                          distanceWithCaravan: 4
                          carRegistrationNumber: AB12345
                          distanceInTransport: 5
                          distanceWithHeavyCaravan: 6
                          distanceWithDog: 7
                          numberOfPassengers: 2
                  carSpecification with related fleet Management trip ids:
                    value:
                      organizationId: ff808181963979e20196397a2098004b
                      categoryId: b2d50112c6fa4411b75208c23c21b323
                      verification:
                        roundTrip: false
                        distanceUnit: KM
                        passengers: []
                        tollCostFuelType: HYDROGEN
                        distance: 30
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        destination: Ludvika - Sveg
                        description: Trip to Sveg
                        type: CarSpecification
                        carType: PRIVATE_CAR
                        travelDate: '2023-01-31T23:00:00Z'
                        manualDistance: false
                        route:
                          - latitude: '60.1523510'
                            place: Ludvika
                            longitude: '15.1919879'
                          - latitude: '62.032414'
                            place: Sveg
                            longitude: '14.362146'
                        tripDetails:
                          distanceOnGravel: 1
                          tollCost: 10
                          distanceWithTrailer: 3
                          distanceWithCaravan: 4
                          carRegistrationNumber: AB12345
                          distanceInTransport: 5
                          distanceWithHeavyCaravan: 6
                          distanceWithDog: 7
                          numberOfPassengers: 2
                        relatedTrips:
                          - fleetManagementTripId: 1
                          - fleetManagementTripId: 2
                  carSpecification with toll cost data:
                    value:
                      organizationId: ff808181963979e20196397a2098004b
                      categoryId: b2d50112c6fa4411b75208c23c21b323
                      verification:
                        roundTrip: false
                        distanceUnit: KM
                        passengers: []
                        tollCostFuelType: HYDROGEN
                        distance: 30
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089,
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
                        destination: Ludvika - Sveg
                        description: Trip to Sveg
                        type: CarSpecification
                        carType: PRIVATE_CAR
                        travelDate: '2023-01-31T23:00:00Z'
                        manualDistance: false
                        route:
                          - latitude: '60.1523510'
                            place: Ludvika
                            longitude: '15.1919879'
                          - latitude: '62.032414'
                            place: Sveg
                            longitude: '14.362146'
                        tripDetails:
                          distanceOnGravel: 1
                          tollCost: 10
                          distanceWithTrailer: 3
                          distanceWithCaravan: 4
                          carRegistrationNumber: AB12345
                          distanceInTransport: 5
                          distanceWithHeavyCaravan: 6
                          distanceWithDog: 7
                          numberOfPassengers: 2
                        tollCostData:
                          price: 100
                          returnPrice: 200
                          type: bompeng
              Subsistence Allowance/Per Diem:
                value:
                  id: 083c9102d158460482fd4e9806e69623
                  status: NORMAL
                  processStatus: DRAFT
                  meta:
                    categoryIconUrl: >-
                      http://companyexpense.local:8765/api/resources/8ab28c5088104f7401881e96b87e02e0
                    person:
                      firstName: Fadila
                      lastName: User1
                      email: fadila.zilic+user1@findity.com
                    abbreviation:
                      iconUrl: >-
                        http://companyexpense.local:8765/api/resources/8ab28c5088104f7401881e96b87e02e0
                      dateDescription: 01 May 2024
                      sortDescription: 08 May 2024
                      userDescription: 2 Days - Domesticated
                      expenseDescription: Domestic SE
                      reimbursementDescription: SEK 304.00
                      expenseType: SubsistenceAllowance
                      expenseTypeDescription: Per diem
                      alert: 'false'
                  personId: 8ab28c4e8bccfb81018bcd8b8fc6018e
                  dateCreated: '2024-05-07T13:59:01Z'
                  lastUpdated: '2024-05-08T07:25:36Z'
                  organizationId: 8ab28c4e8db29412018dbc4d740f04f3
                  categoryId: 2227e3cff2ea431aaed7d4299c29b4b2
                  verification:
                    id: 180518a2c46044b2b7ecefdad40dbe01
                    type: SubsistenceAllowance
                    customFields:
                      - fieldDefinitionId: 24e2786b7b854cebbd6a73b8b79d98fe
                        value: Text, text, text
                      - fieldDefinitionId: bae8e73c047145c5b969c2a8c4c3fede
                        value: S1
                      - fieldDefinitionId: ca420d544e064e96abe946933816d17a
                        value: L1
                      - fieldDefinitionId: f49ec2adf20c49af84748318b8a8600e
                        value: Domestic
                    description: Domesticated
                    specifications:
                      - id: 61158c06b6a54fd389bf1988f2304ad6
                        destinationId: 2b9fbaa2630511e18824b0dd45bff075
                        date1: 2024-05-01 15:58
                        date1enabled: 'true'
                        date2enabled: 'false'
                      - id: 9fcfe50caed0433e9a7723944dcd9d94
                        destinationId: 2b9fbaa2630511e18824b0dd45bff075
                        date2: 2024-05-02 17:58
                        date1enabled: 'false'
                        date2enabled: 'true'
                    deductions:
                      - id: 2c23e9c83d7e455c82e7c5028d7bf0ef
                        date: '2024-05-01T00:00:00Z'
                        isMealCompensation: 'false'
                        accommodation: 'false'
                        deductionTypeBreakfast: PAID_YOURSELF
                        deductionTypeLunch: FOOD_IN_REPRESENTATION
                        deductionTypeDinner: FOOD_BENEFITS
                      - id: ec80f7580bd64f71a69cb46597cdc17f
                        date: '2024-05-02T00:00:00Z'
                        isMealCompensation: 'false'
                        accommodation: 'false'
                        deductionTypeBreakfast: BREAKFAST_IN_HOTEL
                        deductionTypeLunch: FOOD_IN_TICKET
                        deductionTypeDinner: PAID_YOURSELF
                  reimbursement: '304'
                  reimbursementCurrency: SEK
              Food benefits specification:
                value:
                  FoodBenefitsSpecification:
                    value:
                      id: 8327fe55c20a4b07bd40ac08e773ba5c
                      organizationId: c221f4a1e10e4bd5aff6f21518e4705f
                      categoryId: e1bb2ae57f604adfa8193a2c5da010d9
                      verification:
                        type: FoodBenefitsSpecification
                        description: my fancy pancy food
                        validDate: '2025-04-16T06:58:59Z'
                        breakfast: true
                        lunch: true
                        dinner: true
                        customFields:
                          - fieldDefinitionId: 2b965c866b634698811dabf45a491089,
                            value: true
                          - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                            value: string
                          - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                            value: 10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExpenseRecord'
              examples:
                Receipt verification:
                  value:
                    receiptVerification:
                      value:
                        organizationId: ff808181963de13701963de1789d00ad
                        version: 2
                        lastUpdated: '2025-04-16T09:15:09Z'
                        dateCreated: '2025-04-16T09:15:09Z'
                        processStatus: DRAFT
                        status: NORMAL
                        expenseDate: '2023-03-21T10:58:14Z'
                        personId: ff808181963de13701963de177e00083
                        id: 5ca0dfa6def943eab46d240d3680c323
                        reimbursementCurrency: SEK
                        categoryId: 9ed4618ae74e4f17b69005f699c104f3
                        verification:
                          amount: 230
                          purchaseDate: '2023-03-21T10:58:14Z'
                          attachments:
                            - name: attachments2
                              isTemporary: false
                              id: ff808181963e296501963e29ac6d00be
                              contentType: image/jpeg
                            - name: attachments1
                              isTemporary: false
                              id: ff808181963e296501963e29ac5e00bc
                              contentType: image/jpeg
                          customFields:
                            - fieldDefinitionId: 2b965c866b634698811dabf45a491089,
                              value: true
                            - fieldDefinitionId: 59ljgfau904t3qio3aw90up34gj9iog4,
                              value: string
                            - fieldDefinitionId: 904t3qio3aw90up34gj9iog45a491089,
                              value: 10
                          description: verification-description
                          type: ReceiptVerification
                          lastUpdated: '2025-04-16T09:15:09Z'
                          dateCreated: '2025-04-16T09:15:09Z'
                          paymentTypeId: ed0d98d4e3834714bbca45f889d4584b
                          exchangeRate: 1
                          verificationNumber: verification-number
                          comment: verification-comment
                          currency: SEK
                          taxAmount: 23
                          receiptAttachment:
                            name: file-name607803656
                            personId: ff808181963de13701963de177e00083
                            isTemporary: false
                            id: ff808181963de13701963de179b900b9
                            contentType: image/png
                    receiptVerification with representation including guest list:
                      value:
                        organizationId: ff808181963e1df601963e2657bf01ec
                        lastUpdated: '2025-04-16T10:30:22Z'
                        dateCreated: '2025-04-16T10:30:22Z'
                        processStatus: DRAFT
                        personId: ff808181963e1df601963e26577201c2
                        id: 043c3ef85bea4e118adabbba4c3d16bf
                        reimbursementCurrency: SEK
                        categoryId: e59971ac44b54f2480d449b0d84caee2
                        status: NORMAL
                        expenseDate: '2023-03-21T10:58:14Z'
                        verification:
                          amount: 230
                          purchaseDate: '2023-03-21T10:58:14Z'
                          attachments:
                            - name: attachments2
                              isTemporary: false
                              id: ff808181963e296501963e29ac6d00be
                              contentType: image/jpeg
                            - name: attachments1
                              isTemporary: false
                              id: ff808181963e296501963e29ac5e00bc
                              contentType: image/jpeg
                          customFields:
                            - fieldDefinitionId: 2b965c866b634698811dabf45a491089,
                              value: true
                          description: verification-description
                          type: ReceiptVerification
                          lastUpdated: '2025-04-16T10:30:22Z'
                          dateCreated: '2025-04-16T10:30:22Z'
                          paymentTypeId: 253b87a3555a4c9bb288338131d2d83b
                          exchangeRate: 1
                          verificationNumber: verification-number
                          comment: verification-comment
                          currency: SEK
                          taxAmount: 23
                          receiptAttachment:
                            name: file-name1011137852
                            personId: ff808181963e1df601963e26577201c2
                            isTemporary: false
                            id: ff808181963e1df601963e26582601f8
                            contentType: image/png
                          representation:
                            includesLiquor: false
                            numberOfExternalGuests: 1
                            guests: []
                            numberOfGuests: 1
                            type: LUNCH
                            guestListAttached: true
                            guestListAttachment:
                              name: file-name386996737
                              personId: ff808181963e1df601963e26577201c2
                              isTemporary: false
                              id: ff808181963e1df601963e26583101f9
                              contentType: application/pdf
                    receiptVerification with representation including attached guests:
                      value:
                        organizationId: ff808181963e1df601963e1f931f014b
                        lastUpdated: '2025-04-16T10:22:59Z'
                        dateCreated: '2025-04-16T10:22:59Z'
                        processStatus: DRAFT
                        personId: ff808181963e1df601963e1f92d30121
                        id: 7c50f82edb7747bdb84f038e535f1e7d
                        reimbursementCurrency: SEK
                        categoryId: ebde877306a94f66a9b0695c7c48a43d
                        status: NORMAL
                        expenseDate: '2023-03-21T10:58:14Z'
                        verification:
                          amount: 230
                          purchaseDate: '2023-03-21T10:58:14Z'
                          attachments:
                            - name: attachments2
                              isTemporary: false
                              id: ff808181963e296501963e29ac6d00be
                              contentType: image/jpeg
                            - name: attachments1
                              isTemporary: false
                              id: ff808181963e296501963e29ac5e00bc
                              contentType: image/jpeg
                          customFields:
                            - fieldDefinitionId: 058d2a973694413db017b9e340f15d2d
                              value: '2023-01-01T01:00:00Z'
                          description: verification-description
                          type: ReceiptVerification
                          lastUpdated: '2025-04-16T10:22:59Z'
                          dateCreated: '2025-04-16T10:22:59Z'
                          paymentTypeId: 1f4d4253c7c740c7ae055d840d25392a
                          exchangeRate: 1
                          verificationNumber: verification-number
                          comment: verification-comment
                          currency: SEK
                          taxAmount: 23
                          receiptAttachment:
                            name: file-name985238297
                            personId: ff808181963e1df601963e1f92d30121
                            isTemporary: false
                            id: ff808181963e1df601963e1f93810157
                            contentType: image/png
                          representation:
                            includesLiquor: false
                            numberOfExternalGuests: 1
                            type: LUNCH
                            guestListAttached: false
                            guests:
                              - name: Person 1
                                company: Company A
                              - name: Person 2
                                company: Company B
                Car specification:
                  value:
                    carSpecification:
                      value:
                        organizationId: ff808181963e39cc01963e3a14250058
                        lastUpdated: '2025-04-16T10:52:48Z'
                        dateCreated: '2025-04-16T10:52:48Z'
                        processStatus: DRAFT
                        personId: ff808181963e39cc01963e3a119f002d
                        id: 67c18882083149599859054bcebb4ca0
                        reimbursementCurrency: SEK
                        categoryId: ec15a0b27286484e8e211447ecbe7fe8
                        status: NORMAL
                        expenseDate: '2023-09-13T11:46:27Z'
                        verification:
                          carType: PRIVATE_CAR
                          travelDate: '2023-09-13T11:46:27Z'
                          manualDistance: false
                          id: 729b4232c8ae4b6b83536195d9941f95
                          roundTrip: false
                          distanceUnit: KM
                          passengers: []
                          distance: 218
                          customFields: []
                          destination: Ludvika, Sverige - Stockholm, Sverige
                          description: Trip to Stockholm
                          type: CarSpecification
                          route:
                            - latitude: '60.1523510'
                              place: Ludvika, Sverige
                              longitude: '15.1919879'
                            - latitude: '59.3293481'
                              place: Stockholm, Sverige
                              longitude: '18.0682306'
                          tripDetails:
                            distanceOnGravel: 2
                            tollCost: 8
                            distanceWithTrailer: 4
                            distanceWithCaravan: 5
                            distanceInTransport: 1
                            distanceWithHeavyCaravan: 6
                            distanceWithDog: 7
                            numberOfPassengers: 3
                    carSpecification with specified passengers:
                      value:
                        organizationId: ff808181963e3f9e01963e44171a0097
                        lastUpdated: '2025-04-16T11:02:52Z'
                        dateCreated: '2025-04-16T11:02:52Z'
                        processStatus: DRAFT
                        personId: ff808181963e3f9e01963e44168a006c
                        id: 3cf0cfc4788e48c8b4ce299b82067734
                        reimbursementCurrency: SEK
                        categoryId: 738a68711bc64a8192970833770a19ba
                        status: NORMAL
                        expenseDate: '2023-09-13T11:46:27Z'
                        verification:
                          roundTrip: false
                          distanceUnit: KM
                          distance: 218
                          customFields: []
                          destination: Ludvika, Sverige - Stockholm, Sverige
                          description: Trip to Stockholm
                          type: CarSpecification
                          carType: PRIVATE_CAR
                          travelDate: '2023-09-13T11:46:27Z'
                          manualDistance: false
                          id: 9731f3e27a35456aa57c08b9893fed72
                          passengers:
                            - distance: 1
                              name: Albert
                            - distance: 2
                              name: Herbert
                            - distance: 3
                              name: Kyle
                            - distance: 4
                              name: Stephen
                          tripDetails:
                            distanceOnGravel: 2
                            tollCost: 8
                            distanceWithTrailer: 4
                            distanceWithCaravan: 5
                            distanceInTransport: 1
                            distanceWithHeavyCaravan: 6
                            distanceWithDog: 7
                            numberOfPassengers: 4
                          route:
                            - latitude: '60.1523510'
                              place: Ludvika, Sverige
                              longitude: '15.1919879'
                            - latitude: '59.3293481'
                              place: Stockholm, Sverige
                              longitude: '18.0682306'
                    carSpecificication with two via points in route:
                      value:
                        organizationId: ff808181963e39cc01963e3c2b160097
                        lastUpdated: '2025-04-16T10:54:13Z'
                        dateCreated: '2025-04-16T10:54:13Z'
                        processStatus: DRAFT
                        personId: ff808181963e39cc01963e3c2a60006c
                        id: 9a02ca26160a4dc4aeaab94393d2c6b2
                        reimbursementCurrency: SEK
                        categoryId: b2da3f3b1d96474da014e52b4681c095
                        status: NORMAL
                        expenseDate: '2023-09-13T11:46:27Z'
                        verification:
                          carType: PRIVATE_CAR
                          travelDate: '2023-09-13T11:46:27Z'
                          manualDistance: false
                          id: e9ce2d1f8dd94439afe52cc56598e226
                          roundTrip: false
                          distanceUnit: KM
                          passengers: []
                          distance: 218
                          customFields: []
                          destination: >-
                            Ludvika, Sverige - Falun - Borlänge - Stockholm,
                            Sverige
                          description: Trip to Stockholm
                          type: CarSpecification
                          route:
                            - latitude: '60.1523510'
                              place: Ludvika, Sverige
                              longitude: '15.1919879'
                            - latitude: '60.609036'
                              place: Falun
                              longitude: '15.629638'
                            - latitude: '60.489796'
                              place: Borlänge
                              longitude: '15.434664'
                            - latitude: '59.3293481'
                              place: Stockholm, Sverige
                              longitude: '18.0682306'
                          tripDetails:
                            distanceOnGravel: 2
                            tollCost: 8
                            distanceWithTrailer: 4
                            distanceWithCaravan: 5
                            distanceInTransport: 1
                            distanceWithHeavyCaravan: 6
                            distanceWithDog: 7
                            numberOfPassengers: 3
                    carSpecification with related fleet Management trip ids:
                      value:
                        organizationId: ff808181963e39cc01963e3d7e2800d6
                        lastUpdated: '2025-04-16T10:55:39Z'
                        dateCreated: '2025-04-16T10:55:39Z'
                        processStatus: DRAFT
                        personId: ff808181963e39cc01963e3d7dcd00ab
                        id: c52b9574c3cb449dad73426239595b4e
                        reimbursementCurrency: SEK
                        categoryId: 36339feeacf240ea9ff6246196377d2e
                        status: NORMAL
                        expenseDate: '2023-09-13T11:46:27Z'
                        verification:
                          travelDate: '2023-09-13T11:46:27Z'
                          manualDistance: false
                          id: d8a8f61fda724003a0ca787a0601fdf1
                          roundTrip: false
                          distanceUnit: KM
                          passengers: []
                          distance: 218
                          customFields: []
                          destination: Ludvika, Sverige - Stockholm, Sverige
                          description: Trip to Stockholm
                          type: CarSpecification
                          route:
                            - latitude: '60.1523510'
                              place: Ludvika, Sverige
                              longitude: '15.1919879'
                            - latitude: '59.3293481'
                              place: Stockholm, Sverige
                              longitude: '18.0682306'
                          carType: PRIVATE_CAR
                          relatedTrips:
                            - fleetManagementTripId: '1'
                            - fleetManagementTripId: '2'
                          tripDetails:
                            distanceOnGravel: 2
                            tollCost: 8
                            distanceWithTrailer: 4
                            distanceWithCaravan: 5
                            distanceInTransport: 1
                            distanceWithHeavyCaravan: 6
                            distanceWithDog: 7
                            numberOfPassengers: 3
                    carSpecification with toll cost data:
                      value:
                        organizationId: ff808181963e3f9e01963e3fde980058
                        lastUpdated: '2025-04-16T10:58:16Z'
                        dateCreated: '2025-04-16T10:58:16Z'
                        processStatus: DRAFT
                        personId: ff808181963e3f9e01963e3fdcaf002d
                        id: 3ef21fc73036472abe2035f8ea88a5ad
                        reimbursementCurrency: SEK
                        categoryId: bfb827510c7041c1a08a820721e7a934
                        status: NORMAL
                        expenseDate: '2023-09-13T11:46:27Z'
                        verification:
                          id: 16df71386a5f4652a02509d1a83d1081
                          roundTrip: false
                          distanceUnit: KM
                          passengers: []
                          tollCostFuelType: HYBRID
                          distance: 218
                          customFields: []
                          destination: Ludvika, Sverige - Stockholm, Sverige
                          description: Trip to Stockholm
                          type: CarSpecification
                          carType: PRIVATE_CAR
                          travelDate: '2023-09-13T11:46:27Z'
                          manualDistance: false
                          route:
                            - latitude: '60.1523510'
                              place: Ludvika, Sverige
                              longitude: '15.1919879'
                            - latitude: '59.3293481'
                              place: Stockholm, Sverige
                              longitude: '18.0682306'
                          tollCostData:
                            price: 100
                            returnPrice: 200
                            type: bompeng
                          tripDetails:
                            distanceOnGravel: 2
                            tollCost: 8
                            distanceWithTrailer: 4
                            distanceWithCaravan: 5
                            distanceInTransport: 1
                            distanceWithHeavyCaravan: 6
                            distanceWithDog: 7
                            numberOfPassengers: 3
                Food benefits specification:
                  value:
                    FoodBenefitsSpecification:
                      value:
                        organizationId: ff808181963e4c0201963e4c467400a7
                        lastUpdated: '2025-04-16T11:11:58Z'
                        dateCreated: '2025-04-16T11:11:58Z'
                        processStatus: DRAFT
                        personId: ff808181963e4c0201963e4c45be007d
                        id: 40c4e461fca947beb70822be9346bffa
                        reimbursementCurrency: SEK
                        status: NORMAL
                        expenseDate: '2025-04-16T11:11:48Z'
                        verification:
                          lastUpdated: '2025-04-16T11:11:58Z'
                          lunch: true
                          dateCreated: '2025-04-16T11:11:58Z'
                          validDate: '2025-04-16T11:11:48Z'
                          description: my fancy pancy description
                          id: 163c78165abf45eab3d52a65b9113e6f
                          type: FoodBenefitsSpecification
                          breakfast: true
                          dinner: true
        '400':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400Error'
              examples:
                invalid json body:
                  value:
                    result: error
                    code: INVALID_JSON_BODY
                    description: Failed to parse json body
                not allowed when expense record for requested id does not exists:
                  value:
                    result: error
                    description: Not allowed
                unknown properties:
                  value:
                    result: error
                    code: NO_KNOWN_JSON_PROPERTIES
                    description: No known, or only read-only properties received
                invalid expense record id:
                  value:
                    result: error
                    code: INVALID_ID
                    description: >-
                      Expense record id in json was different from the id passed
                      in url
                not owner attachment:
                  value:
                    result: error
                    code: NOT_OWNER
                    description: >-
                      Person '1d39fd4131304667a644ab8e06782a90' not owner of
                      receipt attachment '9f30468cc64d42928a39750c21a77768'
                invalid guest list:
                  value:
                    result: error
                    code: INVALID_GUEST_LIST
                    description: 'Invalid value: ''null'' for field: ''name'''
                missing representation type:
                  value:
                    result: error
                    code: REPRESENTATION_MISSING_TYPE
                    description: Representation missing type, type was set to 'SNACKS'
                invalid verification type:
                  value:
                    result: error
                    code: INVALID_JSON_PROPERTY_VALUE
                    description: >-
                      Missing or invalid type on verification, type was
                      'WrongType'
                invalid custom field:
                  value:
                    result: error
                    code: INVALID_ID
                    description: >-
                      Invalid custom field definition id, was
                      'd2678c6e51a34a8f8a7d1470006e0667'
                send/merge - body not allowed:
                  value:
                    result: error
                    code: BODY_NOT_ALLOWED
                    description: No request body allowed when sending/merging expense
                action=merge - missing mergeWith parameter:
                  value:
                    result: error
                    code: MISSING_PARAMETER
                    data:
                      '0': mergeWith
                    description: 'Missing parameter: mergeWith'
                action=merge - card tranasction for request id is missing:
                  value:
                    result: error
                    code: CARD_TRANSACTION_NOT_FOUND
                    description: Card transaction missing
                action=merge - mergeWith expense record is connected with card transaction:
                  value:
                    result: error
                    description: Merge of expense records failed
                    validationErrors:
                      - checkType: ERROR
                        errorText: >-
                          validationError.NOT_ALLOWED_MERGE_TO_CONNECTED_TO_CARD_TRANSACTION
                          [b55d69366d5d4ee0bfd22f11f85b829a]
                        error: NOT_ALLOWED_MERGE_TO_CONNECTED_TO_CARD_TRANSACTION
                        expenseRecordId: b55d69366d5d4ee0bfd22f11f85b829a
                action=merge - mergeWith expense record is connected with expense report:
                  value:
                    result: error
                    description: Merge of expense records failed
                    validationErrors:
                      - checkType: ERROR
                        errorText: >-
                          validationError.NOT_ALLOWED_MERGE_TO_EXISTS_IN_REPORT
                          [01a910a4dab747c8b4769a593d9daa1a]
                        error: NOT_ALLOWED_MERGE_TO_EXISTS_IN_REPORT
                        expenseRecordId: 01a910a4dab747c8b4769a593d9daa1a
                per diem category not available for user group:
                  description: >
                    Returned only when the organization uses employee groups,
                    the per diem category is restricted to an employee group
                    that the expense owner is not in, and the category is being
                    set or changed. Existing expenses keep working if the user's
                    group changes later.
                  value:
                    result: error
                    code: EMPLOYEE_GROUP_CATEGORY_NOT_AVAILABLE
                    description: >-
                      This per diem category is not available for your user
                      group.
        '403':
          description: Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403Error'
              example:
                result: error
                description: Not allowed
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/404Error'
              example:
                result: error
                code: EXPENSE_RECORD_NOT_FOUND
                description: Expense not found
        '409':
          description: >-
            Conflict — the expense was modified by someone else since the client
            last read it. Only returned when the caller submits `version` in the
            request body; see the `version` property on the request schema.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/409Error'
              example:
                result: error
                code: CONCURRENT_MODIFICATION
                description: Expense record has been modified since it was loaded
components:
  parameters:
    expenseId:
      in: path
      name: expenseId
      required: true
      description: The id of the expense to retrieve
      schema:
        $ref: '#/components/schemas/Uuid'
      example: da35f675f40e47bcae2fff3c43a94c73
    forceSave:
      in: query
      name: forceSave
      required: false
      description: >-
        When true, saves the report even if non-blocking validation warnings
        exist; validation errors still abort. Defaults to false.
      schema:
        type: boolean
    expenseAction:
      in: query
      name: action
      required: false
      description: No request body allowed when using action parameter
      schema:
        type: string
        enum:
          - send
          - merge
          - connectToOrganization
        description: >-
          send - will try to perform send in the specified expense, merge - will
          try to perform merge of data within the specified expenses,
          connectToOrganization - will connect an expense to an organization,
          used for multi organization users when connecting mailed in receipts.
    expenseMergeWith:
      in: query
      name: mergeWith
      required: false
      description: >-
        Parameter required to be used when action=merge is passed. This
        parameter represents the id of loose expense record that is not created
        based on card transaction, nor belongs to some expense report and it is
        in one of the statuses [NEW, NORMAL, APPROVAL, REJECTED]
      schema:
        $ref: '#/components/schemas/Uuid'
  schemas:
    ExpenseRecord:
      type: object
      description: ExpenseRecord format
      properties:
        id:
          type: string
          readOnly: true
        status:
          type: string
          enum:
            - NEW
            - NORMAL
            - APPROVAL
            - APPROVED
            - REJECTED
          readOnly: true
        personId:
          $ref: '#/components/schemas/Uuid'
          readOnly: true
        dateCreated:
          type: string
          readOnly: true
        lastUpdated:
          type: string
          readOnly: true
        version:
          type: integer
          format: int64
          description: >-
            Optimistic-lock counter, incremented on every update. On PUT, echo
            back the value from the last GET/PUT response to detect if the
            expense was changed by someone else since it was read; a mismatch
            returns 409. Optional; omit to skip this check.
        expenseDate:
          type: string
          readOnly: true
          description: >-
            Date that the user has selected for the expense. For receipt
            expenses it is purchase date. For mileages it is travel date and for
            per diems it is the first travel date.
        organizationId:
          $ref: '#/components/schemas/Uuid'
        categoryId:
          $ref: '#/components/schemas/Uuid'
        rejectComment:
          type: string
          readOnly: true
        reimbursement:
          type: number
          readOnly: true
        reimbursementCurrency:
          type: string
          readOnly: true
        meta:
          type: object
          readOnly: true
          properties:
            categoryIconUrl:
              type: string
              example: >-
                https://expense.findity.com/api/resources/8a5f867e9b204742a8cc2ca2b6c57358
            person:
              type: object
              properties:
                firstName:
                  type: string
                  example: Anna
                lastName:
                  type: string
                  example: Andersson
                email:
                  type: string
                  example: anna.andersson@example.com
            abbreviation:
              oneOf:
                - $ref: '#/components/schemas/ReceiptVerificationAbbreviation'
                - $ref: '#/components/schemas/CarSpecificationAbbreviation'
                - $ref: '#/components/schemas/SubsistenceAllowanceAbbreviation'
                - $ref: '#/components/schemas/FoodBenefitsSpecificationAbbreviation'
              discriminator:
                propertyName: expenseType
            capabilities:
              $ref: '#/components/schemas/Capabilities'
            cardTransaction:
              $ref: '#/components/schemas/CardTransactionMeta'
        verification:
          description: >-
            The expense-type-specific payload — receipt details, mileage
            details, per-diem details, or food-benefit details. Shape selected
            by the nested `type` discriminator.
          oneOf:
            - $ref: '#/components/schemas/ReceiptVerification'
            - $ref: '#/components/schemas/CarSpecification'
            - $ref: '#/components/schemas/SubsistenceAllowance'
            - $ref: '#/components/schemas/FoodBenefitsSpecification'
          discriminator:
            propertyName: type
        expenseReportId:
          $ref: '#/components/schemas/Uuid'
    400Error:
      type: object
      properties:
        result:
          type: string
        code:
          type: string
        description:
          type: string
    403Error:
      type: object
      properties:
        result:
          type: string
        description:
          type: string
    404Error:
      type: object
      properties:
        result:
          type: string
        code:
          type: string
        description:
          type: string
    409Error:
      type: object
      required:
        - result
        - code
        - description
      properties:
        result:
          type: string
        code:
          type: string
        description:
          type: string
    Uuid:
      type: string
      pattern: ^[0-9a-fA-F]{32}$
      description: UUID without dashes (32-character hex string)
    ReceiptVerificationAbbreviation:
      type: object
      properties:
        iconUrl:
          type: string
          example: >-
            https://expense.findity.com/api/resources/ba479b6fe32f4d5e87e6dda1e02e850b
        dateDescription:
          type: string
          example: June 2, 2023
          description: Date formatted according to users locale
        sortDescription:
          type: string
          example: June 1, 2023
          description: Description of the value used for sorting
        userDescription:
          type: string
          example: Pens and erasers
        expenseDescription:
          type: string
          example: Office supplies
          description: Description which contains the name of category
        reimbursementDescription:
          type: string
          example: 44.5 SEK
          description: >-
            Reimbursement amount and currency formatted according to users
            locale
        totalReimbursementDescription:
          type: string
          example: 44.5 SEK
          description: >-
            Total reimbursement amount and currency formatted according to users
            locale, only included if requesting meta.splits and the expense is
            the parent
        alert:
          type: boolean
          description: >-
            If the report is rejected or contains expenses that has validation
            errors
        isComplete:
          type: boolean
          description: >-
            If the expense is complete and ready to be sent, can contain
            warnings.
        expenseType:
          type: string
          example: ReceiptVerification
        expenseTypeDescription:
          type: string
          description: description of expenseType property translated to the users language
    CarSpecificationAbbreviation:
      type: object
      properties:
        iconUrl:
          type: string
          example: >-
            https://expense.findity.com/api/resources/ba479b6fe32f4d5e87e6dda1e02e850b
        dateDescription:
          type: string
          example: June 2, 2023
          description: Date formatted according to users locale
        sortDescription:
          type: string
          example: June 1, 2023
          description: Description of the value used for sorting
        userDescription:
          type: string
          example: Trip to Ludvika
        expenseDescription:
          type: string
          example: Mileage - 273.0 km
          description: Description which contains the name of category
        alert:
          type: boolean
          description: >-
            If the report is rejected or contains expenses that has validation
            errors
        isComplete:
          type: boolean
          description: >-
            If the expense is complete and ready to be sent, can contain
            warnings.
        expenseType:
          type: string
          example: CarSpecification
        expenseTypeDescription:
          type: string
          description: >-
            description of expenseType property translated in the specific
            language
    SubsistenceAllowanceAbbreviation:
      type: object
      properties:
        iconUrl:
          type: string
          example: >-
            https://expense.findity.com/api/resources/ba479b6fe32f4d5e87e6dda1e02e850b
        dateDescription:
          type: string
          example: June 2, 2023
          description: Date formatted according to users locale
        sortDescription:
          type: string
          example: June 1, 2023
          description: Description of the value used for sorting
        userDescription:
          type: string
          example: Trip to Stockholm
        expenseDescription:
          type: string
          example: Domestic Subsistence Allowance
          description: Description which contains the name of category
        alert:
          type: boolean
          description: >-
            If the report is rejected or contains expenses that has validation
            errors
        isComplete:
          type: boolean
          description: >-
            If the expense is complete and ready to be sent, can contain
            warnings.
        expenseType:
          type: string
          example: SubsistenceAllowance
        expenseTypeDescription:
          type: string
          description: description of expenseType property translated to the users language
    FoodBenefitsSpecificationAbbreviation:
      type: object
      properties:
        iconUrl:
          type: string
          example: >-
            https://expense.findity.com/api/resources/ba479b6fe32f4d5e87e6dda1e02e850b
        dateDescription:
          type: string
          example: June 2, 2023
          description: Date formatted according to users locale
        sortDescription:
          type: string
          example: June 1, 2023
          description: Description of the value used for sorting
        userDescription:
          type: string
          example: Food benefit
        expenseDescription:
          type: string
          example: Food Benefits Specification
          description: Description which contains the name of category
        alert:
          type: boolean
          description: >-
            If the report is rejected or contains expenses that has validation
            errors
        isComplete:
          type: boolean
          description: >-
            If the expense is complete and ready to be sent, can contain
            warnings.
        expenseType:
          type: string
          example: FoodBenefitsSpecification
        expenseTypeDescription:
          type: string
          description: description of expenseType property translated to the users language
    Capabilities:
      type: object
      properties:
        canBeAddedToReport:
          type: boolean
          description: Indicates if the expense record can be added to a report
          example: false
        canBeRemovedFromReport:
          type: boolean
          description: Indicates if the expense record can be removed from a report
          example: false
        canBeDeleted:
          type: boolean
          description: Indicates if the expense record can be deleted
          example: true
        canBeSentIn:
          type: boolean
          example: true
          description: true if the expense record can be sent in directly without report
        canBeSplit:
          type: boolean
          description: Indicates if the expense record can be split
          example: false
        canBeEdited:
          type: boolean
          description: Indicates if the expense record can be edited
          example: true
        canBeMerged:
          type: boolean
          description: >-
            Indicates if the expense record can be merged with another expense
            record. Will only be true for expense records that are based on card
            transaction, has not been split and is editable by end user.
          example: false
        canAddBreakfast:
          type: boolean
          description: >-
            ONLY PART OF FoodBenefitsSpecifications! Indicates if breakfast is
            available for meal benefits.
          example: false
        canAddLunch:
          type: boolean
          description: >-
            ONLY PART OF FoodBenefitsSpecifications! Indicates if lunch is
            available for meal benefits.
          example: false
        canAddDinner:
          type: boolean
          description: >-
            ONLY PART OF FoodBenefitsSpecifications! Indicates if dinner is
            available for meal benefits.
          example: false
    CardTransactionMeta:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
          example: 4a17f93476ce4bf2832236be26743853
        amount:
          type: number
          format: double
          example: 120
        name:
          type: string
          example: Bank name
        cardNumber:
          type: string
          example: xxxxxxxxxxxx1234
    ReceiptVerification:
      allOf:
        - $ref: '#/components/schemas/Voucher'
        - type: object
          properties:
            type:
              type: string
              enum:
                - ReceiptVerification
            amount:
              type: number
            taxAmount:
              type: number
            tip:
              type: number
              format: double
              minimum: 0
              description: >
                The tip amount for the receipt, expressed as a non-negative
                decimal number in the receipt's currency. This is the canonical
                location for tip. For backwards compatibility the value is also
                mirrored on the deprecated `representation.tip` property.
            exchangeRate:
              type: number
            currency:
              type: string
            description:
              type: string
            purchaseDate:
              type: string
              format: date-time
            dateCreated:
              type: string
            lastUpdated:
              type: string
            storeName:
              type: string
            verificationNumber:
              type: string
            paymentTypeId:
              type: string
            cardTransactionId:
              type: string
            eventType:
              type: string
              enum:
                - AUTHORIZATION_ACCEPTED
                - AUTHORIZATION_REJECTED
                - AUTHORIZATION_REVERSAL
                - CAPTURE
                - REFUND
            receiptAttachment:
              $ref: '#/components/schemas/Content'
            representation:
              $ref: '#/components/schemas/Representation'
            attachments:
              type: array
              items:
                $ref: '#/components/schemas/Content'
            customFields:
              $ref: '#/components/schemas/ArrayOfCustomFields'
            taxRates:
              $ref: '#/components/schemas/ArrayOfTaxRates'
    CarSpecification:
      allOf:
        - $ref: '#/components/schemas/BusinessTrip'
        - type: object
          properties:
            carType:
              $ref: '#/components/schemas/CarTypeEnum'
            destination:
              type: string
              readOnly: true
            manualDistance:
              type: boolean
            tripDetails:
              type: object
              properties:
                distanceInTransport:
                  type: number
                distanceOnGravel:
                  type: number
                numberOfPassengers:
                  type: integer
                distanceWithTrailer:
                  type: number
                distanceWithCaravan:
                  type: number
                distanceWithHeavyCaravan:
                  type: number
                distanceWithDog:
                  type: number
                tollCost:
                  type: number
            relatedTrips:
              type: array
              items:
                type: object
                properties:
                  fleetManagementTripId:
                    $ref: '#/components/schemas/Uuid'
            tollCostFuelType:
              type: string
              enum:
                - PETROL
                - DIESEL
                - ELECTRIC
                - HYBRID
                - HYDROGEN
            tollCostData:
              type: object
              properties:
                returnDiscountedPrice:
                  type: number
                discountedPrice:
                  type: number
                price:
                  type: number
                returnPrice:
                  type: number
            passengers:
              type: array
              items:
                $ref: '#/components/schemas/Passenger'
            attachments:
              type: array
              items:
                $ref: '#/components/schemas/Content'
    SubsistenceAllowance:
      allOf:
        - $ref: '#/components/schemas/Voucher'
        - type: object
          properties:
            type:
              type: string
              enum:
                - SubsistenceAllowance
            amount:
              type: number
            taxAmount:
              type: number
            tip:
              type: number
            exchangeRate:
              type: number
            currency:
              type: string
            description:
              type: string
            purchaseDate:
              type: string
              format: date-time
            dateCreated:
              type: string
            lastUpdated:
              type: string
            storeName:
              type: string
            verificationNumber:
              type: string
            paymentTypeId:
              type: string
            cardTransactionId:
              type: string
            eventType:
              type: string
              enum:
                - AUTHORIZATION_ACCEPTED
                - AUTHORIZATION_REJECTED
                - AUTHORIZATION_REVERSAL
                - CAPTURE
                - REFUND
            receiptAttachment:
              $ref: '#/components/schemas/Content'
            representation:
              $ref: '#/components/schemas/Representation'
            attachments:
              type: array
              items:
                $ref: '#/components/schemas/Content'
            customFields:
              $ref: '#/components/schemas/ArrayOfCustomFields'
    FoodBenefitsSpecification:
      allOf:
        - $ref: '#/components/schemas/Voucher'
        - type: object
          properties:
            type:
              type: string
              enum:
                - FoodBenefitsSpecification
            description:
              type: string
            breakfast:
              type: boolean
            lunch:
              type: boolean
            dinner:
              type: boolean
            customFields:
              $ref: '#/components/schemas/ArrayOfCustomFields'
    Voucher:
      allOf:
        - $ref: '#/components/schemas/Document'
        - type: object
          properties:
            reimbursement:
              type: number
            comment:
              type: string
    Content:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        personId:
          $ref: '#/components/schemas/Uuid'
        contentType:
          type: string
        isTemporary:
          type: boolean
        signatureType:
          type: string
          enum:
            - EU
        signatureUrl:
          type: string
        name:
          type: string
        description:
          type: string
        qrScan:
          type: string
          description: >-
            Decoded fiscal QR string as sent in the `qrScan` request header on
            POST. Omitted when the resource has no QR data attached. Currently
            populated for Portuguese receipts.
        scanResult:
          type: object
          readOnly: true
          properties:
            id:
              $ref: '#/components/schemas/Uuid'
            amount:
              type: number
              format: double
            taxAmount:
              type: number
              format: double
            currency:
              type: string
            purchaseDate:
              type: string
            categoryIds:
              type: array
              items:
                $ref: '#/components/schemas/Uuid'
            categoryId:
              $ref: '#/components/schemas/Uuid'
      example:
        id: 62bfaa54dc9341819cd6f4ff4ae39f44
        personId: 063ee3c7fa4b4728b418097299447f9d
        contentType: application/pdf
        isTemporary: true
        signatureType: null
        signatureUrl: null
        name: receipt-photo.jpg
        description: Receipt photo
        qrScan: >-
          A:514482621*B:501878076*C:PT*D:FR*E:N*F:20260508*G:111
          26A/154*H:J6Z9V4MR-154*I1:PT-MA*I7:68.50*I8:15.76*N:15.76*O:84.26*Q:T4Fn*R:116
        scanResult:
          id: a185160800524ac68cbf0a18ad59649b
          amount: 135
          taxAmount: 23
          currency: SEK
          purchaseDate: '2023-04-20'
          categoryIds:
            - 575ba2572de74f38b947a07df93a2909
            - 350dadb020694421aebc1d9473fa64a9
          categoryId: 575ba2572de74f38b947a07df93a2909
    Representation:
      type: object
      properties:
        type:
          type: string
        guestListAttached:
          type: boolean
          default: false
        includesLiquor:
          type: boolean
          default: false
        numberOfGuests:
          type: integer
        numberOfExternalGuests:
          type: integer
        place:
          type: string
        tip:
          type: number
          format: double
          minimum: 0
          deprecated: true
          description: >
            Deprecated. Tip is now a root receipt verification property (`tip`).
            A non-negative decimal number in the receipt's currency. This
            property is kept for backwards compatibility and mirrors the root
            value.
        guestListAttachment:
          $ref: '#/components/schemas/Content'
        guests:
          type: array
          items:
            $ref: '#/components/schemas/Guest'
    ArrayOfCustomFields:
      type: array
      items:
        type: object
        properties:
          fieldDefinitionId:
            $ref: '#/components/schemas/Uuid'
          value:
            $ref: '#/components/schemas/AnyValue'
    ArrayOfTaxRates:
      type: array
      items:
        type: object
        properties:
          taxRateId:
            $ref: '#/components/schemas/Uuid'
          rate:
            type: number
            format: double
          taxAmount:
            type: number
            format: double
    BusinessTrip:
      allOf:
        - $ref: '#/components/schemas/Voucher'
        - type: object
          properties:
            type:
              type: string
              enum:
                - CarSpecification
            distance:
              type: number
            distanceUnit:
              type: string
              enum:
                - KM
                - MILES
              readOnly: true
            travelDate:
              type: string
              format: date-time
            description:
              type: string
            roundTrip:
              type: boolean
            route:
              type: array
              items:
                $ref: '#/components/schemas/PlaceWithCoords'
            customFields:
              $ref: '#/components/schemas/ArrayOfCustomFields'
    CarTypeEnum:
      type: string
      enum:
        - PRIVATE_CAR
        - COMPANY_CAR
        - COMPANY_CAR_DIESEL
        - COMPANY_CAR_OTHER
        - COMPANY_CAR_ELECTRICITY
        - COMPANY_CAR_ELECTRICITY_HOME
        - COMPANY_CAR_ELECTRICITY_PUBLIC
        - COMPANY_CAR_LTE_1400CC_PETROL
        - COMPANY_CAR_LTE_1400CC_LPG
        - COMPANY_CAR_LTE_1600CC_DIESEL
        - COMPANY_CAR_1401_2000CC_PETROL
        - COMPANY_CAR_1401_2000CC_LPG
        - COMPANY_CAR_1601_2000CC_DIESEL
        - COMPANY_CAR_GT_2000CC_PETROL
        - COMPANY_CAR_GT_2000CC_LPG
        - COMPANY_CAR_GT_2000CC_DIESEL
        - MOTOR_CYCLE
        - MOTOR_CYCLE_GT_125CC
        - MOTOR_CYCLE_LTE_125CC
        - MOPED
        - ALL_TERRAIN_VEHICLE
        - SNOW_MOBILE
        - BOAT_WITH_ENGINE
        - BOAT_WITH_ENGINE_GT_50HK
        - BOAT_WITH_ENGINE_LTE_50HK
        - PRIVATE_CAR_OR_MOTOR_CYCLE
        - PRIVATE_CYCLE_OR_MOPED
        - OTHER_VEHICLE
        - MOPED_OR_SCOOTER
        - CYCLE_OR_WALKING
        - PUBLIC_TRANSPORTATION
        - PRIVATE_CAR_3HP_LESS
        - PRIVATE_CAR_4HP
        - PRIVATE_CAR_5HP
        - PRIVATE_CAR_6HP
        - PRIVATE_CAR_7HP_MORE
        - MOTOR_CYCLE_1_2HP
        - MOTOR_CYCLE_3_5HP
        - MOTOR_CYCLE_5HP_MORE
        - PRIVATE_CAR_COMMUTER_HOME
    Passenger:
      type: object
      properties:
        name:
          type: string
        distance:
          type: number
          format: double
    Document:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
          readOnly: true
    Guest:
      type: object
      properties:
        name:
          type: string
        company:
          type: string
    AnyValue:
      description: 'Can be: string, number, integer, date, boolean'
    PlaceWithCoords:
      type: object
      properties:
        place:
          type: string
          example: Ludvika, Sverige
        latitude:
          type: string
          example: '60.1523510'
        longitude:
          type: string
          example: '15.1919879'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````