SOFT4Leasing API Documentation
Comprehensive Guide to SOFT4Leasing API endpoints management.
This guide serves as a detailed resource for developers, integrators, and technical teams seeking to understand and interact with the range of API endpoints related to SOFT4Leasing applications.
Within these pages, you will find a structured overview of available operations for handling application data, including the retrieval and creation of records. Each endpoint is meticulously described to provide clarity on its intended use, required HTTP methods, expected return types, and operational context.
Soft4Leasing documentation is designed to facilitate seamless integration, offering practical usage guidelines and clear descriptions to ensure you can implement and leverage the APIs with confidence and efficiency. Whether you are building new solutions or maintaining existing systems, this resource aims to support your work at every step.
Should you require further clarification or encounter any challenges, contact our Soft4Leasing technical team. We invite you to explore the full capabilities of the Application Management API and harness its features to streamline your workflow.
1. Applications
This request is intended to provide documentation for API methods related to managing application records. It outlines available operations, such as retrieving and creating application data, by specifying the HTTP methods, return types, and brief descriptions of each endpoint.
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET applications 
 | applications 
 | Retrieves an application record | 
| POST applicationsIndirect | applicationsIndirect | Creates a new application record | 
| PATCH applicationsIndirect | applicationsIndirect | Updates an existing application record | 
| DELETE applications 
 | applications 
 | Deletes an application record | 
