Repository navigation
Money API
Use the Money API to create bills, office debits & credits, and client debits & credits in Quill Interactive
The Money API provides integrators with the following features:
- Create Bill with fee, disbursement, and expense detail
- Create Office Debit e.g. disbursement / expense paid out of Office
- Create Client Debit e.g. disbursement / expense paid out of Client
- Create Office Credit e.g. funds received to pay a bill
- Create Client Credit e.g. mortgage lender funds received to client
Only POST methods are supported i.e. you can only create new items. You cannot update (PUT) or delete (DELETE) via this API. So, any updates or deletes can be managed manually by the user within the Quill Interactive UI.
The Create Bill endpoint allows integrators to mimic the same functionality as the Bill Echit in Interactive.
Supported areas of the Bill are:
- Profit Costs - with Fees received
- Manage Expenses - with Expenses received
- Manage Disbursements - with Disbursements received
Un-supported areas of the Bill are:
- Profit Costs split, uplift, WIP
- TT Charges
- Misc Charges
The screenshot below shows which fields are expected (see the "Parameters" section below to see how the data in these fields needs to be provided)

| Name | Type | Description |
|---|---|---|
| displayCode | str(12) | Required. Case code |
| narrative | str | Required. details about the transaction |
| reference | str | Required. The Bill’s Reference. If using auto-referencing then a value of “AUTO” must be provided, otherwise a custom reference of up to 6 characters can be provided |
| feeItems | feeItem[] | Optional. Fee items are equivalent to the "Profit Cost" rows (see screenshot above) and consist of { Cost (decimal); vatRateId (char); vatValue (decimal) } if feeItems are provided, all 3 properties are required per item |
| expenseItems | expenseItem[] | Optional. Expense items are equivalent to the "Manage Expenses" rows (see screenshot above) and consist of { date (dateTime); description (str); cost (decimal); vatRateId (char); vatValue (decimal) } if expenseItems are provided, all properties except date are required per item |
| disbursementItems | disbursementItem[] | Optional. Disbursement items are equivalent to the "Manage Disbursement" rows (see screenshot above) and consist of { date (dateTime); description (str); cost (decimal); vatRateId (char); vatValue (decimal) } if disbursementItems are provided, all properties except date are required per item |
- VAT Rate Id:
GET /Money/TaxRates
- Status: 201 = Created
- Status: 400 = Bad request
e.g. pay a disbursement/expense out of the office ledger; or pay a supplier; or pay out of a nominal ledger (such as rent)
The Create Office Debit endpoint allows integrators to mimic the same functionality as the Office Debit Echit in Interactive.
The screenshot below shows which fields are expected (see the "Parameters" section below to see how the data in these fields needs to be provided)

| Name | Type | Description |
|---|---|---|
| paymentMethod | str(6) | Required. The Id of the Payment Method. Lookup value: Payment Method Id |
| account | obj | Object containing displayCode; nominalBranch and nominalCode; or supplierCode |
| - displayCode | str(12) | The Display Code of the Case. If displayCode is provided, an "account type" of "Matter" is assumed |
| - nominalBranch | int | The Id of the Nominal Branch. If nominalBranch and nominalCode are provided, an "account type" of "Nominal" is assumed |
| - nominalCode | str | The Id of the Nominal. If nominalCode and nominalBranch are provided, an "account type" of "Nominal" is assumed |
| - supplierCode | int | The Id of the Supplier. If supplierCode is provided, an "account type" of "Supplier" is assumed |
| bank | lookup str | Required. The Id of the Bank. Lookup value: Bank Account Id |
| disbCategory | lookup int | Required. The Id of the Disbursement Category. Lookup value: Disbursement Category Id |
| disbType | lookup str | Required. The Id of the Disbursement Type. Lookup value: Disbursement Type Id |
| amount | obj | Object containing vatable, vat, net and total |
| - vat | decimal | VAT amount. Not applicable if account type = "Supplier" |
| - vatRateId | char | VAT Rate Id. Not applicable if account type = "Supplier" |
| - net | decimal | Net amount. Required if account type = "Matter" or "Nominal" |
| - total | decimal | Total (gross) amount. Required if account type = "Supplier" |
| date | dateTime | Required. Date transaction occurred |
| reference | str(8) | Required. Transaction reference |
| payee | str(100) | Required. Payee |
| paymentDetails | obj | Object containing accountNumber, sortCode, iban, bicCode and paymentReference |
| - accountNumber | str | bank account number. If accountNumber and sortCode are provided, a Payment Destination of "Domestic" is assumed |
| - sortCode | str | bank sortcode. If accountNumber and sortCode are provided, a Payment Destination of "Domestic" is assumed |
| - iban | str | Net amount. if iban and bicCode |
| - bicCode | str | Total (gross) amount. Required if account type = "Supplier" |
| - paymentReference | str(18) | Total (gross) amount. Required if account type = "Supplier" |
| narrative | str(200) | Required. details about the transaction |
| notes | str | notes about the transaction |
- Payment Method:
GET /Money/PaymentMethods - Bank Account:
GET /Money/BankAccounts - Disbursement Type:
GET /Money/DisbursementTypes - Disbursement Category:
GET /Money/DisbursementCategories - VAT Rate:
GET /Money/TaxRates
- https://github.com/quillpinpoint/interactive-api/blob/main/curl-examples/money-api/post-office-debit.sh
- https://github.com/quillpinpoint/interactive-api/blob/main/curl-examples/money-api/post-nominal-debit
- https://github.com/quillpinpoint/interactive-api/blob/main/curl-examples/money-api/post-supplier-debit
- Status: 201 = Created
- Status: 400 = Bad request if any of the following occur:
- The displayCode provided is not found within the system
- The net amount provided for a Matter or Nominal account is 0
- The nominalBranch provided does not belong to the given nominal
- The total amount provided for a Supplier account is 0
- The account type could not be inferred by the account information provided i.e. if displayCode AND supplierCode are sent
- Both domestic AND international payment details are provided
e.g. pay out funds from the client ledger account
The Create Client Debit endpoint allows integrators to mimic the Client Debit Echit in Interactive.
The screenshot below shows which fields are expected (see the "Parameters" section below to see how the data in these fields needs to be provided)

