Installation Instructions

Preparations

  • Check that the requirements are met.
  • If migrating from the SQL version of the BFUS Integration go through the migration guide.
  • Specification: Send out the field specification to the customer and ask them to go through it and adjust the “Custom choice” column if they want to change anything from our standard setup. It can be found here: F:\Common\Industry Experts\Utility\Integrations\BFUS 2.0. For new customers you can hide the column “Custom field name” this is for specifying if the customer database uses another fieldname than the standard.
  • Contact CGI: (See contact person on the product card in Sublime)
    • Ask for phone number types
    • Ask for utilities (nyttigheter) for the service object
    • Send endpoints and API key (onetime password)

Installation

LIP

Make sure that LIP is installed in order to easily install the add-on. If LIP is not installed, you need to manually add all tables and fields.

Open the template database (!BFUS 2.0 dev on luserverlatest) and open LIP package builder (open VBA and run "call lippackagebuilder.OpenPackageBuilder"). You can choose to open an existing package and adjust according to your specification.

  • Default lip-package used for the BFUS integration can be found at "F:\Common\Industry Experts\Utility\Integrations\BFUS 2.0\LIP"

If migrating: Rename old integer key field in the customer database (see migration guide)

Install the LIP package

  • Install the LIP package in the customer database.
  • Add actionpads & lisa config
  • Add any extra fields manually (field not present in the template database)
  • Add any SQL functions
  • Do the adjustments below
table name field name
history type add a new option, name: BFUS Notification key: bfus
service utilityid add and adjust according to the options received from cgi
customer customertype add and adjust list keys as "private", "private_company", "company" to the corresponding option

LISA

After running LIP with the integration package it is a good idea to validate each table in Lime. This is done by creating a new field in each BFUS table in LISA, eg. "lime_test_field" as whatever field type. By doing this and trying to save LISA you will validate that there are no duplicate names in either the database or the "viewing name" in the client. The same result can be achieved by changing a field instead of creating a new one.

Python Solution

Import and schedule the task addon_bfus_integration.tasks.purge_messages_tasks.task_purge_messages in your solution. This can be run nightly or less often. More on scheduled task here

In github there is a repo bfus-template-solution which includes the available endpoints and what we consider standard customizations of the bfus fields. Use the template solution to setup the customers solution.

  • Add addon-bfus-integration as a depency in your solution's pyproject.toml file.
  • Adjust mapping: All custom mapping is done inside bfus_mapping.py.
    • Adjust it according to the specification.
    • Add mapping for phone nbr, must be Swedish names (request from CGI).
  • Customizations: Add any required customizations.
  • Build and deploy your solution.

The following "standard" customizations are included in the template:

Company

lime field standard handling
customertype is set based on the two bfus fields “isprivatecustomer” and “isprivatecompany”
registrationno is fetched from either “pincode” or “companycode” depending on if it is a private customer or not
streetaddress from bfus we get “streetname”, “streetqualifier” and “streetnumbersuffix” which are merged into streetaddress
coworker from bfus we get “agentfirstname” and "agentlastname which a used for looking up the corresponding coworker with the same name in Lime
parentcompany from bfus we get “parentcustomerid” which is used for looking up the corresponding company in Lime

Serviceplace

lime field standard handling
streetaddress from bfus we get “streetname”, “streetqualifier” and “streetnumbersuffix” which are merged into streetaddress

Site

lime field standard handling
streetaddress from bfus we get “streetname”, “streetqualifier” and “streetnumbersuffix” which are merged into streetaddress
estatecode from bfus we get “areaname” and “propertycode” which are merged into estatecode

History

lime field standard handling
type Set the historytype to the type with “bfus“ as key

Productcomponent

lime field standard handling
calculatedprice If it’s a fixed price it is taken from “pricewithvat“ otherwise it is fetched from the connected productrow.

Flexservice

lime field standard handling
contract from bfus we get “contractcode” which is used for looking up the corresponding contract with the same code in Lime