Skip to main content

Expense submission flow

This page offers a holistic view of the expense submission flow: from contract creation to the approval of individual expenses by QI Tech. Follow the evolution of the contract statuses, the status of each expense and the actions expected at each step.

How to use this flowchart

Hover over each step to see the endpoint details and access the full documentation. The colored tracks show simultaneously what happens to the contract and to each expense.

Legend​

Integrating Agent
QI Tech (manual analysis)
Contract Status
Expense Status

Flowchart​

1
Contract creationIntegrating Agent
Creates a contract linking the fund to a vendor and defining the expense type (expense_type) and the submission nature (submission_nature).
Contract: created
POST /expense_submission/fund_class/{fund_class_key}/contract
The contract is ready to be updated or submitted for approval.
See full documentation →
2
Submitting the contract for approvalIntegrating Agent
Signals that the contract is ready for QI Tech analysis. After submission, the contract can no longer be edited.
Contract: pending_adm_approval
PUT /expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/submit
The contract awaits manual review by the QI Tech team.
See full documentation →
3
Contract analysis and approvalQI Tech
The QI Tech team analyzes the contract. If there are any questions, they may create notes that the integrating agent can reply to.
Contract approved
approved
Expenses can be created and submitted.
Contract rejected
rejected
No expense can be created under this contract.
Use the query endpoint to track the contract status.
GET /expense_submission/fund_class/{fund_class_key}/contract/{contract_key}
See full documentation →
4
Expense creationIntegrating Agent
Creates an individual expense under the approved contract, providing payment data, accrual period and supporting documents. When documents are included at creation, the expense is automatically forwarded for review.
Contract: approvedExpense: created → pending_adm_approval*
POST /expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/expense
*If documents are included in the creation body, the expense goes directly to pending_adm_approval. Otherwise, it stays in created.
See full documentation →
5
Document upload (when required)Integrating Agent
If the documents were not sent when the expense was created, upload them separately before submitting. At least one document is required for submission.
Expense: created
POST /expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/expense/{expense_key}/document
Send the supporting documents (invoice, calculation memo, contract or bankslip) in Base64.
See full documentation →
6
Submitting the expense for approvalIntegrating Agent
Forwards the expense for QI Tech analysis. At least one attached document is required.
Expense: pending_adm_approval
PUT /expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/expense/{expense_key}/submit
Only applicable when the expense was created without documents (status = created). Otherwise, the expense will already be in pending_adm_approval.
See full documentation →
7
Expense analysis and approvalQI Tech
QI Tech analyzes the payment data and the supporting documents. After approval, the expense is processed internally and recorded in the fund's portfolio.
Expense approved
approved
Expense recorded. Flow completed successfully.
Expense rejected
rejected
Check the QI Tech notes to understand the reason for the rejection.
Use the query endpoint to track the expense status.
GET /expense_submission/fund_class/{fund_class_key}/contract/{contract_key}/expense/{expense_key}
See full documentation →