# Get Crew expenses This endpoint allows users to retrieve a list of expenses associated with crew members. It provides detailed information about each expense, including the type, amount, date, and associated crew member. Important Filtering Rules: - Only expenses where the crew member has been set in the 'Reimbursable To' field will be returned. - LANDING and PARKING expense types are intentionally excluded and will never appear in results. - Most expense types require proper linking to related records (flights, users, duties, aircraft, etc.) to be included. Expenses with missing or broken links will be excluded. - Expense types that are always returned (no linking required): NAVIGATION_FEE, VIP_LOUNGE, PER_DIEMS. For a complete guide on which expense types are returned and why some expenses may be missing, see the Crew Expenses Guide. Example Use Case: A finance manager wants to review all expenses submitted by crew members for a specific month. By using this endpoint, they can fetch a comprehensive list of expenses, filter them by date, and analyze the data to ensure all expenses are accounted for and within the budget. Endpoint: GET /api/external/crew-expenses Version: 1.8.0 Security: API_AUTHENTICATION ## Query parameters: - `crewId` (integer, required) ID of the crew member Example: 108569 - `filter` (string, required) Filter by expenseDate in the format 'expenseDate,BTW,fromDate/toDate'. - expenseDate: The field to filter on. - BTW: Filter Operator Between. - fromDate/toDate: The date range for filtering. - Date Constraints: The fromDate and toDate values must be within a 6-month window relative to the current date. fromDate (inclusive) can be up to 6 months in the past, and toDate (exclusive) can be up to 6 months in the future. - Date Range Interpretation: If you provide expenseDate,BTW,2024-08-28/2025-02-24 as the date range, the data returned will include entries from 2024-08-28 (inclusive) up to, but not including, 2025-02-24. - Date format: When fromDate and toDate are sent without a UTC offset, the response property expenseDate will be returned in UTC. - Date format: When fromDate and toDate are sent with a UTC offset (the offset must be the same for both values), the response property expenseDate will be returned in given offset. e.g.: filter=expenseDate,BTW,2025-01-01T10%3A00%3A00-04%3A00/2025-04-25T10%3A00%3A00-04%3A00 parsed version of filter=expenseDate,BTW,2025-01-01T10:00:00-04:00/2025-04-25T10:00:00-04:00 Example: "expenseDate,BTW,2024-08-28/2025-02-24" - `limit` (integer) Maximum number of records to return. Example: 20 - `offset` (integer) Number of records to skip before starting to return results. Example: 6 ## Response 200 fields (application/json): - `data` (array) - `data.id` (integer) Unique identifier of the crew expense Example: 1195 - `data.expenseDate` (string) Date of the expense Example: "2024-12-24" - `data.flightId` (integer) ID of the flight associated with the expense - `data.flightNumber` (string,null) Flight number associated with the expense - `data.aircraftId` (integer) ID of the aircraft associated with the expense - `data.aircraftRegistration` (string,null) Registration of the aircraft associated with the expense - `data.bookingId` (integer) ID of the booking associated with the expense - `data.bookingIdentifier` (string,null) Identifier of the booking associated with the expense - `data.crewId` (integer) ID of the crew member Example: 108569 - `data.crewAcronym` (string) Acronym of the crew member Example: "PPP" - `data.costCenterPaxName` (string,null) Name of the cost center or passenger - `data.costType` (string) Type of cost. Note that not all cost types will be returned by this endpoint: - LANDING and PARKING are never returned (intentionally excluded). - Most types require proper linking to related records (flights, users, duties, aircraft, etc.) to be included. - Types that are always returned (no linking required): NAVIGATION_FEE, VIP_LOUNGE, PER_DIEMS. - For detailed information about which expense types are returned and filtering behavior, see the [Crew Expenses Guide](/guides/guides/accounting/crew-expenses). Enum: "DEPARTURE_HANDLING", "ARRIVAL_HANDLING", "LANDING", "PARKING", "FUEL", "DEPARTURE_HOTAC", "PAX_FEE", "DE_ICING", "NAVIGATION_FEE", "PERMITS", "DEPARTURE_CATERING", "DEPARTURE_GROUND_TRANSPORTATION", "VIP_LOUNGE", "PER_DIEMS", "AIRCRAFT", "CREW", "ARRIVAL_HOTAC", "ARRIVAL_CATERING", "ARRIVAL_GROUND_TRANSPORTATION", "AIRCRAFT_TASK", "DUTY", "STAFF", "AIRCRAFT_GENERAL" - `data.supplierName` (string) Name of the supplier Example: "angola" - `data.isTaxable` (boolean) Indicates if the expense is taxable - `data.isBillable` (boolean) Indicates if the expense is billable - `data.paymentMethod` (string) Method of payment Enum: "CREW_CREDIT_CARD", "AIRCRAFT_CREDIT_CARD", "CASH", "ON_ACCOUNT", "INVOICE" - `data.invoiceNumber` (string) Invoice number Example: "asdfasdf" - `data.costCenterReference` (string) Reference of the cost center Example: "asdfasdfas" - `data.currencyCode` (string) Currency code Enum: "USD", "EUR" - `data.netPrice` (number) Net price of the expense Example: 45 - `data.vat` (number) VAT amount Example: 4 - `data.grossPrice` (number) Gross price of the expense Example: 45 - `data.reimbursementStatus` (string) Reimbursement status Enum: "PENDING", "REIMBURSED" - `data.comment` (string,null) Additional comments Example: "adfasdf" - `data.document` (object) Attachment document info - `data.document.id` (integer) Unique identifier of the document Example: 95192 - `data.document.uuid` (string) UUID of the document Example: "8abce832-af34-453a-ad27-667f87d65c31" - `data.document.originalName` (string) Original name of the document Example: "dummy-pdf_2.pdf" - `data.document.fileSize` (number) Size of the document file Example: 7478 - `data.document.createdAtDateTime` (string) Date and time when the document was created Example: "2025-02-07T00:00:00.000Z" - `data.document.customName` (string) Custom name of the document Example: "20250207-235248-618-dummy-pdf_2.pdf" - `data.document.imageSizeX` (number) Width of the image in the document - `data.document.imageSizeY` (number) Height of the image in the document - `data.document.isThumbnail` (boolean) Indicates if the document is a thumbnail - `data.priceItems` (array) - `data.priceItems.name` (string) Name of the price item Example: "asdfasdfasfd" - `data.priceItems.total` (number) Total amount of the price item Example: 30 - `data.projectIdentifier` (string,null) Identifier of the project - `data.projectId` (integer) ID of the project - `data.createdByUserId` (integer) ID of the user who created the expense Example: 568 - `data.createdByUserPersonnelNumber` (string) Personnel number of the user who created the expense Example: "AAAEE" - `pagination` (object) Pagination details - `pagination.offset` (integer) Number of records skipped - `pagination.limit` (integer) Maximum number of records returned Example: 10 - `pagination.totalItems` (integer) Total number of items available Example: 3 - `pagination.sortItems` (array) List of fields used for sorting Example: [] - `pagination.filters` (array) - `pagination.filters.field` (string) Field name to filter by Example: "expenseDate" - `pagination.filters.operator` (string) Filter operator Example: "BTW" - `pagination.filters.value` (string) Filter value Example: "2024-08-28/2025-02-24" ## Response 400 fields ## Response 404 fields