Back office integration
Linking from GoERP to a back office page
Back office URLs have a predictable structure. Here is a sample URL (a product card):
https://t10.erply.com/12345/?lang=eng§ion=product&edit=23- The base URL (
https://t10.erply.com/12345/) is available as variable{{ .Session.User.BOLoginUrl }}. - Parameter
langis the current language. Use{{ .Session.Language.LegacyCode }}. Please always set this parameter; if the user has switched to a particular language, they want this language to be remembered as they navigate through the system. - Parameter
sectionidentifies the page: the form or the list view. - Parameter
editis used on forms and indicates the ID of the record. If you want to open a new empty form, useedit=new.
Prefilling back office forms
On an empty form, any field can be prefilled with a URL parameter. Use the form field’s name attribute
as the URL parameter name.
The following URL opens a new invoice form. (For clarity, it has been split into multiple lines.)
- The document’s type will be set to “Receipt” (ID = 2),
- customer ID will be set to 99
- and warehouse ID to 2.
{{ .Session.User.BOLoginUrl }}
?lang={{ .Session.Language.LegacyCode }}
§ion=invoice
&edit=new
&invoice_type_id=2
&invoice_orgper_idDat_client=99
&invoice_warehouse_id=2This approach only works for an empty form, not for saved records.
Prefilling back office list filters
Use this approach if a GoERP page must link to a legacy back office list view.
Erply back office list views use method="post" forms, so filter presets need to be supplied
as POST parameters.
For example, opening the invoices page with the “Creator” filter applied (invoices created by employee with ID 123) requires submitting a form:
<form method="post" action="{{ .Session.User.BOLoginUrl }}?lang={{ .Session.Language.LegacyCode }}§ion=invoices">
<input type="hidden" name="search_orgper_idDat_author" value="123">
</form>Replacing a back office page with a GoERP page
Back office forms can be configured to redirect to other URLs.
If a customer installs an app that manages products, they can make a product card always open in that app. (And likewise, employee forms can open in an employee app, and customer cards in a CRM app).
At the moment this is a manual CAFA configuration step that must be done individually on each account.
- Go to Settings > Configuration Admin > App configuration.
- Click “Add new configuration” to create a new setting.
- Fill in the form as follows:
| Field | Value |
|---|---|
| Application | bo_ui |
| Level | Company |
| Level ID | leave empty |
| Type | ui_replacements |
| Name | Use any value, for example the name of the app that is going to handle the redirects |
| Value Type | JSON |
| Value | Define a JSON object as instructed below. |
Example (shown with all possible supported adjustments, all components optional):
{
"redirect_creation_form": [
{
"section": "prodin",
"url": "https://example.com/{CLIENT_CODE}/new-inventory-registration-page"
}
],
"redirect_edit_form": [
{
"section": "product",
"url": "{GOERP_URL}/{CLIENT_CODE}/{ISO_LANGUAGE}/edit-product-page?productID={RECORD_ID}"
}
],
"redirect_page": [
{
"section": "products",
"url": "https://example.com/{CLIENT_CODE}/product-list"
}
],
"add_tabs": [
{
"section": "orgperC",
"name": "metadata",
"title": {
"en": "Metadata",
"fr": "Métadonnées"
},
"url": "{GOERP_URL}/{CLIENT_CODE}/{ISO_LANGUAGE}/customer-metadata-page?customerID={RECORD_ID}"
}
],
"replace_tabs": [
{
"section": "orgperC",
"name": "contracts_new",
"title": {
"en": "A better tab for customer contracts"
},
"url": "{GOERP_URL}/{CLIENT_CODE}/{ISO_LANGUAGE}/customer-contracts-page?customerID={RECORD_ID}",
"replace": "orgperC_contracts"
}
]
}Erply section name can be found from the URL: it’s the keyword following “§ion=…” Product card is product,
inventory registration form is prodin, employee form is orgperB and so on.
The redirect URL supports placeholders:
{GOERP_URL}- Base URL of Erply app store apps.{CLIENT_CODE}- Account number{RECORD_ID}- Record ID{LANGUAGE}- Three-letter language code (used in Erply back office){ISO_LANGUAGE}- Two-letter language code (used in app store apps)
As many JSON objects can be created as needed.