Technical
Components
ERP Connector consists of the following components:
- Data structure (existing + new tables and fields) in Lime CRM.
- Lime Bootstrap app.
- Web component.
- Python Library.
- Syncify's on-premise service.
- Syncify's cloud service.
Table and Field Definitions Lime CRM
These tables and fields must be created before you can use the ERP Connector. The fields will be created by LIP. If you are not using LIP you will need to create them manually.
Company
On the company card, some fields included in the Lime CRM Base Solution are used. Please note that database field names are hardcoded in the javascript code in the LBS app as well as in Syncify's migration scripts. This means that if the fields are not named as ERP Connector expects them to be that counts as a customization.
The following fields are expected to exist:
Table database name: company
Database Field Name | Field Type |
---|---|
name | Text field |
registrationno | Text field |
coworker | Relation field |
postaladdress1 | Text field |
postaladdress2 | Text field |
postalzipcode | Text field |
postalcity | Text field |
country | Text field |
phone | Text field |
visitingaddress1 | Text field |
visitingaddress2 | Text field |
visitingzipcode | Text field |
visitingcity | Text field |
The following fields are added by ERP Connector.
Database Field Name | Field Type | Length | Field Label | Description |
---|---|---|---|---|
invoiceaddress1 | Text field | 72 | N/A | Populated by the integration |
invoiceaddress2 | Text field | 72 | N/A | Populated by the integration |
invoicezipcode | Text field | 10 | N/A | Populated by the integration |
invoicecity | Text field | 72 | N/A | Populated by the integration |
fullinvoiceaddress | Text field | 256 | N/A | SQL for update, hidden on forms |
erpid | Text field | 16 | Key | The integration key, Set label key to avoid duplicates |
emailinvoice | Link field | 100 | N/A | Populated by the integration |
erp_lastsynced | Time field | N/A | N/A | Is set by Syncify's services every time an invoice is created on the customer. Is used to trigger SQL for update to be recalculated on the turnover fields. |
erp_turnover_yearnow | Decimal | N/A | N/A | Populated by the integration |
erp_turnover_lastyear | Decimal | N/A | N/A | Populated by the integration |
erp_turnover_lastyeartodate | Decimal | N/A | N/A | SQL Expression. Only valid for the Lime CRM Desktop Client |
erpconnector_graph | HTML (tab) | N/A | N/A | HTML tab for showing the graph for paid invoices the last 5 years |
invoice | Relation (tab) | N/A | N/A | Populated by the integration |
invoicerow | Relation (tab) | N/A | N/A | Populated by the integration |
Required Fields
The name
field is required when sending a customer to the ERP System. It can therefore not be removed from the call even by a customization.
Invoice
Invoices are connected to the company using erpid
when generated in Lime CRM from the ERP system. The following table and fields are added by ERP Connector:
Table database name: invoice
Database Field Name | Field Type | Length | Description |
---|---|---|---|
invoice_number | Text field | 64 | Unique invoice number |
company | Relation (field) | 256 | Relation to company |
customerid | Text field | 128 | Customer ID for matching to company |
customer_reference | Text field | N/A | Customer reference from ERP |
coworker | Relation (field) | N/A | Company reference (Our reference) |
invoice_type | Text field | 64 | Invoice type |
invoice_date | Time (date) | N/A | When invoice is booked |
invoice_expires | Time (date) | N/A | When invoice expires |
invoice_sum | Decimal | N/A | Sum ex VAT (moms) |
invoice_vat | Decimal | N/A | VAT (moms) |
invoice_total_sum | Decimal | N/A | Sum incl VAT |
currency | Text field | 32 | Currency |
conversionrate | Decimal | N/A | Conversion rate |
invoice_balance | Decimal | N/A | Invoice balance (saldo) |
paid | Yes/no | N/A | Yes if it is paid |
paid_date | Time (date) | N/A | The date when payment is registered |
invoice shredded | Yes/no | N/A | Yes if the payment is shredded (makulerad) |
invoicerow | Relation (tab) | N/A | All invoice rows belonging to the invoice |
Invoice Row
Invoice rows are connected to an invoice using the invoice_number
. The following table and fields are added by ERP Connector:
Table database name: invoicerow
Database Field Name | Field Type | Length | Description |
---|---|---|---|
invoice | Relation (field) | N/A | Relation to invoice |
item | Text field | 128 | Item |
description | Text field | 128 | Description of Items |
units | Decimal | N/A | Number of items |
row_margin | Decimal | N/A | Contribution margin |
row_value | Decimal | N/A | Sum of row |
rowid | Text field | 32 | Used to make a row unique (hidden) |
Lime Bootstrap App
This is only used when using the ERP Connector from the Lime CRM Desktop Client.
The Lime Bootstrap app holds both the buttons for sending a new or updated customer to the ERP system and the invoice overview graph shown in the HTML tab on the company card.
Which fields to send to the ERP system when creating or updating a customer is hardcoded. This means that if any of them should not be sent that counts as a customization.
Web Component
This is only used when using the ERP Connector from the Lime CRM Web Client.
Will show the button to send company information to the ERP system.
Python Library
To use this package as a library, import the post_to_syncify
function from limepkg_erp_connector.erp
.
Syncify Services
Syncify has built two different services. One for cloud based ERP systems (Fortnox, e-conomic, Visma.Net, BL Administration, Business Central, Power Office Go, Visma eEkonomi, Exact Online, Uniconta and Tripletex) and one for on-premise ERP Systems (Visma Administration, Visma Business and Microsoft Dynamics NAV). It is these two services that connect to the ERP systems' API.
If the ERP system is installed on-premise, the Syncify service must be installed and configured on the ERP system server. Syncify is responsible for the all installations of their service.
If the ERP system is cloud based there is no need for a local Syncify service. The integration is instead registered in Syncify's cloud service through their web portal. This is also done by Syncify.
The Syncify services connects to the ERP systems as described below.
ERP system | Connects through |
---|---|
Visma Administration | adk.dll |
Visma Business | VBS (Visma Business Services) |
Microsoft Dynamics NAV | Webservice (SOAP) |
Fortnox | REST API |
e-conomic | REST API |
Visma.Net | REST API |
BL Administration | ? |
Business Central (on-premise) | Webservice (SOAP) |
Business Central (cloud) | REST API and OData |
Power Office Go | ? |
Visma eEkonomi | ? |
Exact Online | ? |
Uniconta | ? |
Tripletex | ? |