{"introduction":"This document provides a reference to the Expense SPI. This document includes a series of notes and instructions that outline the Expense SPI.","audience":{"label":"Audience","description":"This document is aimed for the Egencia Expense SPI customers, partners and software developers who would like to consume the Expense SPI."},"overview":{"label":"Overview","description":"The user must implement a web service in compliance with this specification and service contract. Egencia will call this web service for each new and updated booking as well as for associated service fees. Each booking will be sent in JSON format to the consumer through a POST message to the provided endpoint according to the following payload. Expense SPI provides the latest up to date details of any booking to your automations like the Egencia Trip summary page does for human users."},"versioning":{"versions":[{"id":"1.0","change_description":"First stable version."}]},"error_codes":[],"api_details":{"label":"Expense SPI details","description":"Egencia provides an \"Expense capability\" that will push the update in near real-time to the connected client system. Expense SPI will notify the partner when a booking is created or updated in Egencia.\n\n1. When a booking is created or updated in Egencia the Expense SPI will push a message to the connected Partner system (web service). This message will reflect the information available at the same moment in the Egencia trip summary.\n2. The push notification will contain either the receipt or the invoice information depending on the company's configuration as it is available.\n3. The web service to consume this data has to be built by the client consumer. This web service allows Egencia to notify the partner when a booking is created or updated in the Egencia tools by sending the booking details.\n4. The web service returns a success message if the message has been taken into account. If the consumer web service doesn't reply on due time Expense SPI will retry few times.","subheadings":[{"label":"To illustrate:","description":"<ul><li>An employee books a hotel in Egencia and then sees it in its trip summary => at the same moment Expense SPI sends the details of this hotel booking and the associated trip identifier in JSON format to the client's listener web service.</li><li>The same employee now books a flight in Egencia which appears in the same trip summary as a new trip item => at the same moment Expense SPI sends the details of the flight booking and the associated trip identifier in JSON format to the client's listener web service.</li><li>The hotel booking is approved by the manager so the hotel booking changes from \"AWAITING APPROVAL\" to \"BOOKED\" => Expense SPI sends the up-to-date version to the client's listener web service.</li><li>The flight ticket is issued => Expense SPI sends the up-to-date version to the client's listener web service.</li><li>The flight receipt/invoice is generated => Expense SPI sends the up-to-date version to the client's listener web service, which includes the link to download the document.</li><li>The flight ticket is exchanged => Expense SPI sends the up to date version to the client's listener web service.</li><li>The flight exchange required an extra payment which generated a new receipt/invoice => Expense SPI sends the up to date version to the client's listener web service, which includes the link to download the document.</li><li>The flight is cancelled which generated a credit note, Expense SPI sends the up to date version to the client's listener web service, which includes the link to download the document.</ul>\n\n In brief, any modification of the Egencia Trip summary is conveyed to the client's listener web service by Expense SPI in real time. \nWhen a receipt or invoice link appears in the Expense SPI payload, the documents can be downloaded directly from the link, but don't forget to subscribe to the receipts/invoices, which ensures that only eligible audience can see invoices and receipts."}]},"enumerations":{"Approval Status":[{"name":"PENDING","description":"Booking waiting to be approved"},{"name":"APPROVED","description":"Booking approved"},{"name":"CANCELLED","description":"Booking cancelled"},{"name":"DENIED","description":"Booking approval rejected"}],"Expense Type":[{"name":"FLIGHT","description":"Air Booking"},{"name":"HOTEL","description":"Hotel Booking"},{"name":"TRAIN","description":"Rail Booking"},{"name":"CAR","description":"Car Booking"},{"name":"GROUND","description":"Ground Booking"},{"name":"FEE","description":"Fee charged on booking"}],"CO2 Emission Unit":[{"name":"KG","description":"Kilograms"},{"name":"LB","description":"Pounds"}],"Booking Status":[{"name":"DRAFT","description":"Booking saved to be booked later"},{"name":"BOOKED","description":"Booking confirmed"},{"name":"CANCELLED","description":"Booking cancelled"},{"name":"DELETED","description":"Draft booking deleted"},{"name":"AWAITING_CONFIRMATION","description":"Awaiting Confirmation"}],"Payment Method":[{"name":"COMPANY_FORM_OF_PAYMENT","description":"Booking paid by company (central bill card). Receipt issued by Egencia."},{"name":"CREDIT_CARD","description":"Booking paid by individual credit card. Receipt issued by Egencia or supplier."},{"name":"LODGED_CARD","description":"Booking paid by company (lodge card). Receipt issued by Egencia."},{"name":"ON_ACCOUNT","description":"Booking paid by company (through invoicing). Receipt issued by Egencia."},{"name":"PAY_AT_COUNTER","description":"Booking paid by individual to the supplier directly. Receipt issued by supplier."},{"name":"DIRECT_BILLING","description":"Booking invoiced directly by the supplier to the company (Car only use case). Receipt issued by supplier."},{"name":"ACCREDITIVE","description":"Booking paid by individual to the supplier directly (APAC Car only use case). Receipt issued by supplier."},{"name":"VIAPAY","description":"Virtual Card Payment"},{"name":"ACCREDITIVE_CARD","description":"Booking paid by Accreditive / loyalty card"},{"name":"PREPAID_BY_ECT","description":"Prepaid by ect"}]},"documentation_link":"https://apis.egencia.com/openconnect-expense/docs/api-docs/expense","api_updates":[{"date":"2026-02-23T00:00:00.000Z","updates":[{"label":"Guest travelers tag","description":"A new \"isGuest\" flag now appears in the travelers' payload. As its name suggests, when the traveler is a guest this flag is set to true, and when the traveler is a regular employee or contractor then the flag comes in \"false\". With that flag you can easily identify if the traveler will submit an expense.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2026-02-17T00:00:00.000Z","updates":[{"label":"Hotel property source details","description":"If like us you're connected to Hotel distribution systems this is for you. We now add two new attributes that allow you to link the hotel property booked in Egencia with the distribution system where we booked it. The first attribute \"provider\" tells you the distribution system that shared that offer, where the second attribute \"property_id\" is the unique identifier of that property in this distribution system.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2026-02-09T00:00:00.000Z","updates":[{"label":"Receipt provision available flag","description":"New Egencia receipt flag. You asked us to inform ahead of the payment whether an Egencia receipt will be available for a booking or if the traveler will have to download its receipt from the supplier. We heard you and are proud to announce a new flag in the payload. The flag name is \"receipt_provision_available\". It's \"true\" when Egencia will edit the receipt. When it comes \"false\", you can immediately inform the traveler that he/she will have to ask the supplier to provide a payment receipt or an invoice.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-07-29T00:00:00.000Z","updates":[{"label":"Invoice download","description":"Invoices now available for download! The receipt document download link in expense SPI payload now offers links to download invoices as well. Whenever an invoice is added to a booking (aka visible on the Egencia Trip summary), a new expense SPI message comes in with a receipt link where you can download all the invoices and credit notes with the 'Receipt API' like you do with receipts document. So far, the metadata are limited to the 'last invoice reference' and 'date' (aka receipt_info.id and receipt_info.receipt_date) but we're working on this so stay tuned.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-05-01T00:00:00.000Z","updates":[{"label":"Best fare option","description":"The price of the policy benchmark flight is now available in the payload of the flight bookings in the \"policy_compliance\" object. With that new information you get a perfect visibility on all the elements that defines the policy compliance of a booking. The new element in the json payload is \"best_fare\". It contains a \"currency\" and the actual price point in the element \"amount\".","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]},{"label":"Low cost carrier flag","description":"New \"low_cost_carrier\" attribute added to the description of an airline carrier. The element is available as part of the \"marketing_carrier\" object.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-03-17T00:00:00.000Z","updates":[{"label":"Associated booking reference for Fee","description":"Associated booking reference now available. Every fee item is now tagged with the booking that generated it.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]},{"date":"2025-02-25T00:00:00.000Z","updates":[{"label":"Receipt Metadata","description":"Receipt metadata now available! Along with the receipt document download link expense SPI now gives you the key informations available in the receipt. No need to open and read the document, you can get the data right from the json payload.","tags":[{"label":"Enhancement","styling_properties":{"text_color":"#0e1a23","background_color":"#ffc72c"}}]}]}]}