Xalgorithms is Extending UBL for Versioning & Traceability
With feedback and guidance from the UBL community and its Technical Committee, and the assistance of Crane Softwrights Ltd., Xalgorithms is implementing two extensions to UBL, to include document-version history and associated change traceability.
Extending UBL with Version History
When an instance of Lichen is given data from a purchase order, it fetches external rules and generates an updated purchase order.
Providing traceability through these versions is not the same as tracking the status of the document in the context of business workflow (e.g. whether the purchase order leads to a purchase). The UBL schema already accommodates business workflow. Xalgorithms is developing an extension for UBL to make it possible to maintain information about the incremental assembly of the business document itself.
Following are some considerations incorporated into the Xalgorithms extension of UBL:
- A business document is dynamic until an action is executed against it, at which point it becomes an audit record with legal significance.
- The document must remain atomic so that element changes can be separately tracked. It should be possible to accept multiple signatures. (A blockchain ledger might make sense here.)
- Documentation of change causality can be added to each subsequent version, as part of the new version.
- The transformation record should be intrinsic to the document.
Extending UBL with Change Traceability
The cause of a change can be documented with reference to WHO, WHAT, WHEN, WHERE, WHY and HOW data:
- WHO: The identity(ies) of the change agent(s)
- WHAT: Literally, the change.
- WHEN: Timestamp.
- WHERE: Location data of the change agent (IP address; URL; geodata).
- WHY: Reason(s) for the change. Depending on context, this could be a structured reference to an algorithm that’s been applied, or a free form comment.
- HOW: Method used to make the change.