Installation Instructions¶
Preparations¶
- Check that the requirements are met.
- Preparations in Billecta: Read the installation instructions for Billecta here
Backend¶
Add limepkg-billecta-integration to a customer solution.¶
Run poetry add limepkg-billecta-integration to add the package as dependency in you solution's pyproject.toml file.
Lime Admin¶
- Run the setup/addon installer for the package.
- Map all required fields in the config
Generate an API key for receiving Webhooks from Billecta¶
In order for Lime to be able to listen to webhooks from Billecta, an API-key needs to be created for the user billectawebhook@api that is created in the setup. Save this API-key in the password manager.
User Group Permissions¶
During the setup process, the groups Billecta webhook and Billecta task will be created, and also the API user billectawebhook@api and task user limepkg-billecta@lime.tech. There are still some manual steps needed after the setup and these are described below.
Policies for the Group Billecta webhook¶
-
The policies should be created with as little access as possible for the group. Below is a table showing how these policies should be setup. The name of the policy is just a recommendation, but please keep it uniformly in the solution. The access (R, W, A, D) refers to the group
Billecta webhook. Of course there is probably other users in the Lime solution that should also have access to a lot of the tables below so these rights need to be set on a customer basis.Policy name R W A D Table tbl_integration_monitor ✅ ✅ ✅ integration_monitor tbl_integration_monitor_batch ✅ ✅ ✅ integration_monitor_batch tbl_integration_monitor_log ✅ ✅ ✅ integration_monitor_log tbl_creditordebtor ✅ ✅ creditordebtor tbl_order ✅ ✅ order tbl_invoice ✅ ✅ ✅ invoice tbl_coworker ✅ ✅ coworker tbl_invoicerow ✅ ✅ ✅ invoicerow tbl_creditorarticle ✅ ✅ creditorarticle tbl_article ✅ ✅ article tbl_payment ✅ ✅ ✅ payment tbl_creditor ✅ ✅ creditor -
Add more policies that matches the custom setup for this package. Meaning in lime-admin for this package, there can be customer specific config for certain tables and fields. These need to be setup per customer basis. Below is an example of how this policy config can look if you are using the "standard/recommended" setup for Real estate.
Policy name R W A D Table tbl_contact ✅ ✅ contact tbl_lease ✅ ✅ lease tbl_orderrow ✅ ✅ orderrow
Policies for the Group Billecta task¶
-
The policies should be created with as little access as possible for the group. Below is a table showing how these policies should be setup. The name of the policy is just a recommendation, but please keep it uniformly in the solution. The access (R, W, A, D) refers to the group
Billecta task. Of course there is probably other users in the Lime solution that should also have access to a lot of the tables below so these rights need to be set on a customer basis.Policy name R W A D Table tbl_integration_monitor ✅ ✅ ✅ integration_monitor tbl_integration_monitor_batch ✅ ✅ ✅ integration_monitor_batch tbl_integration_monitor_log ✅ ✅ ✅ integration_monitor_log tbl_creditor ✅ ✅ creditor
Application configuration settings¶
Add the following to the application config (in Lime Cloud for cloud customers, application_config.yaml for on-premise customers or local development):
<application-name>:
config:
billecta:
api:
base_url: "https://apitest.billecta.com/v1"
secrets:
billecta:
api:
authentication: "<Authorization header value>"
Authentication options¶
The authentication value must be set to the full Authorization header value, using one of the following formats:
-
Basic Authentication:
'Basic 'followed by the Base64-encoded string ofusername:password -
SecureToken Authentication:
'SecureToken 'followed by the Base64-encoded SecureToken
Make sure to include the correct prefix (Basic or SecureToken) and a space before the encoded value.
Read more in the Billecta API documentation for authenticating requests: Billecta API Authentication
Install and configure Integration monitor¶
Follow integration monitor installation instructions. limepkg-integration-monitor is already a dependency to this package, that step can therefore be skipped.
Recommendation: Add limepkg-cleanup¶
This step is not a requirement, but since this package can produce quite a lot of integration_monitor_log objects, it is best practice to cleanup objects not needed anymore.
Follow the instructions in the package limepkg-cleanup to add it to your solution and configure the scheduled task. limepkg-cleanup