Create case
Xellent has implemented Collectia's API for "Create case" and the plan is to use that as Xellent "standard". Some additions are needed for the API, but those additions will be configurable so it's possible to use the Collectia "standard". The Collectia standard includes the following information:
Body parameters:
| Name | Type | Required | Description | Xellent |
| ClientNo | Integer | Yes | Client number to associate case with. The EG customer's client number at ECA | CustParameters.EXU_EIBReferencenumber |
| Reference | String | Yes | Your reference number for the case. | custTable.AccountNum |
| Comments | List of strings | No | Comments regarding the case. Possible to set comment on transaction | tmpEXU_ECATable.TransTxt |
| Currency | String | Yes | Currency of case. | tmpEXU_ECATable.CurrencyCode |
| HasCompFee | Boolean | Yes | Has compensation fee been applied? | No |
| PaymentId | String | No | Id for automatic payment registration. OCR-number | tmpEXU_ECATable.PaymId |
| Debtors | DebtorObject | Yes | Array/list of DebtorObject. | |
| Invoices | InvoiceObject | Yes | Array/list of InvoiceObject. |
DebtorObject:
| Name | Type | Required | Description | Xellent |
| DebtorType | Number | Yes | Specification of debtor type 1: Private person 2: Company 3: Sole Proprietorship | 1 if CustTable.EXU_AlternativeCustomerCode is "blank", CPR or CPR Match. 2 if CustTable.EXU_AlternativeCustomerCode is CVR |
| Title | String | No | Title used to address debtor. | tmpEXU_ECATable.custAdditionalName |
| Name | String | Yes | Full name of the debtor. The name before the first blank is considered the first name, and the rest as the last name. Alternatively, ‘,’ can be used so separate first and last name (the ‘,’ will be removed in the full name). Eg. “First name,last name” | tmpEXU_ECATable.custName |
| Address | String | Yes | Address of the debtor. | LogisticsPostalAddress.Street |
| PostalCode | Number | Yes | Postal code of the address. | LogisticsPostalAddress.ZipCode |
| ZipCode | String | Yes | Zip code of the address. | LogisticsPostalAddress.ZipCode |
| City | String | Yes | City of the address. | LogisticsPostalAddress.City |
| CountryCode | String | Yes | Country code of the address. (ISO 3166-1 alpha-2) | LogisticsPostalAddress.CountryRegionId |
| CompanyType | String | No | Type of company not private person. (eg. DK: A/S, SE: AB, NO: AS, DE: AG) | |
| CompanyDirector | String | No | Name of company director. | |
| IdNo | String | No | Official identity number. (DK: CPR or CVR) | If CustTable.EXU_AlternativeCustomerCode is CPR or CPR Match or CVR fetch the identity number from CustTable.EXU_AlternativeCustomerNumber. |
| Phone | String | No | Primary phone of the debtor. | custTable.Phone |
| PhoneAlternatives | List of strings | No | Alternative debtor phone numbers. | |
| String | No | Email of the debtor. | custTable.Email | |
| Bank | String | No | Name of bank. | |
| BankAccountIban | String | No | IBAN account number. | |
| BankAccountBic | String | No | BIC account number. |
InvoiceObject:
| Name | Type | Required | Description | Xellent |
| InvoiceNo | String | Yes | Invoice number. (Max length 80, letters are allowed) | eCATable.InvoiceId |
| InvoiceText | String | No | Invoice text. If not provided it will default to the standard text agreed on. | |
| Amount | Decimal | Yes | Invoice amount. (In case currency) | eCATable.BalanceAmountCur |
| Paid | Decimal | No | Part of invoice amount already paid. (In case currency) | |
| Fee | Decimal | No | Fee amount. (In case currency) | |
| InvoiceDate | Datetime | Yes | Date of the invoice. (YYYY-MM-DD) | eCATable.Transdate |
| DueDate | Datetime | Yes | Due date of the invoice. (YYYY-MM-DD) | eCATable.DueDate |
| ContractDate | Datetime | Yes | Date of contract. (YYYY-MM-DD) | date2str(today() |
| PaymentId | String | No | Id for automatic payment registration. | tmpEXU_ECATable.PaymId |
| LegalClaimId | Int | No | Id for legal claim. |
Payment update to ECA
If the debtor pays the EG customer information needs to be sent to ECA, The following information is needed
- Case id/transaction id or other unique identifier for the payment
- Amount
- Payment date
Payment update from ECA
When the ECA receives payments from the debtor, information will be sent from the ECA. However, it's just information, it's not actual money. When the money is transferred a separate payment notification is received from the bank. So the question is how should this notification from the ECA be treated? Do we have a "case" object that is updated, but the underlying transactions will not be marked until the payment from the bank arrives? How to get a automated flow?
Status update to ECA
This message includes the following update
- Dis-/reconnection on metering points at ECA
- Contract updates (contract ends etc.) on contracts at ECA
- Address updates on metering points