This API is designed for exporting an invoice out of FBO One. When an invoice is generated by FBO One, our API will automatically make a call to your system to notify there’s a new invoice. In return your system can call into FBO One’s API and retrieve the invoice data in a JSON format.
The most common use case for this API is to have the invoice generated by FBO One and sent to your accounting system. The JSON schema contains all the details as they are printed on the invoice PDF. In return, you can PATCH with an update for the invoice internal remarks in FBO One to indicate that it was processed successfully. The remark can contain a reference number and the PATCH can also change the invoice workflow state for example: 'Exported'.
Please note that sometimes on the final customer invoices, multiple price component services are grouped together as a single invoice line. The API will respect those settings, showing the invoice line as one line.
Invoice JSON structure
- Invoice header:
- Information about the invoice total amount, number, date, type
- Information about the customer
- Information about the seller (the finance department of the FBO location)
- Invoice details
- Invoice lines - invoiced services (including pricing)
- Information about the flight details
- Information about the aircraft
- Invoice lines - invoiced services (including pricing)
-
Invoice pre-payments - a list of payments that were made for this invoice
-
Invoice PDF - the PDF version of this invoice as base64string
-
Attachments - a list of supporting documents for this invoice as base64string
-
The amounts are specified in the invoice charged currency but also in the currency of the FBO for tax purposes
Authorization
In order to use the Invoice API, the API user requires access to the following:
- API FBO Location access role
- API Administration access role
- Public API Invoice authorization
Once the API user has access to the above, a token can be generated in FBO One.
Attached examples
- Webhook message posted by FBO One to your subscriber application
- GET Http GET call to FBO One API to get the invoice details
- PATCH Http PATCH back to FBO One
Common questions
How does the API handle contact numbers between FBO One and external accounting software?
- The API should mirror FBO One and the external accounting software, with the external system as the master for Contact Numbers.
What happens when a new organization is created in the external accounting software?
- Manual process: Each time you have a new organization in the external system, the user should update FBO One with the same details.
What happens when a new organization is created in FBO One?
- Manual process: Each time someone creates an organization in FBO One, FBO One sends a specific email to a list of addresses you provide. Those recipients should ensure the details are entered into the external accounting software as well.
- When an organization is created in FBO One, no Contact Number is assigned, and the API should create the contact in the external system and update FBO One with the assigned Contact Number from the external system.
- A Contact Number is assigned by default in FBO One but can be changed/edited as needed with the number from the external system.
What happens when an organization is created directly in the external accounting software?
- The API should create the same organization in FBO One. However, currently, this is a functionality gap in our API and is not available.
What happens when an existing organization is changed in one system?
- The API should update the other system accordingly. However, currently, this is a functionality gap in our API and is not available.
What happens when organization details change in FBO One?
- After changing the organization details in FBO One, each generated invoice will have those updated details in the invoice JSON.
How should errors be handled if organization details do not match?
- The integration can be implemented by your developer to return an error when organization details don't match (e.g., the customer number is not found). The invoice processing should be rejected, and an error message should be returned to FBO One specifying what needs to be corrected.
- Alternatively, the integration can create the organization on the fly using the contact number as it is put in FBO One.
How should orders and invoices be managed?
- FBO One has its own serial number system. We can configure this to start from a different range than your other business invoices in the external accounting software.
- It is expected that the external system’s API will accept the FBO One invoice number as long as it does not conflict with an existing invoice number in the external system.
- For further details or implementation guidance, please refer to the API documentation or contact our support team.
Comments
0 comments
Please sign in to leave a comment.