Knowledge Model
The app comes with one Knowledge Model (KM) called “Knowledge Model - Shipped Not Invoiced.” The following KM entities will need to be customized and validated.
Note
The KM is pointing to the Base KMs stored in the Marketplace. You will not be able to update the Base KM. Using KM's visual editor, you can overwrite the PQL, names, formatting, etc. If you prefer working with the YAML editor, please copy the IDs from the Base KMs (see final model) and overwrite them in the KMs accessible to you in the YAML Editor.
Records
Augmented Attributes: Configure additional values (optional)
The table in the action view contains a column "Unbilled Status". This column allows users to track the current working progress on an item. By default the values "New", "In Progress", and "Rejected" are provided (note that a "Done" status is not required as the status will be automatically set once an item has been invoiced). If additional values are required, search for the sales order item attribute UNBILLED_STATUS and open it.

Add additional "Possible Values" to the list:

If you added additional values and would like to add an icon, update the custom object CO_DISPLAYRULE_UNBILLED_STATUS as well.
Variables
Knowledge Model key variable
Ensure that the variable VAR_KNOWLEDGE_MODEL_KEY is set to the full key of the app's knowledge model. In a regular setup, the default value does not require any update. Update this variable in both Knowledge Models, Knowledge Model - Shipped Not Invoicedand Knowledge Model - User Guide (in the User Guide folder, available from app version 1.2.0).
Variable ID | Description |
---|---|
| This variable is required to query the correct augmented attributes when the data model is shared with other apps with the same aug. attribute ids. The default values are set to order-management-shipped-not-invoiced-store.knowledge-model-shipped-not-invoiced and order-management-shipped-not-invoiced-store.knowledge-model-shipped-not-invoiced-documentation (User Guide) |
Status value variables
If the possible values of the augmented attribute UNBILLED_STATUS were customized, you would need to update the following variable.
Variable ID | Description |
---|---|
| This variable defines which values are defined as "in progress" which is required to determine the status in the closed tab. If an item had been set to an "in progress" status and then gets invoiced, the item is considered as "realized" in the closed tab. By default, this variable's value is set to the value 'In Progress'. If the possible values of UNBILLED_STATUS were adjusted, add new values to this variable value or overwrite the existing value. If multiple values need to be set, separate them with a comma. |
| This variable defines which values are defined as "rejected" which is required for filtering. If an item is set to a "rejected" status, it is not counted towards the realized value after billing. By default, this variable's value is set to the value 'Rejected'. If the possible values of UNBILLED_STATUS were adjusted, add new values to this variable value or overwrite the existing value. If multiple values need to be set, separate them with a comma. |
Additionally, update the custom attribute CO_DISPLAYRULE_UNBILLED_STATUS
to consider your custom values.
Variables for the determination of unbilled items
During the app installation, the runtime variables and their value from the Order Management Starter Kit were copied to the Shipped Not Invoiced app package. To adjust any values, use the view Settings if you installed the Shipped Not Invoiced app before completing the setup of the "Unbilled Orders" use case in the Order Management Starter Kit you will need to update the variable values in the SNI Settings page in Apps and/or Studio.
Variable ID | Description |
---|---|
| Specifies the "Record Goods Issue" activities; set by runtime variable recordGoodsIssueActivity |
| Specifies the "Cancel Goods Issue" activities; set by runtime variable cancelGoodsIssueActivity |
| Specifies the "Create Invoice" activities; set by runtime variable createInvoiceActivity |
| Specifies the invoice cancellation activities; set by runtime variable createInvoiceCanceledActivity |
| Specifies the number of days since goods issue that an item is considered a "long runner" with regards to invoice creation; set by runtime variable billingLongRunnerThreshold |
| Specifies the number of days since goods issue that an item is considered late with regards to invoice creation; set by runtime variable unbilledRevenueBuffer |
| Specifies the minimum net order value of an item to be considered in the unbilled order use case (VBAP.NETWR_CONVERTED), set by runtime variable unbilledMinValueThreshold |
| Specifies the document types which should not be considered in the unbilled order use case (VBAK.AUART); set by runtime variable unbilledExcludedDocumentTypes |
| Specifies the billing relevance codes which should not be considered in the unbilled order use case (VBAP.FKREL); set by runtime variable unbilledExcludedBillingRelevance |
| Specifies whether internal, external, or all trading partners are considered |
Variable for the calculation of realized value
The following variable is used to calculate the KPI KPI_ORDERITEM_SUM_REALIZED_VALUE
and KPI_TIMELINETABLE_CALC_REALIZED_VALUE
.
Variable ID | Description |
---|---|
| This variable references the runtime variable unbilledTimeToBillBaseline which can be set in the view Settings. |
Note
You can see which objects refer to a variable by copying the Variable ID, going into the YAML editor into the View mode (“Final Model without variable replacement”) and search for the copied variable
Note
The runtime variable values in Apps and Studio are independent after the initial publishing. We recommend updating the runtime variable values in the view Settings in Apps as this is the view your business users access.
If you prefer to maintain the values across Apps and Studio you can do so by setting the values directly in the corresponding Knowledge Model variables.
KPIs
KPIs in Knowledge Model are used for KPIs shown to the business user and for storing business logic reused in various KPIs and records, such as for the "unbilled" status.
Formulas mainly used as internal functions have the prefix “FORMULA_” in the ID. Often, those formulas return a binary value such as "has goods issue," "has invoice," etc. Those indicators are then re-used in other KPIs.
The following KPI might require customization to fit.
KPI ID | Description |
---|---|
| This formula defines the order of items in the Action View table. Per default, the prioritization for long-runner items is based on the realizable value. For late items the working capital impact (annualized) of not invoicing the item for an additional day is used. The priority icon is determined using this realizable value. The categorization is done based on the value exceeding quantile values of the realizable value:
|
Custom Attributes
Custom attributes are used to define display content rules which allow conditional formatting of columns.
Object ID | Description |
---|---|
| Adjust the values in the comparators to fit the order of magnitude of the net order values of your order items, e.g., thresholds at the 75th/50th/25th quantile. |
| Add comparators according to the status values defined for the augmented attribute SALES_ORDER_ITEM.UNBILLED_STATUS |
| Add comparators according to the status values defined for the attribute SALES_ORDER_ITEM.UNBILLED_STATUS_CLOSED |