Invoice Event
Integration point URL
- URL:
<SPCIntegrationAPIUrl>/Claim/Invoice - HTTP METHOD:
PUT - URL Example:
https://servicepartnercompany.com/ecbintegration/Claim/Invoice
Request structure
- Schema:
InvoiceEventRequest.schema.json - Example:
InvoiceEventRequest.example.json
Root object
| Property | Description |
|---|---|
securityToken* | Pre-shared secret string key that is used to authenticate SPC and ECB to each other |
timestamp* | Message generation UTC date/time. Should be in ISO 8601 format without time zone. Note: Can be used to restore messages original order (per claim) – due to network/server errors it’s not guaranteed that messages will arrive in the order they were generated |
payload* | Payload object with integration endpoint specific data |
Payload object
| Property | Description |
|---|---|
claim* | Claim object |
invoice* | Invoice object |
Claim object
| Property | Description |
|---|---|
id* | Claim unique identifier in ECB |
number* | Claim number |
url* | URL to Claim Details in ECB |
damageServiceDetails.referenceNumber | Claim reference number in SPC internal system |
Invoice object
| Property | Description |
|---|---|
responsibleUserLogin* | User login of SPC employee that is responsible for invoice. Also used to identify specific service partner company in SPC organization Note: List of all users in SPC organization can be obtained using Damage Notification integration points. Those point are described in a separate specification, please contact Scalepoint to obtain it. |
responsibleUserFullName* | User full name of SPC employee that is responsible for invoice. |
number* | Invoice number. Max length: 50 |
invoiceIdentifier | Payment reference. InvoiceIdentifier object. |
date* | Invoice UTC date/time. Should be in ISO 8601 format without time zone. |
dueDate | Invoice UTC due date/time. Should be in ISO 8601 format without time zone. |
invoiceType* | Invoice type identifier. Possible values are: “None”, “Repair”, “DamageService” |
expenseType* | Expense type identifier. Possible values are: “Invoice” - would be used for “Repair” and “DamageService” invoice types. “CreditNote”, “PaymentOnAccountInvoice”– would be used with “None” invoice type. |
status* | Invoice status Possible values are: “Proposed”, “Canceled”, “Obsolete”, “Draft”, “Settled” |
rejectionReason | Invoice rejection reason in case when invoice was rejected |
groups | Collection of Invoice Group objects |
items | Collection of Invoice Item objects (redundant when groups are available) |
paymentOnAccountDeduction | Payment on account deduction amount (ex. VAT) |
paymentOnAccountDeductionVat | Payment on account deduction VAT amount |
subtotal | Invoice subtotal amount |
vat | Invoice VAT amount |
total* | Invoice total amount |
issuerName | Issuer name. Max length: 150 |
issuerEmail | Issuer email. Max length: 320 |
issuerFaxNumber | Issuer fax number. Max length: 255 |
issuerPhoneNumber | Issuer phone number. Max length: 255 |
issuerAddress | Address object |
issuerCvrNumber | Issuer CVR number. Max length: 20 |
issuerGiro | Issuer Giro. Max length: 20 |
issuerBankBranchNumber | Issuer bank branch number. Max length: 4 |
issuerAccountNumber | Issuer account number. Max length: 20 |
description | Invoice free-text description |
invoiceRemark | Extra information related to invoice |
files | Collection of File objects |
InvoiceIdentifier object
Only one of the properties must be supplied.
| Property | Description |
|---|---|
fik | Danish payment reference. Fik object |
kid | Norwegian payment reference number. Min length: 2 digits. Max length: 25 digits. |
Fik object
| Property | Description |
|---|---|
type* | Payment type code. Possible values: 71, 73, 75 |
identifier* | Contains customer number (8 digits) and invoice number (6 digits). Strict length: 15 (plus control digit) |
creditorNumber* | Creditor number. Strict length: 8 digits. |
Invoice Item object
| Property | Description |
|---|---|
title* | Item title |
category* | Item Category identifier Supported values are: "Wages", "Materials", "Equipment", "Subcontractor", "Claimant", "Other", "EquipmentInsurance", "SubcontractorAdmin", "EnvironmentAdditional" |
unit* | Item Unit Of Measure identifier Supported values are: "Pcs", "Hours", "Days", "Kilograms", "Liters", "Meters", "SquareMeters", "CubicMeters", "Lbm", "Sum", "Tonnes", "Bags", "Kilometers", "CubicMetersDays", "None" |
amount* | Amount of units |
unitPrice* | Item unit price (ex. VAT) |
vat* | VAT amount |
externalCode | Item code from external system |
externalId | Product identifier from external system |
externalSource | Item external system source |
fulfilledBy | Who fulfills item Supported values are: "MyCompany", "Subcontractor", "Claimant" |
type | Item type Supported values are: "Service", "Materials", "Equipment", "EnvironmentalFee", "Dehumidification", "Other" |
subitems | Subitem collection of Invoice Item objects |
Address object
| Property | Description |
|---|---|
street* | Street. Max length: 1000 |
street2 | Street second line. Max length: 1000 |
postalCode* | Postal code. Min length: 3, Max length: 10 |
city* | City. Max length: 255 |
country* | Country ISO code Example: “DK”, “NO”, “SE” |
File object
| Property | Description |
|---|---|
name* | File name |
mimeType* | File MIME type. For example, “image/jpeg”, “text/html” |
Size | Original file size in bytes, before Base64 encoding |
description | Free text file description |
id* | File unique identifier in ECB |
Invoice Group object
| Property | Description |
|---|---|
name* | Group name |
items | Collection of Invoice Item objects |
Response structure
- Schema:
InvoiceEventResponse.schema.json - Example:
InvoiceEventResponse.example.json
Root object
| Property | Description |
|---|---|
success* | Boolean flag representing if request is processed successfully |
errorDescription | Description of errors, if any |
payload | Payload object with integration endpoint specific data |
Payload object
| Property | Description |
|---|---|
claim.referenceNumber* | Claim reference number in SPC internal system |
invoice.number* | Invoice number. Shall match invoice number from the request. Max length: 50 |
invoice.date* | Invoice UTC date/time. Should be in ISO 8601 format without time zone. Shall match invoice number from the request. |
invoice.total* | Invoice total amount (incl. VAT) Shall match invoice number from the request. |
Implementation notes
This endpoint is invoked in both cases when new invoice was created in ECB and when existing invoice was modified or its status was changed. It is also invoked in case when SubmitInvoice endpoint was invoked with ‘Draft’ invoice status.
If invoice summary from the response does not correspond to request information then the attempt is considered as failed and will be retried.
ECB can send only those fields that were modified in invoice. For example, when report was rejected the only Status field is changed, and no information about the invoice will be included in the request except for required fields and Status field. This allows to avoid sending the same information each time something happens with the invoice.
Last updated on