GET applications
Description
Retrieves an existing lease application record from Business Central.
HTTP Request
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applications({applicationId})
Request Headers
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body
None.
Response
Returns a 200 OK status code and a JSON object representing the application record.
Example Response
JSON
{
"systemId": "a1b2c3d4-e5f6-7890-abcd-1234567890ef",
"contractNo": "APP-2025-001",
"status": "Application",
"customerNo": "CUST-1001",
"email": "john.doe@example.com"
}POST applicationsIndirect
Description
Creates a new lease application record in Business Central.
HTTP Request
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicationsIndirect
Request Headers
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body
Provide a JSON object with application data.
JSON
{
"contractNo": "APP-2025-001",
"contractDate": "2025-09-18",
"status": "Application",
"financialProduct": "LEASE-STD",
"customerNo": "CUST-1001",
"email": "john.doe@example.com"
}Response
Returns a 201 Created status code and the created applicationsIndirect object.
PATCH applicationsIndirect
Description
Updates an existing lease application record.
HTTP Request
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicationsIndirect({applicationId})
Request Headers
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body
Provide only the fields to be updated.
JSON
{
"status": "Contract",
"contractDate": "2025-09-20"
}Response
Returns a 200 OK status code.
DELETE applications
Description
Deletes an existing lease application record.
HTTP Request
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applications({applicationId})
Request Headers
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
Request Body
None.
Response
Returns a 204 No Content status code if deletion is successful.
Properties
| Name | Type | Description | 
| systemId | GUID | Unique system identifier | 
| status | Quote, Application, Contract, Closed Contract, Withdrawn Application | Contract status (Quote, Application, Contract, Closed) | 
| statusCode | Code[20] | Configurable sub-status | 
| contractNo | Code[20] | Contract number | 
| contractDate | Date | Date of the contract | 
| newUsedAsset | Option | Indicates if asset is new or used | 
| dateofDeliveryCertificate | Date | Delivery certificate date | 
| dateofPurchaseContract | Date | Purchase contract date | 
| dateofContractInception | Date | Contract inception date | 
| financialProduct | Code[20] | Financial product code | 
| individualBusiness | Individual, Business | Indicates individual or business | 
| customerNo | Code[20] | Customer number | 
| CCY | Code[10] | Currency code | 
| currencyFactorCCY | Decimal | Currency conversion factor | 
| creditLineNo | Code[20] | Credit line number | 
| creditLinePhaseNo | Code[20] | Credit line phase number | 
| masterContractNo | Code[20] | Master contract reference | 
| refinanceofContrNo | Code[20] | Refinance contract reference | 
| legalForm | Option | Legal form of the entity | 
| title | Code[10] | Title code | 
| firstName | Text[30] | First name | 
| middleName | Text[30] | Middle name | 
| surname | Text[30] | Surname | 
| gender | Option | Gender | 
| birthDate | Date | Birth date | 
| maritalStatus | Option | Marital status | 
| driverLicenseNo | Code[20] | Driver license number | 
| nationality | Option | Nationality | 
| pep | Boolean | Politically exposed person flag | 
| businessName | Text[100] | Business name | 
| tradingName | Text[100] | Trading name | 
| industryGroup | Code[10] | Industry group | 
| natureOfBusiness | Text[50] | Nature of business | 
| noofEmployees | Integer | Number of employees | 
| registrationNo | Code[20] | Registration number | 
| contactPerson | Text[50] | Contact person | 
| address | Text[100] | Address line 1 | 
| countryRegionCode | Code[10] | Country/Region code | 
| county | Text[30] | County | 
| city | Text[30] | City | 
| postCode | Code[10] | Postal code | 
| Text[100] | Email address | |
| phoneNo | Text[30] | Phone number | 
| privacyConsent | Boolean | Privacy consent flag | 
| marketingConsent | Boolean | Marketing consent flag | 
| paymentMethodCode | Code[10] | Payment method code | 
| ddNameofAccount | Text[100] | Direct debit account name | 
| ddBankAccountNo | Code[20] | Direct debit bank account number | 
| ddBankName | Text[100] | Direct debit bank name | 
| ddBankBranchNo | Code[20] | Direct debit bank branch number | 
| originatorNo | Code[20] | Originator number | 
| supplierNo | Code[20] | Supplier number | 
| supplierSalespersonNo | Code[20] | Supplier salesperson number | 
| origSalespersonNo | Code[20] | Original salesperson number | 
| salesOfficerCode | Code[20] | Sales officer code | 
JSON Representation
{
"systemId": "GUID",
"status": "Enum",
"statusCode": "Code[20]",
"contractNo": "Code[20]",
"contractDate": "Date",
"newUsedAsset": "Option",
"dateofDeliveryCertificate": "Date",
"dateofPurchaseContract": "Date",
"dateofContractInception": "Date",
"financialProduct": "Code",
"individualBusiness": "Option",
"customerNo": "Code",
"CCY": "Code",
"currencyFactorCCY": "Decimal",
"creditLineNo": "Code",
"creditLinePhaseNo": "Code",
"masterContractNo": "Code",
"refinanceofContrNo": "Code[20]",
"legalForm": "Option",
"title": "Code",
"firstName": "Text[30]",
"middleName": "Text[30]",
"surname": "Text[30]",
"gender": "Option",
"birthDate": "Date",
"maritalStatus": "Option",
"driverLicenseNo": "Code",
"nationality": "Option",
"pep": "Boolean",
"businessName": "Text[100]",
"tradingName": "Text[100]",
"industryGroup": "Code[10]",
"natureOfBusiness": "Text[50]",
"noofEmployees": "Integer",
"registrationNo": "Code",
"contactPerson": "Text",
"address": "Text",
"countryRegionCode": "Code",
"county": "Text",
"city": "Text",
"postCode": "Code",
"email": "Text",
"phoneNo": "Text",
"privacyConsent": "Boolean",
"marketingConsent": "Boolean",
"paymentMethodCode": "Code",
"ddNameofAccount": "Text",
"ddBankAccountNo": "Code",
"ddBankName": "Text",
"ddBankBranchNo": "Code",
"originatorNo": "Code",
"supplierNo": "Code",
"supplierSalespersonNo": "Code",
"origSalespersonNo": "Code",
"salesOfficerCode": "Code"
}
2. Applicants
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET applicants | applicants | Retrieves an applicant record | 
| POST applicantsIndirect | applicantsIndirect | Creates a new applicant record | 
| PATCH applicantsIndirect | applicantsIndirect | Updates an existing applicant record | 
| DELETE applicants | applicants | Deletes an applicant record | 
GET applicantsIndirect
Description: Retrieves an applicant record from Business Central.
HTTP Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantsIndirect({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body: None
Response:
Returns 200 OK and a JSON object of the applicantsIndirect record.
Example Response:
JSON
{
"systemId": "a1b2c3d4-e5f6-7890-abcd-1234567890ef",
"contractNo": "APP-2025-001",
"firstName": "John",
"surname": "Doe",
"email": "john.doe@example.com"
}POST applicantsIndirect
Description: Creates a new applicant record.
HTTP Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantsIndirect
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
JSON
{
"contractNo": "APP-2025-001",
"firstName": "John",
"surname": "Doe",
"email": "john.doe@example.com",
"individualBusiness": "Individual",
"nationality": "LT"
}
Response:
Returns 201 Created and the created applicantsIndirect object.
PATCH applicantsIndirect
Description: Updates an existing applicant record.
HTTP Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantsIndirect({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
JSON
{
"surname": "Smith",
"email": "john.smith@example.com"
}Response:
Returns 200 OK and the updated applicantsIndirect object.
DELETE applicantsIndirect
Description: Deletes an applicant record.
HTTP Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantsIndirect({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
Request Body: None
Response:
Returns 204 No Content if deletion is successful.
Properties
| Name | Type | Description | 
|---|---|---|
| systemId | GUID | Unique system identifier | 
| contractNo | Code[20] | Contract number | 
| lineNo | Integer | Line number in contract | 
| contactNo | Code[20] | Contact number | 
| roleInContract | Code[20] | Role in the contract | 
| vatRegistrationNo | Text[20] | VAT registration number | 
| firstName | Text[100] | First name | 
| middleName | Text[30] | Middle name | 
| surname | Text[30] | Surname | 
| name | Text[100] | Full name | 
| name2 | Text[50] | Secondary name | 
| individualBusiness | Individual,Business | Indicates individual or business | 
| registrationNo | Text[20] | Registration number | 
| contactCategory | Code[20] | Contact category | 
| ratingCode | Code[10] | Current rating code | 
| languageCode | Code[10] | Language code | 
| address | Text[100] | Address line 1 | 
| address2 | Text[50] | Address line 2 | 
| city | Text[50] | Suburb/Town | 
| countryRegionCode | Code[10] | Country/Region code | 
| postCode | Code[20] | Postal code | 
| county | Text[30] | County | 
| phoneNo | Text[30] | Phone number | 
| Text[80] | Email address | |
| website | Text[80] | Website URL | 
| title | Text[30] | Title code | 
| eSignSigner | Boolean | E-signature signer flag | 
| eSignSigningOrder | Integer | E-signature signing order | 
| driverLicenseNo | Code[20] | Driver license number | 
| birthDate | Date | Birth date | 
| gender | Option | Gender | 
| education | Option | Education level | 
| maritalStatus | Option | Marital status | 
| noOfDependents | Integer | Number of dependents | 
| permanentResident | Boolean | Permanent resident flag | 
| residentialStatus | Option | Residential status | 
| applicantAgeYears | Integer | Applicant age in years | 
| legalForm | Code[20] | Legal form | 
| legalStatus | Code[20] | Legal status | 
| industryGroup | Code[10] | Industry group | 
| trustName | Text[50] | Trust name | 
| companyRegNo | Code[20] | Company registration number | 
| companyRegDate | Date | Company registration date | 
| dateEstablished | Date | Date established | 
| yearsTrading | Integer | Years trading | 
| totalSaleOrGrossRevenueAm | Decimal | Total sales or gross revenue amount | 
| totalSaleOrGrossRevenueYr | Integer | Year of total sales or gross revenue | 
| netProfitLastYear | Decimal | Net profit last year | 
| noOfEmployees | Integer | Number of employees | 
| contactPerson | Text[50] | Contact person | 
| proprietorFirstName | Text[30] | Proprietor first name | 
| proprietorLastName | Text[30] | Proprietor last name | 
| proprietorContactNo | Text[15] | Proprietor contact number | 
| proprietorMainFaxNo | Code[15] | Proprietor fax number | 
| proprietorMobileNo | Code[20] | Proprietor mobile number | 
| nationality | Code[10] | Nationality | 
| capacity | Decimal | Financial capacity | 
| marketingConsent | Boolean | Marketing consent flag | 
| privacyConsent | Boolean | Privacy consent flag | 
| pep | Boolean | Politically exposed person flag | 
| depersonalized | Boolean | GDPR depersonalization flag | 
| natureOfBusiness | Text[50] | Nature of business | 
JSON Representation
{
"systemId": "GUID",
"contractNo": "Code[20]",
"lineNo": "Integer",
"contactNo": "Code[20]",
"roleInContract": "Code[20]",
"vatRegistrationNo": "Text[20]",
"firstName": "Text[100]",
"middleName": "Text[30]",
"surname": "Text[30]",
"name": "Text[100]",
"name2": "Text[50]",
"individualBusiness": "Enum",
"registrationNo": "Text[20]",
"contactCategory": "Code[20]",
"ratingCode": "Code[10]",
"languageCode": "Code[10]",
"address": "Text[100]",
"address2": "Text[50]",
"city": "Text[50]",
"countryRegionCode": "Code[10]",
"postCode": "Code[20]",
"county": "Text[30]",
"phoneNo": "Text[30]",
"eMail": "Text[80]",
"website": "Text[80]",
"title": "Text[30]",
"eSignSigner": "Boolean",
"eSignSigningOrder": "Integer",
"driverLicenseNo": "Code[20]",
"birthDate": "Date",
"gender": "Option",
"education": "Option",
"maritalStatus": "Option",
"noOfDependents": "Integer",
"permanentResident": "Boolean",
"residentialStatus": "Option",
"applicantAgeYears": "Integer",
"legalForm": "Code[20]",
"legalStatus": "Code[20]",
"industryGroup": "Code[10]",
"trustName": "Text[50]",
"companyRegNo": "Code[20]",
"companyRegDate": "Date",
"dateEstablished": "Date",
"yearsTrading": "Integer",
"totalSaleOrGrossRevenueAm": "Decimal",
"totalSaleOrGrossRevenueYr": "Integer",
"netProfitLastYear": "Decimal",
"noOfEmployees": "Integer",
"contactPerson": "Text[50]",
"proprietorFirstName": "Text[30]",
"proprietorLastName": "Text[30]",
"proprietorContactNo": "Text[15]",
"proprietorMainFaxNo": "Code[15]",
"proprietorMobileNo": "Code[20]",
"nationality": "Code[10]",
"capacity": "Decimal",
"marketingConsent": "Boolean",
"privacyConsent": "Boolean",
"pep": "Boolean",
"depersonalized": "Boolean",
"natureOfBusiness": "Text[50]"
}3. Applicant Income
This section describes the available API methods for managing applicant income records in Business Central. Each method is detailed below, including request structure, headers, and example payloads.
Methods
| Method | Return Type | Description | 
| GET applicantIncomesIndirect | applicantIncomes | Retrieves an applicant income record. | 
| POST applicantIncomesIndirect | applicantIncomesIndirect | Creates a new applicant income record. | 
| PATCH applicantIncomesIndirect | applicantIncomesIndirect | Updates an existing applicant income record. | 
| DELETE applicantIncomesIndirect | applicantIncomes | Deletes an applicant income record. | 
GET applicantIncomesIndirect
Description: Retrieves an applicant income record from Business Central.
HTTP Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantIncomes({SystemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body: None
Response: Returns 200 OK and a JSON object of the applicantIncomesIndirect record.
Example Response:
{
"systemId": "a1b2c3d4-e5f6-7890-abcd-1234567890ef",
"contractNo": "APP-2025-001",
"amountLCY": 1200.00,
"amountType": "Net",
"frequency": "Monthly",
"sourceOfIncome": "Employment"
}POST applicantIncomesIndirect
Description: Creates a new applicant income record.
HTTP Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantIncomesIndirect
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"contractNo": "APP-2025-001",
"applicantLineNo": 1,
"lineNo": 10000,
"contactNo": "CUST-1001",
"amountLCY": 1200.00,
"amountType": "Net",
"frequency": "Monthly",
"primary": true,
"sourceOfIncome": "Employment"
}Response: Returns 201 Created and the created applicantIncomesIndirect object.
PATCH applicantIncomesIndirect
Description: Updates an existing applicant income record.
HTTP Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantIncomesIndirect({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"amountLCY": 1500.00,
"sourceOfIncome": "Freelance"
}Response: Returns 200 OK and the updated applicantIncomesIndirect object.
DELETE applicantIncomesIndirect
Description: Deletes an applicant income record.
HTTP Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantIncomes({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
Request Body: None
Response: Returns 204 No Content if deletion is successful.
Properties
| Name | Type | Description | 
| systemId | GUID | Unique system identifier | 
| contractNo | Code[20] | Contract number | 
| applicantLineNo | Integer | Line number of the applicant | 
| lineNo | Integer | Line number of the income record | 
| contactNo | Code[20] | Contact number | 
| amountLCY | Decimal | Income amount in local currency | 
| amountType | Option (Net, Gross) | Indicates whether the amount is net or gross | 
| frequency | Option (Weekly, Fortnightly, Monthly, Yearly) | Frequency of income | 
| primary | Boolean | Indicates if this is the primary income | 
| sourceOfIncome | Text[100] | Description of the income source | 
| monthlyNetAmount | Decimal | Calculated monthly net amount | 
JSON Representation
{
"systemId": "GUID",
"contractNo": "Code[20]",
"applicantLineNo": "Integer",
"lineNo": "Integer",
"contactNo": "Code[20]",
"amountLCY": "Decimal",
"amountType": "Option",
"frequency": "Option",
"primary": "Boolean",
"sourceOfIncome": "Text[100]",
"monthlyNetAmount": "Decimal"
}
4. Applicant Expenditures
Methods
| Method | Return Type | Description | 
| GET applicantExpenditures | applicantExpenditures | Retrieves an applicant expenditure record. | 
| POST applicantExpendituresIndirect | applicantExpendituresIndirect | Creates a new applicant expenditure record. | 
| PATCH applicantExpendituresIndirect | applicantExpendituresIndirect | Updates an existing applicant expenditure record. | 
| DELETE applicantExpenditures | applicantExpenditures | Deletes an applicant expenditure record. | 
GET applicantExpenditures
Description: Retrieves an applicant expenditure record from Business Central.
HTTP Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantExpenditures({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body: None
Response: Returns 200 OK and a JSON object of the applicantExpenditure record.
Example Response:
{
"systemId": "a1b2c3d4-e5f6-7890-abcd-1234567890ef",
"contractNo": "APP-2025-001",
"type": "Rent",
"amountLCY": 800.00,
"paymentTo": "Landlord"
}POST applicantExpendituresIndirect
Description: Creates a new applicant expenditure record.
HTTP Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantExpendituresIndirect
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"contractNo": "APP-2025-001",
"applicantLineNo": 1,
"lineNo": 10000,
"contactNo": "CUST-1001",
"type": "Rent",
"description": "Monthly rent",
"amountLCY": 800.00,
"expenditureQuantity": 1,
"paymentTo": "Landlord",
"paymentPurposeCode": "RENT",
"creditCardType": "Visa"
}Response: Returns 201 Created and the created applicantExpendituresIndirect object.
PATCH applicantExpendituresIndirect
Description: Updates an existing applicant expenditure record.
HTTP Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantExpendituresIndirect({SystemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"amountLCY": 850.00,
"paymentTo": "New Landlord"
}Response: Returns 200 OK and the updated applicantExpendituresIndirect object.
DELETE applicantExpenditures
Description: Deletes an applicant expenditure record.
HTTP Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantExpenditures({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
Request Body: None
Response: Returns 204 No Content if deletion is successful.
Properties
| Name | Type | Description | 
| systemId | GUID | Unique system identifier | 
| contractNo | Code[20] | Contract number | 
| applicantLineNo | Integer | Line number of the applicant | 
| lineNo | Integer | Line number of the expenditure record | 
| contactNo | Code[20] | Contact number | 
| type | " ", Rent, Mortgage, Credit Card, No. Of Dependants, Monthly Finance Commitment, Board, Other 
 | Type of expenditure | 
| description | Text[50] | Description of the expenditure | 
| amountLCY | Decimal | Monthly amount in local currency | 
| expenditureQuantity | Decimal | Quantity of expenditure | 
| paymentTo | Text[250] | Recipient of the payment | 
| paymentPurposeCode | Code[20] | Purpose code of the payment | 
| otherCreditCardType | Text[30] | Custom credit card type | 
| creditCardType | Option (Visa, MasterCard, Other) | Credit card type | 
| creditCardLimit | Decimal | Credit card limit | 
JSON Representation
{
"systemId": "GUID",
"contractNo": "Code[20]",
"applicantLineNo": "Integer",
"lineNo": "Integer",
"contactNo": "Code[20]",
"type": "Enum",
"description": "Text[50]",
"amountLCY": "Decimal",
"expenditureQuantity": "Decimal",
"paymentTo": "Text[250]",
"paymentPurposeCode": "Code[20]",
"otherCreditCardType": "Text[30]",
"creditCardType": "Option",
"creditCardLimit": "Decimal"
}5. Applicant Employment
Methods
| Method | Return Type | Description | 
| GET applicantEmployments | applicantEmployments | Retrieves an applicant employment record | 
| POST applicantEmploymentsIndirect | applicantEmploymentsIndirect | Creates a new applicant employment record | 
| PATCH applicantEmploymentsIndirect | applicantEmploymentsIndirect | Updates an existing applicant employment record | 
| DELETE applicantEmployments | applicantEmployments | Deletes an applicant employment record | 
GET applicantEmployments
Description: Retrieves an applicant employment record from Business Central.
HTTP Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantEmployments({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body: None
Response:Returns 200 OK and a JSON object of the applicantEmployment record.
Example Response:
{
"systemId": "a1b2c3d4-e5f6-7890-abcd-1234567890ef",
"contractNo": "APP-2025-001",
"employer": "ABC Corp",
"employmentStatus": "FullTime",
"numberOfYears": 3
}POST applicantEmploymentsIndirect
Description: Creates a new applicant employment record.
HTTP Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantEmploymentsIndirect
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"contractNo": "APP-2025-001",
"applicantLineNo": 1,
"lineNo": 10000,
"contactNo": "CUST-1001",
"occupationCode": "DEV",
"employmentStatus": "FullTime",
"employer": "ABC Corp",
"numberOfYears": 3,
"numberOfMonths": 6,
"contactName": "Jane Smith",
"contactPosition": "HR Manager",
"contactPhone": "+37060000000",
"contactMobile": "+37060000001",
"employmentType": "Current"
}Response:Returns 201 Created and the created applicantEmploymentsIndirect object.
PATCH applicantEmploymentsIndirect
Description: Updates an existing applicant employment record.
HTTP Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantEmploymentsIndirect({SystemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"employer": "XYZ Ltd",
"numberOfYears": 4
}Response:Returns 200 OK and the updated applicantEmploymentsIndirect object.
DELETE applicantEmployments
Description: Deletes an applicant employment record.
HTTP Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/ applicantEmployments({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
Request Body: None
Response:Returns 204 No Content if deletion is successful.
Properties
| Name | Type | Description | 
| systemId | GUID | Unique system identifier | 
| contractNo | Code[20] | Contract number | 
| applicantLineNo | Integer | Line number of the applicant | 
| lineNo | Integer | Line number of the employment record | 
| contactNo | Code[20] | Contact number | 
| occupationCode | Code[20] | Occupation code | 
| employmentStatus | Casually Employed, Contractor, Full Time Employed, Other, Part Time Employed, Retired, Seasonal, Self-Employed 
 | Employment status | 
| employer | Text[100] | Employer name | 
| numberOfYears | Integer | Number of years at employment | 
| numberOfMonths | Integer | Number of months at employment | 
| contactName | Text[100] | Contact person's name | 
| contactPosition | Text[100] | Contact person's position | 
| contactPhone | Text[30] | Contact phone number | 
| contactMobile | Text[15] | Contact mobile number | 
| employmentType | Option (Current, Previous) | Type of employment | 
JSON Representation
{
"systemId": "GUID",
"contractNo": "Code[20]",
"applicantLineNo": "Integer",
"lineNo": "Integer",
"contactNo": "Code[20]",
"occupationCode": "Code[20]",
"employmentStatus": "Enum",
"employer": "Text[100]",
"numberOfYears": "Integer",
"numberOfMonths": "Integer",
"contactName": "Text[100]",
"contactPosition": "Text[100]",
"contactPhone": "Text[30]",
"contactMobile": "Text[15]",
"employmentType": "Option"
}6. Applicant ID Documents
Methods
| Method | Return Type | Description | 
| GET applicantIDDocuments | applicantIDDocuments | Retrieves an applicant ID document record | 
| POST applicantIDDocumentsIndirect | applicantIDDocumentsIndirect | Creates a new applicant ID document record | 
| PATCH applicantIDDocumentsIndirect | applicantIDDocumentsIndirect | Updates an existing applicant ID document record | 
| DELETE applicantIDDocuments | applicantIDDocuments | Deletes an applicant ID document record | 
GET applicantIDDocuments
Description: Retrieves an applicant ID document record from Business Central.
HTTP Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantIDDocuments({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body: None
Response: Returns 200 OK and a JSON object of the applicantIDDocuments record.
Example Response:
{
"systemId": "a1b2c3d4-e5f6-7890-abcd-1234567890ef",
"contractNo": "APP-2025-001",
"idDocType": "Passport",
"idDocNo": "AB1234567",
"nameOnIdDoc": "John Doe"
}POST applicantIDDocumentsIndirect
Description: Creates a new applicant ID document record.
HTTP Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantIDDocumentsIndirect
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"contractNo": "APP-2025-001",
"applicantLineNo": 1,
"lineNo": 10000,
"contactNo": "CUST-1001",
"idDocType": "Passport",
"idDocNo": "AB1234567",
"nameOnIdDoc": "John Doe",
"idDocIssueDate": "2020-01-01",
"idDocIssuedBy": "Migration Department",
"idDocValidUntil": "2030-01-01",
"comments": "Primary ID",
"depersonalized": false
}Response: Returns 201 Created and the created applicantIDDocumentsIndirect object.
PATCH applicantIDDocumentsIndirect
Description: Updates an existing applicant ID document record.
HTTP Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantIDDocumentsIndirect({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
{
"idDocIssuedBy": "New Authority",
"comments": "Updated issuer"
}Response: Returns 200 OK and the updated applicantIDDocumentsIndirect object.
DELETE applicantIDDocuments
Description: Deletes an applicant ID document record.
HTTP Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicantIDDocuments({systemId})
Headers:
| Header | Value | 
| Authorization | NTLM, OAuth2. Required. | 
Request Body: None
Response: Returns 204 No Content if deletion is successful.
Properties
| Name | Type | Description | 
| systemId | GUID | Unique system identifier | 
| contactNo | Code[20] | Contact number | 
| contractNo | Code[20] | Contract number | 
| applicantLineNo | Integer | Line number of the applicant | 
| lineNo | Integer | Line number of the ID document record | 
| idDocType | Passport, ID Card, Drivers Licence, Social Security Card 
 | Type of ID document | 
| idDocNo | Code[25] | ID document number | 
| nameOnIdDoc | Text[50] | Name as shown on the ID document | 
| idDocIssueDate | Date | Date the ID document was issued | 
| idDocIssuedBy | Text[60] | Issuing authority | 
| idDocValidUntil | Date | Expiry date of the ID document | 
| comments | Text[50] | Additional comments | 
| depersonalized | Boolean | GDPR depersonalization flag | 
JSON Representation
{
"systemId": "GUID",
"contactNo": "Code[20]",
"contractNo": "Code[20]",
"applicantLineNo": "Integer",
"lineNo": "Integer",
"idDocType": "Enum",
"idDocNo": "Code[25]",
"nameOnIdDoc": "Text[50]",
"idDocIssueDate": "Date",
"idDocIssuedBy": "Text[60]",
"idDocValidUntil": "Date",
"comments": "Text[50]",
"depersonalized": "Boolean"
}7. Assets
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET assets | assets | Retrieves an asset record | 
| POST assetsIndirect | assetsIndirect | Creates a new asset record | 
| PATCH assetsIndirect | assetsIndirect | Updates an existing asset record | 
| DELETE assets | assets | Deletes an asset record | 
GET assets
Description: Retrieves an asset record from Business Central.
HTTP Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/assets({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body: None
Response:
Returns 200 OK and a JSON object of the asset record.
POST assetsIndirect
Description: Creates a new asset record.
HTTP Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/assetsIndirect
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
JSON
{
"contractNo": "APP-2025-001",
"lineNo": 10000,
"amountsIncludingVAT": true,
"assetBrand": "TOYOTA",
"assetGroup": "SUV",
"assetCategory": "VEHICLE",
"model": "RAV4",
"modelYear": 2023,
"assetNewUsed": "New",
"assetType": "CAR",
"vin": "ABC123456789XYZ",
"licencePlateNo": "XYZ123",
"engineNo": "ENG987654321",
"serialNo": "SERIAL123456",
"quantity": 1,
"assetNo": "FA-001",
"assetDescription": "Toyota RAV4 Hybrid",
"acquisitionSource": "Dealer",
"supplierNo": "SUP-001",
"supplierName": "Toyota Dealer",
"msrpStickerPrice": 35000.00,
"purchasePrice": 34000.00,
"vatGroup": "STANDARD",
"purchasePriceExclVAT": 28000.00,
"residualPerc": 15.0,
"residualValue": 5100.00,
"residualValueExclVAT": 4250.00,
"annualMaintenanceCostAmount": 500.00,
"annualMCAmntExclVAT": 400.00,
"startingMileageKm": 0,
"mileageLimitKmYear": 20000,
"pricePerKmOverLimit": 0.10,
"closingMileageKm": 0,
"assetLocation": "Vilnius",
"creditLineNo": "CL-001",
"creditLinePhaseNo": "CLP-001",
"firstRegistrationDate": "2023-01-15",
"rvOverride": false,
"rvTolerance": 5.0,
"yearOfManufactureMBT": 2023,
"olAssetReturnedDate": null,
"olAssetReturned": false,
"totalResourceUsage": 0,
"pricePerUsage": 0.05,
"maintenancePerUsage": 0.02,
"servicingInterval": 10000,
"pricePerUsageExclVAT": 0.04,
"maintPerUsageExclVAT": 0.015,
"poNo": "PO-2025-001",
"createPO": true,
"poLineNo": 1,
"qtyOutstanding": 1,
"qtyDelivered": 0,
"qtyInvoiced": 0,
"invoicePaid": null,
"salesHeaderNo": "SH-001",
"loanAmount": 20000.00,
"rentalPrice": 300.00,
"rentalPriceExclVAT": 250.00,
"rentalPriceOverride": false,
"rentalPriceTolerance": 10.0
}
Response:
Returns 201 Created and the created assetsIndirect object.
PATCH assetsIndirect
Description: Updates an existing asset record.
HTTP Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/assetsIndirect({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body:
JSON
{
"purchasePrice": 34500.00,
"rentalPrice": 320.00,
"rentalPriceOverride": true
}Response:
Returns 200 OK and the updated assetsIndirect object.
DELETE assets
Description: Deletes an asset record.
HTTP Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/assets({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
Request Body: None
Response:
Returns 204 No Content if deletion is successful.
Properties
| Name | Type | Description | 
| contractNo | Code[20] | Contract number | 
| lineNo | Integer | Line number | 
| assetBrand | Code[20] | Asset brand | 
| assetGroup | Code[20] | Asset group | 
| assetCategory | Code[20] | Asset category | 
| model | Code[60] | Model name | 
| modelYear | Integer | Year of the model | 
| assetNewUsed | Option | Indicates if asset is new or used | 
| assetType | Code[20] | Asset type | 
| vin | Code[20] | Vehicle Identification Number | 
| licencePlateNo | Code[20] | License plate number | 
| engineNo | Code[20] | Engine number | 
| serialNo | Code[50] | Serial number of asset | 
| quantity | Integer | Quantity of assets | 
| assetNo | Code[20] | Asset number | 
| assetDescription | Text[100] | Description of asset | 
| acquisitionSource | Asset Supplier, Lease Originator, Lessor, 3rd party | Source of acquisition | 
| supplierNo | Code[20] | Supplier number | 
| supplierName | Text[100] | Supplier name | 
| msrpStickerPrice | Decimal | MSRP sticker price | 
| purchasePrice | Decimal | Purchase price including VAT | 
| vatGroup | Code[20] | VAT group | 
| purchasePriceExclVAT | Decimal | Purchase price excluding VAT | 
| residualPerc | Decimal | Residual percentage | 
| residualValue | Decimal | Residual value | 
| residualValueExclVAT | Decimal | Residual value excluding VAT | 
| annualMaintenanceCostAmount | Decimal | Annual maintenance cost | 
| annualMCAmntExclVAT | Decimal | Annual maintenance cost excluding VAT | 
| startingMileageKm | Decimal | Starting mileage in km | 
| mileageLimitKmYear | Decimal | Mileage limit per year | 
| pricePerKmOverLimit | Decimal | Price per km over limit | 
| closingMileageKm | Decimal | Closing mileage in km | 
| assetLocation | Text[250] | Location of asset | 
| creditLineNo | Code[20] | Credit line number | 
| creditLinePhaseNo | Code[20] | Credit line phase number | 
| firstRegistrationDate | Date | First registration date | 
| rvOverride | Boolean | Residual value override flag | 
| rvTolerance | Decimal | Residual value tolerance percentage | 
| yearOfManufactureMBT | Integer | Year of manufacture | 
| olAssetReturnedDate | Date | Asset returned date | 
| olAssetReturned | Boolean | Asset returned flag | 
| totalResourceUsage | Decimal | Total resource usage | 
| pricePerUsage | Decimal | Price per usage | 
| maintenancePerUsage | Decimal | Maintenance per usage | 
| servicingInterval | Decimal | Servicing interval | 
| pricePerUsageExclVAT | Decimal | Price per usage excluding VAT | 
| maintPerUsageExclVAT | Decimal | Maintenance per usage excluding VAT | 
| poNo | Code[20] | Purchase order number | 
| createPO | Boolean | Create purchase order flag | 
| poLineNo | Integer | Purchase order line number | 
| qtyOutstanding | Decimal | Quantity outstanding | 
| qtyDelivered | Decimal | Quantity delivered | 
| qtyInvoiced | Decimal | Quantity invoiced | 
| invoicePaid | Date | Invoice paid date | 
| salesHeaderNo | Code[20] | Sales header number | 
| loanAmount | Decimal | Loan amount | 
| rentalPrice | Decimal | Rental price | 
| rentalPriceExclVAT | Decimal | Rental price excluding VAT | 
| rentalPriceOverride | Boolean | Rental price override flag | 
| rentalPriceTolerance | Decimal | Rental price tolerance percentage | 
JSON Representation
JSON
{
"contractNo": "Code[20]",
"lineNo": "Integer",
"assetBrand": "Code[20]",
"assetGroup": "Code[20]",
"assetCategory": "Code[20]",
"model": "Code[60]",
"modelYear": "Integer",
"assetNewUsed": "Option",
"assetType": "Code[20]",
"vin": "Code[20]",
"licencePlateNo": "Code[20]",
"engineNo": "Code[20]",
"serialNo": "Code[50]",
"quantity": "Integer",
"assetNo": "Code[20]",
"assetDescription": "Text[100]",
"acquisitionSource": "Enum",
"supplierNo": "Code[20]",
"supplierName": "Text[100]",
"msrpStickerPrice": "Decimal",
"purchasePrice": "Decimal",
"vatGroup": "Code[20]",
"purchasePriceExclVAT": "Decimal",
"residualPerc": "Decimal",
"residualValue": "Decimal",
"residualValueExclVAT": "Decimal",
"annualMaintenanceCostAmount": "Decimal",
"annualMCAmntExclVAT": "Decimal",
"startingMileageKm": "Decimal",
"mileageLimitKmYear": "Decimal",
"pricePerKmOverLimit": "Decimal",
"closingMileageKm": "Decimal",
"assetLocation": "Text[250]",
"creditLineNo": "Code[20]",
"creditLinePhaseNo": "Code[20]",
"firstRegistrationDate": "Date",
"rvOverride": "Boolean",
"rvTolerance": "Decimal",
"yearOfManufactureMBT": "Integer",
"olAssetReturnedDate": "Date",
"olAssetReturned": "Boolean",
"totalResourceUsage": "Decimal",
"pricePerUsage": "Decimal",
"maintenancePerUsage": "Decimal",
"servicingInterval": "Decimal",
"pricePerUsageExclVAT": "Decimal",
"maintPerUsageExclVAT": "Decimal",
"poNo": "Code[20]",
"createPO": "Boolean",
"poLineNo": "Integer",
"qtyOutstanding": "Decimal",
"qtyDelivered": "Decimal",
"qtyInvoiced": "Decimal",
"invoicePaid": "Date",
"salesHeaderNo": "Code[20]",
"loanAmount": "Decimal",
"rentalPrice": "Decimal",
"rentalPriceExclVAT": "Decimal",
"rentalPriceOverride": "Boolean",
"rentalPriceTolerance": "Decimal"
}8. Contract Services
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET contractAssetServices | contractAssetServices | Retrieves a contract service record | 
| POST contractAssetServicesIndirect | contractAssetServicesIndirect | Creates a new contract service record | 
| PATCH contractAssetServicesIndirect | contractAssetServicesIndirect | Updates an existing contract service record | 
| DELETE contractAssetServices | contractAssetServices | Deletes a contract service record | 
GET contractAssetServices
Description: Retrieves a contract service record from Business Central.
HTTP Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetServices({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Accept | application/json | 
Request Body: None
Response:
Returns 200 OK and a JSON object of the contractAssetServices record.
POST contractAssetServicesIndirect
Description: Creates a new contract service record.
HTTP Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetServicesIndirect
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body Example:
JSON
{
"contractNo": "APP-2025-001",
"code": "SERV-001",
"description": "Maintenance Service",
"serviceCostAnnual": 1200.00,
"currencyCode": "EUR",
"included": true
}Response:
Returns 201 Created and the created contractAssetServicesIndirect object.
PATCH contractAssetServicesIndirect
Description: Updates an existing contract service record.
HTTP Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetServicesIndirect({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
| Content-Type | application/json | 
Request Body Example:
JSON
{
"serviceCostAnnual": 1300.00,
"adminFeeAnnual": 60.00,
"description": "Updated Maintenance Service"
}Response:
Returns 200 OK and the updated contractAssetServicesIndirect object.
DELETE contractAssetServices
Description: Deletes a contract service record.
HTTP Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetServices({systemId})
Headers:
| Header | Value | 
|---|---|
| Authorization | NTLM, OAuth2. Required. | 
Request Body: None
Response:
Returns 204 No Content if deletion is successful.
Properties
| Name | Type | Description | 
|---|---|---|
| contractNo | Code[20] | Contract number | 
| code | Code[20] | Service code linked to service master | 
| lineNo | Integer | Line number of the service record | 
| description | Text[250] | Description of the service | 
| assetLineNo | Integer | Line number of the related asset | 
| assetID | Code[20] | Fixed asset ID | 
| serviceCostAnnual | Decimal | Annual cost of the service | 
| currencyCode | Code[20] | Currency used for pricing | 
| serviceCostMonthly | Decimal | Monthly cost of the service | 
| scheduleNo | Code[20] | Schedule number | 
| versionNo | Integer | Schedule version number | 
| paymentDue | With Upfront Fees, Included in Financed Amount, Included in Installment, Re-charge Actual Cost | When payment is due (e.g., included in installment) | 
| overBudget | Not applicable, Charge to Customer with next invoice, Charge to Customer as cost incurred, Expense, Block | Budget control status | 
| totalAmount | Decimal | Total amount for the service | 
| noOfMonths | Integer | Duration of the service in months | 
| acquisitionSource | Asset Supplier, Lease Originator, Lessor, 3rd party | Source of service acquisition | 
| servicerNo | Code[20] | Contact number of the service provider | 
| postingDescription | Text[80] | Description used for posting | 
| serviceCostPerLease | Decimal | Cost of service per lease | 
| asPercentOfServiceBase | Decimal | Cost as percentage of base | 
| asAnnualPercentOfServiceBase | Decimal | Annual cost as percentage of base | 
| serviceBase | Asset Price, Asset + Bolt-ons, Asset + Bolt-ons + Accessories, Capital Amount excl. Financed Services, Financed Amount excl. Financed Services, MSRP Sticker Price, | Base used for service pricing | 
| serviceBaseAmount | Decimal | Amount of the service base | 
| adminFeeAnnual | Decimal | Annual administrative fee | 
| adminFeePerLease | Decimal | Admin fee per lease | 
| adminFeePerEvent | Decimal | Admin fee per event | 
| adminFeeAsPercentOfCost | Decimal | Admin fee as percentage of cost | 
| included | Boolean | Whether the service is included in the lease | 
| overrideStandardPrice | Boolean | Whether standard price is overridden | 
| mandatory | Boolean | Whether the service is mandatory | 
| servicePackageNo | Integer | Service package number | 
JSON Representation
JSON
{
"contractNo": "Code[20]",
"code": "Code[20]",
"lineNo": "Integer",
"description": "Text[250]",
"assetLineNo": "Integer",
"assetID": "Code[20]",
"serviceCostAnnual": "Decimal",
"currencyCode": "Code[20]",
"serviceCostMonthly": "Decimal",
"scheduleNo": "Code[20]",
"versionNo": "Integer",
"paymentDue": "Enum",
"overBudget": "Enum",
"totalAmount": "Decimal",
"noOfMonths": "Integer",
"acquisitionSource": "Enum",
"servicerNo": "Code[20]",
"postingDescription": "Text[80]",
"serviceCostPerLease": "Decimal",
"asPercentOfServiceBase": "Decimal",
"asAnnualPercentOfServiceBase": "Decimal",
"serviceBase": "Enum",
"serviceBaseAmount": "Decimal",
"adminFeeAnnual": "Decimal",
"adminFeePerLease": "Decimal",
"adminFeePerEvent": "Decimal",
"adminFeeAsPercentOfCost": "Decimal",
"included": "Boolean",
"overrideStandardPrice": "Boolean",
"mandatory": "Boolean",
"servicePackageNo": "Integer"
}9. Contract Insurances
Methods
| Method | Return Type | Description | 
| GET contractAssetInsurances | contractAssetInsurances | Retrieves a contract insurance record | 
| POST contractAssetInsurancesIndirect | contractAssetInsurancesIndirect | Creates a new contract insurance record | 
| PATCH contractAssetInsurancesIndirect | contractAssetInsurancesIndirect | Updates an existing contract insurance record | 
| DELETE contractAssetInsurances | contractAssetInsurances | Deletes a contract insurance record | 
GET contractAssetInsurances
Description: Retrieves a contract insurance record from Business Central.
Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetInsurances({systemId})
POST contractAssetInsurancesIndirect
Description: Creates a new contract insurance record.
Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetInsurancesIndirect
Example:
JSON
{
"contractNo": "APP-2025-001",
"insuranceProductCode": "INS-001",
"assetLineNo": 1,
"included": true
}PATCH contractAssetInsurancesIndirect
Description: Updates an existing contract insurance record.
Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetInsurancesIndirect({systemId})
Example:
JSON
{
"annualPayment": 950.00,
"overrideStandardPrice": true
}DELETE contractAssetInsurances
Description: Deletes a contract insurance record.
Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetInsurances({systemId})
Properties
| Name | Type | Description | 
| contractNo | Code[20] | Contract number | 
| lineNo | Integer | Line number of the insurance record | 
| insuranceProductCode | Code[20] | Insurance product code | 
| assetLineNo | Integer | Line number of the related asset | 
| assetID | Code[20] | Fixed asset ID | 
| treatAs | With Upfront Fees, Included in Financed Amount, Included in Installment, Re-charge Actual Cost 
 | How the insurance is treated in payment schedule | 
| overBudget | Not applicable, Charge to Customer with next invoice, Charge to Customer as cost incurred, Expense, Block 
 | Budget control status | 
| insuranceBase | Decimal | Base amount used for insurance calculation | 
| coefficientPct | Decimal | Coefficient percentage used for pricing | 
| annualPayment | Decimal | Annual insurance payment | 
| annualPaymentLCY | Decimal | Annual payment in local currency | 
| monthlyPayment | Decimal | Monthly insurance payment | 
| monthlyPaymentLCY | Decimal | Monthly payment in local currency | 
| totalAmount | Decimal | Total insurance amount | 
| totalAmountLCY | Decimal | Total amount in local currency | 
| noOfMonths | Integer | Duration of the insurance in months | 
| currencyCode | Code[20] | Currency used for pricing | 
| postingDescription | Text[80] | Description used for posting | 
| commissionPayableAmount | Decimal | Commission payable to insurer | 
| commissionReceivableAmount | Decimal | Commission receivable from insurer | 
| customerNo | Code[20] | Customer number | 
| insurerNo | Code[20] | Insurer contact number | 
| scheduleNo | Code[20] | Schedule number | 
| versionNo | Integer | Schedule version number | 
| included | Boolean | Whether the insurance is included in the lease | 
| overrideStandardPrice | Boolean | Whether standard price is overridden | 
| mandatory | Boolean | Whether the insurance is mandatory | 
| insurancePackageNo | Integer | Insurance package number | 
JSON Representation
{
"contractNo": "Code[20]",
"lineNo": "Integer",
"insuranceProductCode": "Code[20]",
"assetLineNo": "Integer",
"assetID": "Code[20]",
"treatAs": "Enum",
"overBudget": "Enum",
"insuranceBase": "Decimal",
"coefficientPct": "Decimal",
"annualPayment": "Decimal",
"annualPaymentLCY": "Decimal",
"monthlyPayment": "Decimal",
"monthlyPaymentLCY": "Decimal",
"totalAmount": "Decimal",
"totalAmountLCY": "Decimal",
"noOfMonths": "Integer",
"currencyCode": "Code[20]",
"postingDescription": "Text[80]",
"commissionPayableAmount": "Decimal",
"commissionReceivableAmount": "Decimal",
"customerNo": "Code[20]",
"insurerNo": "Code[20]",
"scheduleNo": "Code[20]",
"versionNo": "Integer",
"included": "Boolean",
"overrideStandardPrice": "Boolean",
"mandatory": "Boolean",
"insurancePackageNo": "Integer"
}
10. Asset Options
Methods
| Method | Return Type | Description | 
| GET contractAssetOptions | contractAssetOptions | Retrieves a contract asset option record | 
| POST contractAssetOptionsIndirect | contractAssetOptionsIndirect | Creates a new contract asset option record | 
| PATCH contractAssetOptionsIndirect | contractAssetOptionsIndirect | Updates an existing contract asset option record | 
| DELETE contractAssetOptions | contractAssetOptions | Deletes a contract asset option record | 
GET contractAssetOptions
Description: Retrieves a contract asset option record from Business Central.
Request:
GET
https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetOptions({systemId})
POST contractAssetOptionsIndirect
Description: Creates a new contract asset option record.
Request:
POST
https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetOptionsIndirect
Example:
{
"contractNo": "APP-2025-001",
"assetLineNo": 1,
"equipmentCode": "OPT-001",
"equipmentType": "Accessories",
"purchasePrice": 150.00
}PATCH contractAssetOptionsIndirect
Description: Updates an existing contract asset option record.
Request:
PATCH
https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetOptionsIndirect({systemId})
Example:
{
"purchasePrice": 175.00,
"vatGroup": "STANDARD"
}DELETE contractAssetOptions
Description: Deletes a contract asset option record.
Request:
DELETE
https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractAssetOptions({systemId})
Properties
| Name | Type | Description | 
| contractNo | Code[20] | Contract number | 
| assetLineNo | Integer | Line number of the related asset | 
| lineNo | Integer | Line number of the option record | 
| systemId | GUID | Unique system identifier | 
| equipmentCode | Code[20] | Code of the additional equipment | 
| description | Text[250] | Description of the equipment | 
| equipmentType | " ",Accessories,Bolt-On | Type of equipment (Accessories or Bolt-On) | 
| vatGroup | Code[20] | VAT group for the equipment | 
| purchasePrice | Decimal | Purchase price including VAT | 
| purchasePriceExclVAT | Decimal | Purchase price excluding VAT | 
| acquisitionSource | Supplier,3rd Party 
 | Source of acquisition (Supplier or 3rd Party) | 
| supplierNo | Code[20] | Supplier contact number | 
| brand | Code[20] | Brand of the equipment | 
| model | Code[60] | Model of the equipment | 
JSON Representation
{
"contractNo": "Code[20]",
"assetLineNo": "Integer",
"lineNo": "Integer",
"systemId": "GUID",
"equipmentCode": "Code[20]",
"description": "Text[250]",
"equipmentType": "Option",
"vatGroup": "Code[20]",
"purchasePrice": "Decimal",
"purchasePriceExclVAT": "Decimal",
"acquisitionSource": "Enum",
"supplierNo": "Code[20]",
"brand": "Code[20]",
"model": "Code[60]"
}11. Schedule
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET schedules | schedules | Retrieves a schedule record | 
| POST schedulesIndirect | schedulesIndirect | Creates a new schedule record | 
| PATCH schedulesIndirect | schedulesIndirect | Updates an existing schedule record | 
| DELETE schedules | schedules | Deletes a schedule record | 
Method Detalisation
GET schedules
Description: Retrieves a schedule record from Business Central.
Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/schedules({systemId})
POST schedulesIndirect
Description: Creates a new schedule record.
Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/schedulesIndirect
Example:
JSON
{
"contractNo": "APP-2025-001",
"scheduleNo": "APP-2025-001",
"programCode": "PRG-001",
"term": "36M",
"frequency": "Monthly"
}PATCH schedulesIndirect
Description: Updates an existing schedule record.
Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/schedulesIndirect({systemId})
Example:
JSON
{
"interestRate": 4.5,
"downpaymentAmount": 2000.00
}DELETE schedules
Description: Deletes a schedule record.
Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/schedules({systemId})
Properties
| Name | Type | Description | 
|---|---|---|
| contractNo | Code[20] | Contract number | 
| scheduleNo | Code[20] | Schedule number | 
| versionNo | Integer | Version number of the schedule | 
| programCode | Code[20] | Program code used for pricing | 
| financialProduct | Code[20] | Financial product code | 
| term | Code[20] | Term code (e.g., 36M) | 
| termMonths | Integer | Term duration in months | 
| frequency | Code[20] | Installment frequency (e.g., Monthly) | 
| installmentsDue | Enum | Installments due type (Advance/Arrears) | 
| startingDate | Date | Start date of the schedule | 
| endingDate | Date | End date of the schedule | 
| downpaymentPercentage | Decimal | Downpayment percentage | 
| downpaymentAmount | Decimal | Downpayment amount | 
| interestManual | Boolean | Indicates if interest is manually set | 
| interestRate | Decimal | Total interest rate | 
| interestPct | Decimal | Fixed interest percentage | 
| variableInterestPct | Decimal | Variable interest percentage | 
| variableInterestNextChangeDate | Date | Next change date for variable interest | 
| residualValuePerc | Decimal | Residual value percentage | 
| residualValue | Decimal | Residual value amount | 
| residualValueType | Enum | Type of residual value (e.g., Balloon) | 
| establishmentFeeFinanced | Decimal | Financed establishment fee | 
| supplierDepositAmount | Decimal | Supplier deposit amount | 
| tradeInAssetValue | Decimal | Trade-in asset value | 
| refinPayOutFigure | Decimal | Refinancing pay-out figure | 
| originatorFeeFinanced | Decimal | Financed originator fee | 
| brokerageAmountFinanced | Decimal | Financed brokerage amount | 
| establishmentFeeUpfront | Decimal | Upfront establishment fee | 
| originatorFeeUpfront | Decimal | Upfront originator fee | 
| brokerageAmountUpfront | Decimal | Upfront brokerage amount | 
| installmentFee | Decimal | Installment fee | 
| annuityLinear | Enum | Installment schedule type (Annuity/Linear) | 
| upfrontFeesPaymentCRule | Enum | Control rule for upfront fees | 
| commissionSchema | Code[20] | Commission schema code | 
| commissionAmountLCY | Decimal | Commission amount in local currency | 
| payCommissionTo | Code[20] | Contact to whom commission is paid | 
| subventionAmountLCY | Decimal | Subvention amount in local currency | 
| subventedBy | Code[20] | Contact who pays the subvention | 
| versionStatus | Option | Status of the schedule version (New/Valid/Old) | 
| totalInsuranceFinanced | Decimal | Total financed insurance amount | 
| totalInsuranceUpfront | Decimal | Total upfront insurance amount | 
| feesApplyOnDisbursement | Boolean | Whether fees apply on disbursement | 
| totalAccessories | Decimal | Total accessories amount | 
| totalBoltOns | Decimal | Total bolt-ons amount | 
| totalMaintenanceFinanced | Decimal | Total financed maintenance cost | 
| totalMaintCostUpfront | Decimal | Total upfront maintenance cost | 
| netCapitalAmount | Decimal | Net capital amount | 
| numberOfPaymentPeriods | Integer | Number of payment periods | 
| quoteApplicPaymAmount | Decimal | Quote/application payment amount | 
| totalAssetPrice | Decimal | Total asset price | 
| stampTaxFeesFinanced | Decimal | Financed stamp tax on fees | 
| stampTaxFeesUpfront | Decimal | Upfront stamp tax on fees | 
| brokerage | Decimal | Brokerage percentage | 
| baseBrokerage | Decimal | Base brokerage percentage | 
JSON Representation
JSON
{
"contractNo": "Code[20]",
"scheduleNo": "Code[20]",
"versionNo": "Integer",
"programCode": "Code[20]",
"financialProduct": "Code[20]",
"term": "Code[20]",
"termMonths": "Integer",
"frequency": "Code[20]",
"installmentsDue": "Enum",
"startingDate": "Date",
"endingDate": "Date",
"downpaymentPercentage": "Decimal",
"downpaymentAmount": "Decimal",
"interestManual": "Boolean",
"interestRate": "Decimal",
"interestPct": "Decimal",
"variableInterestPct": "Decimal",
"variableInterestNextChangeDate": "Date",
"residualValuePerc": "Decimal",
"residualValue": "Decimal",
"residualValueType": "Enum",
"establishmentFeeFinanced": "Decimal",
"supplierDepositAmount": "Decimal",
"tradeInAssetValue": "Decimal",
"refinPayOutFigure": "Decimal",
"originatorFeeFinanced": "Decimal",
"brokerageAmountFinanced": "Decimal",
"establishmentFeeUpfront": "Decimal",
"originatorFeeUpfront": "Decimal",
"brokerageAmountUpfront": "Decimal",
"installmentFee": "Decimal",
"annuityLinear": "Enum",
"upfrontFeesPaymentCRule": "Enum",
"commissionSchema": "Code[20]",
"commissionAmountLCY": "Decimal",
"payCommissionTo": "Code[20]",
"subventionAmountLCY": "Decimal",
"subventedBy": "Code[20]",
"versionStatus": "Option",
"totalInsuranceFinanced": "Decimal",
"totalInsuranceUpfront": "Decimal",
"feesApplyOnDisbursement": "Boolean",
"totalAccessories": "Decimal",
"totalBoltOns": "Decimal",
"totalMaintenanceFinanced": "Decimal",
"totalMaintCostUpfront": "Decimal",
"netCapitalAmount": "Decimal",
"numberOfPaymentPeriods": "Integer",
"quoteApplicPaymAmount": "Decimal",
"totalAssetPrice": "Decimal",
"stampTaxFeesFinanced": "Decimal",
"stampTaxFeesUpfront": "Decimal",
"brokerage": "Decimal",
"baseBrokerage": "Decimal"
}12. Schedule Lines
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET scheduleLines | scheduleLines | Retrieves a schedule line record | 
| POST scheduleLinesIndirect | scheduleLinesIndirect | Creates a new schedule line record | 
| PATCH scheduleLinesIndirect | scheduleLinesIndirect | Updates an existing schedule line record | 
| DELETE scheduleLines | scheduleLines | Deletes a schedule line record | 
GET scheduleLines
Description: Retrieves a schedule line record from Business Central.
Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/scheduleLines({systemId})
POST scheduleLinesIndirect
Description: Creates a new schedule line record.
Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/scheduleLinesIndirect
Example:
JSON
{
"contractNo": "APP-2025-001",
"scheduleNo": "SCH-001",
"versionNo": 1,
"lineNo": 10000,
"entryType": "Installment",
"date": "2025-10-01"
}PATCH scheduleLinesIndirect
Description: Updates an existing schedule line record.
Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/scheduleLinesIndirect({systemId})
Example:
JSON
{
"interestAmount": 120.00,
"principalAmount": 500.00
}DELETE scheduleLines
Description: Deletes a schedule line record.
Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/scheduleLines({systemId})
Properties
| Name | Type | Description | 
|---|---|---|
| contractNo | Code[20] | Contract number | 
| scheduleNo | Code[20] | Schedule number | 
| versionNo | Integer | Version number | 
| lineNo | Integer | Line number | 
| entryType | “ ”, 1, 2, Installment, 4, Early buy-out, 6, Shortfall, Special Payment, Residual Value, Balloon, Inertia | Entry type (e.g., Installment, Early buy-out, etc.) | 
| period | Integer | Period | 
| date | Date | Date of the schedule line | 
| dateNotRecalc | Boolean | Date not recalculated | 
| invoiced | Boolean | Invoiced | 
| interestRate | Decimal | Interest rate | 
| effectiveDateOfInterestCh | Date | Effective date of interest rate change | 
| currencyCode | Code[10] | Currency code | 
| finProductCode | Code[20] | Financial product code | 
| assetValueVariation | Decimal | Asset value variation | 
| assetValueChanged | Boolean | Asset value changed | 
| effectiveDateOfAssetVar | Date | Effective date of asset variation | 
| outstandingAmount | Decimal | Outstanding amount | 
| outstandingInclVAT | Decimal | Outstanding amount including VAT | 
| principalAmount | Decimal | Principal amount excluding VAT | 
| principalInclVAT | Decimal | Principal amount including VAT | 
| principalNotRecalc | Boolean | Principal not recalculated | 
| principalChange | Decimal | Principal change | 
| effectiveDateOfPrincipalCh | Date | Effective date of principal change | 
| interestAmount | Decimal | Interest amount excluding VAT | 
| interestInclStampTax | Decimal | Interest including stamp tax | 
| interestInclVAT | Decimal | Interest amount including VAT | 
| interestNotRecalc | Boolean | Interest not recalculated | 
| additionalLine | Boolean | Additional line | 
| totalInstallment | Decimal | Installment excluding VAT | 
| installmentInclVAT | Decimal | Installment including VAT | 
| installmentNotRecalculated | Boolean | Installment not recalculated | 
| installmentInclVATManual | Decimal | Installment including VAT (manual) | 
| remainingDepositAmount | Decimal | Remaining deposit excluding VAT | 
| remainingDepositInclVAT | Decimal | Remaining deposit including VAT | 
| depositInclusionAmount | Decimal | Deposit inclusion excluding VAT | 
| depositInclusionInclVAT | Decimal | Deposit inclusion including VAT | 
| stampTaxAmountInterest | Decimal | Stamp tax amount (interest) | 
| stampTaxAmountIntslFee | Decimal | Stamp tax amount (installment fee) | 
| insurance | Decimal | Insurance excluding VAT | 
| insuranceInclVAT | Decimal | Insurance including VAT | 
| services | Decimal | Services excluding VAT | 
| servicesInclVAT | Decimal | Services including VAT | 
| adminFees | Decimal | Service admin fees excluding VAT | 
| adminFeesInclVAT | Decimal | Service admin fees including VAT | 
| installmentFees | Decimal | Installment fees excluding VAT | 
| installmentFeesInclVAT | Decimal | Installment fees including VAT | 
| balloonInterestCalculated | Decimal | Balloon interest calculated | 
| balloonInterestApplied | Decimal | Balloon interest applied | 
| balloonInclVATIntCalc | Decimal | Balloon including VAT interest calculated | 
| balloonInclVATIntApplied | Decimal | Balloon including VAT interest applied | 
| balloonInterestNotRecalc | Boolean | Balloon interest not recalculated | 
| vatOnIPMTCalculated | Decimal | VAT on IPMT calculated | 
| vatOnIPMTEqualPartsCal | Decimal | VAT on IPMT (equal parts) calculated | 
| vatOnIPMTEqPApplied | Decimal | VAT on IPMT - equal parts applied | 
| interestVatNotRecalc | Boolean | Interest VAT not recalculated | 
| vatOnBalloonIntCalc | Decimal | VAT on balloon interest calculated | 
| vatOnBallonIntApplied | Decimal | VAT on balloon interest applied | 
| calculationGUID | GUID | Calculation GUID | 
| invoiceNo | Code[20] | Invoice number | 
| invoicePostingDate | Date | Invoice posting date | 
| emailNotificationCreated | Boolean | Email notification created | 
| skipInsurance | Boolean | Skip insurance | 
| skipServices | Boolean | Skip services | 
| skipInstallmentFee | Boolean | Skip installment fee | 
| ipmt | Decimal | IPMT (interest portion of payment) | 
| closingOutstanding | Decimal | Closing outstanding | 
| closingOutstandingInclVAT | Decimal | Closing outstanding including VAT | 
| migrationFlag | Code[20] | Migration flag | 
| assetVariationFactor | Decimal | Asset variation factor | 
| amountAddedToInstallment | Decimal | Amount added to installment | 
| hpVatAmountAdded | Boolean | HP VAT amount added | 
JSON Representation
{
"contractNo": "Code[20]",
"scheduleNo": "Code[20]",
"versionNo": "Integer",
"lineNo": "Integer",
"entryType": "Enum",
"period": "Integer",
"date": "Date",
"dateNotRecalc": "Boolean",
"invoiced": "Boolean",
"interestRate": "Decimal",
"effectiveDateOfInterestCh": "Date",
"currencyCode": "Code[10]",
"finProductCode": "Code[20]",
"assetValueVariation": "Decimal",
"assetValueChanged": "Boolean",
"effectiveDateOfAssetVar": "Date",
"outstandingAmount": "Decimal",
"outstandingInclVAT": "Decimal",
"principalAmount": "Decimal",
"principalInclVAT": "Decimal",
"principalNotRecalc": "Boolean",
"principalChange": "Decimal",
"effectiveDateOfPrincipalCh": "Date",
"interestAmount": "Decimal",
"interestInclStampTax": "Decimal",
"interestInclVAT": "Decimal",
"interestNotRecalc": "Boolean",
"additionalLine": "Boolean",
"totalInstallment": "Decimal",
"installmentInclVAT": "Decimal",
"installmentNotRecalculated": "Boolean",
"installmentInclVATManual": "Decimal",
"remainingDepositAmount": "Decimal",
"remainingDepositInclVAT": "Decimal",
"depositInclusionAmount": "Decimal",
"depositInclusionInclVAT": "Decimal",
"stampTaxAmountInterest": "Decimal",
"stampTaxAmountIntslFee": "Decimal",
"insurance": "Decimal",
"insuranceInclVAT": "Decimal",
"services": "Decimal",
"servicesInclVAT": "Decimal",
"adminFees": "Decimal",
"adminFeesInclVAT": "Decimal",
"installmentFees": "Decimal",
"installmentFeesInclVAT": "Decimal",
"balloonInterestCalculated": "Decimal",
"balloonInterestApplied": "Decimal",
"balloonInclVATIntCalc": "Decimal",
"balloonInclVATIntApplied": "Decimal",
"balloonInterestNotRecalc": "Boolean",
"vatOnIPMTCalculated": "Decimal",
"vatOnIPMTEqualPartsCal": "Decimal",
"vatOnIPMTEqPApplied": "Decimal",
"interestVatNotRecalc": "Boolean",
"vatOnBalloonIntCalc": "Decimal",
"vatOnBallonIntApplied": "Decimal",
"calculationGUID": "GUID",
"invoiceNo": "Code[20]",
"invoicePostingDate": "Date",
"emailNotificationCreated": "Boolean",
"skipInsurance": "Boolean",
"skipServices": "Boolean",
"skipInstallmentFee": "Boolean",
"ipmt": "Decimal",
"closingOutstanding": "Decimal",
"closingOutstandingInclVAT": "Decimal",
"migrationFlag": "Code[20]",
"assetVariationFactor": "Decimal",
"amountAddedToInstallment": "Decimal",
"hpVatAmountAdded": "Boolean"
}13. Guarantees
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET contractGuarantees | contractGuarantees | Retrieves a contract guarantee record | 
| POST contractGuaranteesIndirect | contractGuaranteesIndirect | Creates a new contract guarantee record | 
| PATCH contractGuaranteesIndirect | contractGuaranteesIndirect | Updates an existing contract guarantee record | 
| DELETE contractGuarantees | contractGuarantees | Deletes a contract guarantee record | 
GET contractGuarantees
Description: Retrieves a contract guarantee record from Business Central.
Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractGuarantees({systemId})
POST contractGuaranteesIndirect
Description: Creates a new contract guarantee record.
Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractGuaranteesIndirect
Example:
JSON
{
"contractNo": "APP-2025-001",
"guaranteeCode": "GUAR-001",
"amount": 10000.00,
"startingDate": "2025-10-01"
}
PATCH contractGuaranteesIndirect
Description: Updates an existing contract guarantee record.
Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractGuaranteesIndirect({systemId})
Example:
JSON
{
"amount": 12000.00,
"endingDate": "2026-10-01"
}DELETE contractGuarantees
Description: Deletes a contract guarantee record.
Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractGuarantees({systemId})
Properties
| Name | Type | Description | 
|---|---|---|
| contractNo | Code[20] | Contract number | 
| lineNo | Integer | Line number of the guarantee record | 
| guaranteeCode | Code[20] | Guarantee code | 
| usedFor | Option | Indicates if used for contract or standard condition | 
| startingDate | Date | Start date of the guarantee | 
| endingDate | Date | End date of the guarantee | 
| amount | Decimal | Guarantee amount | 
| thirdParty | Code[20] | Third party contact number | 
| thirdPartyName | Text[100] | Name of the third party | 
| mortgageObjectType | Code[20] | Mortgage object type | 
| objectName | Text[30] | Name of the object | 
| reRegistrationStreetNo | Text[30] | Real estate registration street and number | 
| reRegistrationCity | Text[50] | Real estate registration city | 
| reRegistrationPostCode | Code[20] | Real estate registration post code | 
| reRegistrationCountryCode | Code[10] | Real estate registration country code | 
| buyOutDueDateMonths | Integer | Buy-out due date in months | 
| percentage | Decimal | Percentage value for guarantee | 
| buyOutMileageKm | Decimal | Buy-out mileage in kilometers | 
| priceOfExtraKmLCY | Decimal | Price of extra kilometer in local currency | 
| note | Text[250] | Additional notes | 
| buyOutAdminFeePercentage | Decimal | Buy-out admin fee percentage | 
| buyOutAdminFeeAmount | Decimal | Buy-out admin fee amount | 
| faClassCode | Code[10] | Fixed asset class code | 
| faSubclassCode | Code[10] | Fixed asset subclass code | 
| mortgageSequence | Option | Mortgage sequence (Primary/Secondary) | 
| scheduleNo | Code[20] | Schedule number | 
| versionNo | Integer | Schedule version number | 
JSON Representation
JSON
{
"contractNo": "Code[20]",
"lineNo": "Integer",
"guaranteeCode": "Code[20]",
"usedFor": "Option",
"startingDate": "Date",
"endingDate": "Date",
"amount": "Decimal",
"thirdParty": "Code[20]",
"thirdPartyName": "Text[100]",
"mortgageObjectType": "Code[20]",
"objectName": "Text[30]",
"reRegistrationStreetNo": "Text[30]",
"reRegistrationCity": "Text[50]",
"reRegistrationPostCode": "Code[20]",
"reRegistrationCountryCode": "Code[10]",
"buyOutDueDateMonths": "Integer",
"percentage": "Decimal",
"buyOutMileageKm": "Decimal",
"priceOfExtraKmLCY": "Decimal",
"note": "Text[250]",
"buyOutAdminFeePercentage": "Decimal",
"buyOutAdminFeeAmount": "Decimal",
"faClassCode": "Code[10]",
"faSubclassCode": "Code[10]",
"mortgageSequence": "Option",
"scheduleNo": "Code[20]",
"versionNo": "Integer"
}
 14. Contract Balances
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET contractBalances | contractBalances | Retrieves a contract balance record | 
GET contractBalances
Description: Retrieves a contract balance record from Business Central.
Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/contractBalances({systemId})
Properties
| Name | Type | Description | 
|---|---|---|
| contractNo | Code[20] | Contract number | 
| customerNo | Code[20] | Customer number | 
| balanceType | Option | Contract balance type (e.g., Current) | 
| toDate | Date | Date as of which the balance is calculated | 
| amtFinanced | Decimal | Amount financed | 
| grossReceivable | Decimal | Gross receivable | 
| unearnedInterest | Decimal | Unearned interest | 
| netReceivable | Decimal | Net receivable | 
| currentReceivable | Decimal | Current customer receivable (as of date) | 
| totalCustomerBalance | Decimal | Total customer balance | 
| writeOffAmt | Decimal | Write off amount | 
| writeOffDate | Date | Write off date of contract | 
| loanBookValue | Decimal | Loan book value | 
| customerCredit | Decimal | Customer credit | 
| customerArrears | Decimal | Customer arrears | 
| overdueDays | Integer | Overdue days | 
| lastPaymentAmt | Decimal | Last payment amount | 
| lastPaymentDate | Date | Last payment date | 
| lastInvoicedInstallmentAmt | Decimal | Last invoiced installment amount | 
| lastInvoicedInstallmentDate | Date | Last invoiced installment date | 
| nextInstallmentAmt | Decimal | Next installment amount | 
| nextInstallmentDate | Date | Next installment date | 
| lastDirectDebitAmt | Decimal | Last direct debit amount | 
| lastDirectDebitDate | Date | Last direct debit date | 
| nextDirectDebitAmt | Decimal | Next direct debit amount | 
| nextDirectDebitDate | Date | Next direct debit date | 
| paidInFull | Boolean | Paid in full flag | 
| paidInFullDate | Date | Paid in full date | 
| termMonths | Integer | Term in months | 
| monthsPast | Integer | Months past | 
| monthsFuture | Integer | Months future | 
| installmentsTotal | Integer | Total installments | 
| installmentsPast | Integer | Past installments | 
| installmentsFuture | Integer | Future installments | 
| aging130Amt | Decimal | Aging 1-30 days amount | 
| aging3160Amt | Decimal | Aging 31-60 days amount | 
| aging6190Amt | Decimal | Aging 61-90 days amount | 
| aging91120Amt | Decimal | Aging 91-120 days amount | 
| aging121150Amt | Decimal | Aging 121-150 days amount | 
| aging151180Amt | Decimal | Aging 151-180 days amount | 
| agingOver180Amt | Decimal | Aging over 180 days amount | 
| accruedFinancingInterest | Decimal | Accrued financing interest excluding VAT | 
| accruedFinancIntInclVAT | Decimal | Accrued financing interest including VAT | 
| accruedPenaltyInterest | Decimal | Accrued penalty interest excluding VAT | 
| accruedPenaltyIntInclVAT | Decimal | Accrued penalty interest including VAT | 
| accruedTotalInterest | Decimal | Accrued total interest excluding VAT | 
| accruedTotalIntInclVAT | Decimal | Accrued total interest including VAT | 
| amountToRefund | Decimal | Amount to be refunded | 
| assetCollateralValueLCY | Decimal | Asset collateral value in local currency | 
| systemId | GUID | Unique system identifier | 
JSON Representation
JSON
{
"contractNo": "Code[20]",
"customerNo": "Code[20]",
"balanceType": "Enum",
"toDate": "Date",
"amtFinanced": "Decimal",
"grossReceivable": "Decimal",
"unearnedInterest": "Decimal",
"netReceivable": "Decimal",
"currentReceivable": "Decimal",
"totalCustomerBalance": "Decimal",
"writeOffAmt": "Decimal",
"writeOffDate": "Date",
"loanBookValue": "Decimal",
"customerCredit": "Decimal",
"customerArrears": "Decimal",
"overdueDays": "Integer",
"lastPaymentAmt": "Decimal",
"lastPaymentDate": "Date",
"lastInvoicedInstallmentAmt": "Decimal",
"lastInvoicedInstallmentDate": "Date",
"nextInstallmentAmt": "Decimal",
"nextInstallmentDate": "Date",
"lastDirectDebitAmt": "Decimal",
"lastDirectDebitDate": "Date",
"nextDirectDebitAmt": "Decimal",
"nextDirectDebitDate": "Date",
"paidInFull": "Boolean",
"paidInFullDate": "Date",
"termMonths": "Integer",
"monthsPast": "Integer",
"monthsFuture": "Integer",
"installmentsTotal": "Integer",
"installmentsPast": "Integer",
"installmentsFuture": "Integer",
"aging130Amt": "Decimal",
"aging3160Amt": "Decimal",
"aging6190Amt": "Decimal",
"aging91120Amt": "Decimal",
"aging121150Amt": "Decimal",
"aging151180Amt": "Decimal",
"agingOver180Amt": "Decimal",
"accruedFinancingInterest": "Decimal",
"accruedFinancIntInclVAT": "Decimal",
"accruedPenaltyInterest": "Decimal",
"accruedPenaltyIntInclVAT": "Decimal",
"accruedTotalInterest": "Decimal",
"accruedTotalIntInclVAT": "Decimal",
"amountToRefund": "Decimal",
"assetCollateralValueLCY": "Decimal",
"systemId": "GUID"
}15. Documents
Methods
| Method | Return Type | Description | 
|---|---|---|
| GET documents | documents | Retrieves a document record | 
| POST documents | documents | Creates a new document record | 
| PATCH documents | documents | Updates an existing document record | 
| DELETE documents | documents | Deletes a document record | 
GET documents
Description: Retrieves a document record from Business Central.
Request:
GET https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/documents({systemId})
POST documents
Description: Creates a new document record.
Request:
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/documents
Example:
JSON
{
"tableID": 123,
"relatedRecSystemId": "00000000-0000-0000-0000-000000000000",
"relatedRecordId": "REL-001",
"documentDate": "2025-10-01",
"description": "Contract document",
"comment": "Signed by both parties",
"documentType": "Incoming",
"templateCode": "TMP-001",
"fileExtension": "pdf",
"fileName": "contract.pdf",
"supportingDocType": "SUP-001",
"blobText": "base64encodedstring"
}PATCH documents
Description: Updates an existing document record.
Request:
PATCH https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/documents({systemId})
Example:
JSON
{
"description": "Updated contract document",
"comment": "Updated after review"
}DELETE documents
Description: Deletes a document record.
Request:
DELETE https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/documents({systemId})
Properties
| Name | Type | Description | 
|---|---|---|
| systemId | GUID | Unique system identifier | 
| entryNo | Integer | Entry number | 
| tableID | Integer | Table ID | 
| relatedRecSystemId | GUID | Related record system ID | 
| relatedRecordId | Text | Related record ID | 
| documentDate | Date | Document date | 
| description | Text | Description of the document | 
| comment | Text | Comment | 
| documentType | Enum | Document type (Outgoing, Incoming) | 
| templateCode | Text | Template code | 
| fileExtension | Text | File extension | 
| fileName | Text | File name | 
| supportingDocType | Text | Supporting document type | 
| blobText | Text | Blob (base64-encoded file content) | 
JSON Representation
JSON
{
"systemId": "GUID",
"entryNo": "Integer",
"tableID": "Integer",
"relatedRecSystemId": "GUID",
"relatedRecordId": "Text",
"documentDate": "Date",
"description": "Text",
"comment": "Text",
"documentType": "Enum",
"templateCode": "Text",
"fileExtension": "Text",
"fileName": "Text",
"supportingDocType": "Text",
"blobText": "Text"
}
 16. Full Contract Example
This section serves as an example of how to utilize all the previously described API endpoints to create a complete contract record. By following the outlined steps, users can integrate data from each endpoint to assemble a comprehensive contract, as demonstrated below using POST request.
HTTP Request
POST https://{businesscentralPrefix}/api/Soft4/Leasing/v2.0/companies({companyId})/applicationsIndirect
JSON Representation
{
"contractNo": "OL222222",
"contractDate": "2024-02-05",
"status": "Application",
"statusCode": "20",
"financialProduct": "FL",
"newUsedAsset": "New",
"dateofDeliveryCertificate": "2023-01-01",
"dateofPurchaseContract": "2020-01-01",
"dateofContractInception": "2022-01-01",
"individualBusiness": "Individual",
"customerNo": "",
"legalForm": "",
"title": "Mr.",
"firstName": "Gregor",
"middleName": "",
"surname": "Larkin",
"gender": "",
"birthDate": "1990-01-01",
"maritalStatus": "",
"driverLicenseNo": "LIC01",
"nationality": "AFG",
"pep": false,
"businessName": "",
"tradingName": "",
"industryGroup": "",
"natureOfBusiness": "",
"noofEmployees": 0,
"registrationNo": "",
"contactPerson": "John",
"address": "",
"countryRegionCode": "AU",
"county": "TAS",
"city": "Kaunas",
"postCode": "1111",
"email": "testingandco.com",
"phoneNo": "419819819",
"privacyConsent": true,
"marketingConsent": false,
"paymentMethodCode": "DD",
"ddNameofAccount": "Account 1",
"ddBankAccountNo": "",
"ddBankName": "VSB Bank",
"ddBankBranchNo": "48494",
"originatorNo": "1000",
"supplierNo": "1001",
"supplierSalespersonNo": "KS",
"origSalespersonNo": "",
"salesOfficerCode": "JONAS",
"applicantsIndirect": [
{
"roleInContract": "DIRECTOR",
"individualBusiness": "Individual",
"contactNo": "",
"firstName": "Jane",
"middleName": "",
"surname": "Solomon",
"name": "",
"name2": "",
"title": "Mrs.",
"registrationNo": "",
"noOfEmployees": 0,
"contactPerson": "",
"address": "162 Aldington Road",
"address2": "Detroit",
"city": "KEMPS CREEK",
"countryRegionCode": "AU",
"postCode": "2179",
"county": "WA",
"phoneNo": "04777888999",
"eMail": "Xjohn@repossessions.com",
"website": "website.com",
"birthDate": "1992-01-01",
"gender": "Male",
"maritalStatus": "Married",
"noOfDependents": 3,
"nationality": "ABW",
"marketingConsent": true,
"privacyConsent": true,
"pep": true,
"applicantIncomesIndirect": [
{
"amountLCY": 500,
"frequency": "MONTHLY",
"sourceOfIncome": "Salary"
},
{
"amountLCY": 200,
"frequency": "WEEKLY",
"sourceOfIncome": "Interest"
}
],
"applicantExpendituresIndirect": [
{
"type": "Mortgage",
"description": "For ferrari",
"amountLCY": 300,
"expenditureQuantity": 0,
"paymentTo": "Car Dealer",
"paymentPurposeCode": "Residential",
"otherCreditCardType": "",
"creditCardType": "",
"creditCardLimit": 0
}
],
"applicantEmploymentsIndirect": [
{
"occupationCode": "Driver",
"employmentStatus": "Contractor",
"employer": "Tesla",
"numberOfYears": 1,
"numberOfMonths": 5,
"contactName": "John",
"contactPosition": "CEO",
"contactPhone": "+37015449",
"contactMobile": "+37146",
"employmentType": "Current"
}
],
"applicantIDDocumentsIndirect": [
{
"idDocType": "Passport",
"idDocNo": "12465",
"nameOnIdDoc": "John",
"idDocIssueDate": "2020-01-01",
"idDocIssuedBy": "Government",
"idDocValidUntil": "2025-01-01",
"comments": "This is a comment",
"depersonalized": false
},
{
"idDocType": "ID Card",
"idDocNo": "777",
"nameOnIdDoc": "John",
"idDocIssueDate": "2020-01-01",
"idDocIssuedBy": "Government",
"idDocValidUntil": "2025-01-01",
"comments": "This is a comment",
"depersonalized": false
}
]
},
{
"roleInContract": "GUARANTOR",
"individualBusiness": "Business",
"contactNo": "20158"
}
],
"schedulesIndirect": [
{
"programCode": "STANDARD",
"term": "12M",
"frequency": "MONTHLY",
"installmentsDue": "In Arrears",
"startingDate": "2023-03-14",
"downpaymentPercentage": 0,
"interestManual": false,
"interestRate": 12,
"residualValueType": "Stays Unpaid",
"establishmentFeeFinanced": 300,
"supplierDepositAmount": 0,
"tradeInAssetValue": 999,
"refinPayOutFigure": 0,
"originatorFeeFinanced": 300,
"brokerageAmountFinanced": 0,
"establishmentFeeUpfront": 500,
"originatorFeeUpfront": 500,
"brokerageAmountUpfront": 0,
"installmentFee": 50,
"annuityLinear": "Annuity",
"commissionSchema": "STD",
"commissionAmountLCY": 666,
"payCommissionTo": "C00021",
"subventionAmountLCY": 555,
"subventedBy": "C00019",
"scheduleLinesIndirect": [
{
"entryType": "Installment",
"period": 1,
"date": "2023-04-14",
"dateNotRecalc": false,
"invoiced": false,
"interestRate": 0.00,
"currencyCode": "",
"principalAmount": 0.00,
"principalInclVAT": 0.00,
"principalNotRecalc": false,
"principalChange": 0.00,
"interestAmount": 0.00,
"interestInclStampTax": 0.00,
"interestInclVAT": 0.00,
"interestNotRecalc": false,
"additionalLine": false,
"totalInstallment": 0.00,
"installmentInclVAT": 150.00,
"installmentNotRecalculated": false,
"installmentInclVATManual": 0.00,
"remainingDepositAmount": 0.00,
"remainingDepositInclVAT": 0.00,
"depositInclusionAmount": 0.00,
"depositInclusionInclVAT": 0.00,
"stampTaxAmountInterest": 0.00,
"stampTaxAmountIntslFee": 0.00,
"insurance": 0.00,
"insuranceInclVAT": 0.00,
"services": 0.00,
"servicesInclVAT": 0.00,
"adminFees": 0.00,
"adminFeesInclVAT": 0.00,
"installmentFees": 0.00,
"installmentFeesInclVAT": 0.00,
"balloonInterestCalculated": 0.00,
"balloonInterestApplied": 0.00,
"balloonInclVATIntCalc": 0.00,
"balloonInclVATIntApplied": 0.00,
"balloonInterestNotRecalc": false,
"vatOnIPMTCalculated": 0.00,
"vatOnIPMTEqualPartsCal": 0.00,
"vatOnIPMTEqPApplied": 0.00,
"interestVATNotRecalc": false,
"vatOnBalloonIntCalc": 0.00,
"vatOnBallonIntApplied": 0.00,
"emailNotificationCreated": false,
"skipInsurance": false,
"skipServices": false,
"skipInstallmentFee": false,
"ipmt": 0.00,
"closingOutstanding": 0.00,
"closingOutstandingInclVAT": 0.00,
"assetVariationFactor": 0.00,
"amountAddedToInstallment": 0.00,
"hpVatAmountAdded": false
},
{
"entryType": "Installment",
"period": 2,
"date": "2023-04-14",
"dateNotRecalc": false,
"invoiced": false,
"interestRate": 0.00,
"currencyCode": "",
"principalAmount": 0.00,
"principalInclVAT": 0.00,
"principalNotRecalc": false,
"principalChange": 0.00,
"interestAmount": 0.00,
"interestInclStampTax": 0.00,
"interestInclVAT": 0.00,
"interestNotRecalc": false,
"additionalLine": false,
"totalInstallment": 0.00,
"installmentInclVAT": 150.00,
"installmentNotRecalculated": false,
"installmentInclVATManual": 0.00,
"remainingDepositAmount": 0.00,
"remainingDepositInclVAT": 0.00,
"depositInclusionAmount": 0.00,
"depositInclusionInclVAT": 0.00,
"stampTaxAmountInterest": 0.00,
"stampTaxAmountIntslFee": 0.00,
"insurance": 0.00,
"insuranceInclVAT": 0.00,
"services": 0.00,
"servicesInclVAT": 0.00,
"adminFees": 0.00,
"adminFeesInclVAT": 0.00,
"installmentFees": 0.00,
"installmentFeesInclVAT": 0.00,
"balloonInterestCalculated": 0.00,
"balloonInterestApplied": 0.00,
"balloonInclVATIntCalc": 0.00,
"balloonInclVATIntApplied": 0.00,
"balloonInterestNotRecalc": false,
"vatOnIPMTCalculated": 0.00,
"vatOnIPMTEqualPartsCal": 0.00,
"vatOnIPMTEqPApplied": 0.00,
"interestVATNotRecalc": false,
"vatOnBalloonIntCalc": 0.00,
"vatOnBallonIntApplied": 0.00,
"emailNotificationCreated": false,
"skipInsurance": false,
"skipServices": false,
"skipInstallmentFee": false,
"ipmt": 0.00,
"closingOutstanding": 0.00,
"closingOutstandingInclVAT": 0.00,
"assetVariationFactor": 0.00,
"amountAddedToInstallment": 0.00,
"hpVatAmountAdded": false
}
],
"contractGuaranteesIndirect": [
{
"guaranteeCode": "BB",
"usedFor": "Contract",
"startingDate": "2024-03-14",
"endingDate": "2025-04-14",
"amount": 50,
"note": ""
},
{
"guaranteeCode": "A",
"usedFor": "Contract",
"startingDate": "2026-03-14",
"endingDate": "2027-04-14",
"amount": 99,
"note": ""
},
{
"guaranteeCode": "BB",
"usedFor": "Contract",
"startingDate": "2026-03-14",
"endingDate": "2027-04-14",
"amount": 67,
"note": ""
}
]
}
],
"assetsIndirect": [
{
"residualValue": 2000,
"model": "803534920200101",
"assetBrand": "",
"assetGroup": "",
"assetCategory": "LEXUS CT",
"assetDescription": "",
"modelYear": 2023,
"assetNewUsed": "New",
"vin": "454191",
"licencePlateNo": "123456",
"engineNo": "5491",
"purchasePrice": 20000,
"residualPerc": 0,
"vatGroup": "VAT FL",
"startingMileageKm": 0,
"mileageLimitKmYear": 50000,
"pricePerKmOverLimit": 0.1,
"firstRegistrationDate": "2020-01-01",
"contractAssetServicesIndirect": [
{
"code": "01 REG",
"assetID": "",
"serviceCostAnnual": 300,
"serviceCostMonthly": 0,
"currencyCode": "",
"paymentDue": "With Upfront Fees",
"overBudget": "Not applicable",
"totalAmount": 0,
"noOfMonths": 0,
"acquisitionSource": "Asset Supplier",
"servicerNo": "",
"serviceCostPerLease": 0,
"asPercentOfServiceBase": 0,
"serviceBase": "Asset Price",
"serviceBaseAmount": 0,
"adminFeeAnnual": 0,
"adminFeePerLease": 0,
"adminFeePerEvent": 0,
"adminFeeAsPercentOfCost": 0,
"included": true,
"overrideStandardPrice": false,
"mandatory": false
},
{
"code": "03 GPS",
"assetID": "",
"serviceCostAnnual": 500,
"serviceCostMonthly": 0,
"currencyCode": "",
"paymentDue": "With Upfront Fees",
"overBudget": "Not applicable",
"totalAmount": 0,
"noOfMonths": 0,
"acquisitionSource": "Asset Supplier",
"servicerNo": "",
"serviceCostPerLease": 0,
"asPercentOfServiceBase": 0,
"serviceBase": "Asset Price",
"serviceBaseAmount": 0,
"adminFeeAnnual": 0,
"adminFeePerLease": 0,
"adminFeePerEvent": 0,
"adminFeeAsPercentOfCost": 0,
"included": true,
"overrideStandardPrice": false,
"mandatory": false
}
],
"contractAssetInsurancesIndirect": [
{
"insuranceProductCode": "CI-ALPHA",
"assetId": "",
"treatAs": "With Upfront Fees",
"overBudget": "Not applicable",
"insuranceBase": 0,
"coefficientPct": 0,
"annualPayment": 0,
"annualPaymentLCY": 0,
"monthlyPayment": 50,
"monthlyPaymentLCY": 0,
"totalAmount": 0,
"totalAmountLCY": 0,
"noOfMonths": 0,
"currencyCode": "",
"postingDescription": "",
"commissionPayableAmount": 0,
"commissionReceivableAmount": 0,
"customerNo": "",
"insurerNo": "",
"included": true,
"overrideStandardPrice": false,
"mandatory": false
},
{
"insuranceProductCode": "CI-OMEGA",
"assetId": "",
"treatAs": "With Upfront Fees",
"overBudget": "Not applicable",
"insuranceBase": 0,
"coefficientPct": 0,
"annualPayment": 0,
"annualPaymentLCY": 0,
"monthlyPayment": 100,
"monthlyPaymentLCY": 0,
"totalAmount": 0,
"totalAmountLCY": 0,
"noOfMonths": 0,
"currencyCode": "",
"postingDescription": "",
"commissionPayableAmount": 0,
"commissionReceivableAmount": 0,
"customerNo": "",
"insurerNo": "",
"included": true,
"overrideStandardPrice": false,
"mandatory": false
}
],
"contractAssetOptionsIndirect": [
{
"equipmentCode": "ANTENA",
"description": "Antena",
"equipmentType": "Accessories",
"vatGroup": "VAT",
"purchasePrice": 600,
"purchasePriceExclVAT": 0,
"acquisitionSource": "Supplier",
"supplierNo": "1001"
},
{
"equipmentCode": "MPACK",
"description": "Mpack",
"equipmentType": "Bolt-On",
"vatGroup": "VAT",
"purchasePrice": 400,
"purchasePriceExclVAT": 0,
"acquisitionSource": "Supplier",
"supplierNo": "1001"
}
]
},
{
"model": "Chevrolet Testing",
"assetBrand": "Nokia",
"assetGroup": "A2",
"assetCategory": "A201",
"assetDescription": "Camarro",
"modelYear": 2023,
"assetNewUsed": "New",
"vin": "4541945491",
"licencePlateNo": "123456",
"engineNo": "5491",
"purchasePrice": 20000,
"residualPerc": 0,
"residualValue": 2000,
"vatGroup": "VAT FL",
"startingMileageKm": 10000,
"mileageLimitKmYear": 6000,
"pricePerKmOverLimit": 0.1,
"firstRegistrationDate": "2020-01-01",
"contractAssetServicesIndirect": [
{
"code": "03 GPS",
"assetID": "",
"serviceCostAnnual": 500,
"serviceCostMonthly": 0,
"currencyCode": "",
"paymentDue": "With Upfront Fees",
"overBudget": "Not applicable",
"totalAmount": 0,
"noOfMonths": 0,
"acquisitionSource": "Asset Supplier",
"servicerNo": "",
"serviceCostPerLease": 0,
"asPercentOfServiceBase": 0,
"serviceBase": "Asset Price",
"serviceBaseAmount": 0,
"adminFeeAnnual": 0,
"adminFeePerLease": 0,
"adminFeePerEvent": 0,
"adminFeeAsPercentOfCost": 0,
"included": true,
"overrideStandardPrice": false,
"mandatory": false
},
{
"code": "03 GPS",
"assetID": "",
"serviceCostAnnual": 1000,
"serviceCostMonthly": 0,
"currencyCode": "",
"paymentDue": "Included in Installment",
"overBudget": "Not applicable",
"totalAmount": 0,
"noOfMonths": 0,
"acquisitionSource": "Asset Supplier",
"servicerNo": "",
"serviceCostPerLease": 0,
"asPercentOfServiceBase": 0,
"serviceBase": "Asset Price",
"serviceBaseAmount": 0,
"adminFeeAnnual": 0,
"adminFeePerLease": 0,
"adminFeePerEvent": 0,
"adminFeeAsPercentOfCost": 0,
"included": true,
"overrideStandardPrice": false,
"mandatory": false
}
],
"contractAssetInsurancesIndirect": [
{
"insuranceProductCode": "CI-OMEGA",
"assetId": "",
"treatAs": "With Upfront Fees",
"overBudget": "Not applicable",
"insuranceBase": 0,
"coefficientPct": 0,
"annualPayment": 0,
"annualPaymentLCY": 0,
"monthlyPayment": 50,
"monthlyPaymentLCY": 0,
"totalAmount": 0,
"totalAmountLCY": 0,
"noOfMonths": 0,
"currencyCode": "",
"postingDescription": "",
"commissionPayableAmount": 0,
"commissionReceivableAmount": 0,
"customerNo": "",
"insurerNo": "",
"included": true,
"overrideStandardPrice": false,
"mandatory": false
}
]
}
]
}