- Payment Method Id: GET /Money/PaymentMethods
- Bank Account Id: GET /Money/BankAccounts
| Name | Type | Description |
|---|---|---|
| paymentMethod | str(6) | Required. The Id of the Payment Method. Lookup value: Payment Method Id |
| account | str | Required. displayCode of the Case (aka Matter) |
| bank | lookup str | Required. The Id of the Bank. Lookup value: Bank Account Id |
| amount | decimal | Required. the amount of the payment |
| date | dateTime | Required. Date transaction occurred |
| reference | str(8) | Required. Transaction reference |
| payee | str(100) | Required. full name of the payee - the entity that will receive the money |
| paymentDetails | obj | Object containing accountNumber, sortCode, iban, bicCode and paymentReference |
| - accountNumber | str | bank account number. If accountNumber and sortCode are provided, a Payment Destination of "Domestic" is assumed |
| - sortCode | str | bank sortcode. If accountNumber and sortCode are provided, a Payment Destination of "Domestic" is assumed |
| - iban | str | Net amount. if iban and bicCode |
| - bicCode | str | Total (gross) amount. Required if account type = "Supplier" |
| - paymentReference | str(18) | Total (gross) amount. Required if account type = "Supplier" |
| narrative | str(200) | Required. details about the transaction |
| notes | str | notes about the transaction |
https://github.com/quillpinpoint/interactive-api/blob/main/curl-examples/money-api/post-client-debit
- Status: 201 = Created
- Status: 400 = Bad request if any of the following occur:
- The displayCode provided is not found within the system
- The total amount provided is 0
- Both domestic AND international payment details are provided
e.g. funds received from the client to pay a bill
The Create Office Credits endpoint allows integrators to mimic the same functionality as the Office Credit Echit in Interactive.
The screenshot below shows which fields are expected (see the "Parameters" section below to see how the data in these fields needs to be provided)

| Name | Type | Description |
|---|---|---|
| paymentMethod | str(6) | Required. The Id of the Payment Method. Lookup value: Payment Method Id |
| account | obj | Object containing displayCode; or nominalBranch and nominalCode |
| - displayCode | str(12) | The Display Code of the Case. If displayCode is provided, an "account type" of "Matter" is assumed |
| - nominalBranch | int | The Id of the Nominal Branch. If nominalBranch and nominalCode are provided, an "account type" of "Nominal" is assumed |
| - nominalCode | str | The Id of the Nominal. If nominalCode and nominalBranch are provided, an "account type" of "Nominal" is assumed |
| bank | lookup str | Required. The Id of the Bank. Lookup value: Bank Account Id |
| amount | decimal | Required. amount of transaction |
| date | dateTime | Required. Date transaction occurred |
| receivedFrom | str | Required. full name of the payer - the entity that is paying |
| reference | str(8) | Required. Transaction reference |
| narrative | str(200) | Required. details about the transaction |
| notes | str | notes about the transaction |
- Payment Method Id: GET /Money/PaymentMethods
- Bank Account Id: GET /Money/BankAccounts
- Status: 201 = Created
- Status: 400 = Bad request if any of the following occur:
- The displayCode provided is not found within the system
- The net amount provided for a Matter or Nominal account is 0
- The nominalBranch provided does not belong to the given nominal
- The total amount provided for a Supplier account is 0
- The account type could not be inferred by the account information provided i.e. if displayCode AND supplierCode are sent
e.g. mortgage lender funds received to client
The Create Client Credits endpoint allows integrators to mimic the same functionality as the Client Credit Echit in Interactive.
The screenshot below shows which fields are expected (see the "Parameters" section below to see how the data in these fields needs to be provided)

| Name | Type | Description |
|---|---|---|
| paymentMethod | str(6) | Required. The Id of the Payment Method. Lookup value: Payment Method Id |
| account | str | Required. displayCode of the Case (aka Matter) |
| bank | lookup str | Required. The Id of the Bank. Lookup value: Bank Account Id |
| amount | decimal | Required. amount of transaction |
| date | dateTime | Required. Date transaction occurred |
| receivedFrom | str | Required. full name of the payer - the entity that is paying |
| reference | str(8) | Required. Transaction reference |
| narrative | str(200) | Required. details about the transaction |
| notes | str | notes about the transaction |
- Payment Method Id: GET /Money/PaymentMethods
- Bank Account Id: GET /Money/BankAccounts
- Status: 201 = Created
- Status: 400 = Bad request if any of the following occur:
- The displayCode provided is not found within the system
- The total amount provided is 0
GET /Cases/Attributes/FeeEarnersGET /Money/PaymentMethodsGET /Money/BankAccountsGET /Money/DisbursementTypesGET /Money/DisbursementCategoriesGET /Money/ExpenseTypes-
GET /Money/TaxRateshttps://github.com/quillpinpoint/interactive-api/blob/main/curl-examples/money-api/get-tax-rates GET /Money/SuppliersGET /Money/Nominals
END