Customer Order
A customer order is an object which is created on the supplier side after a procurement-contract has been created between a customer and a supplier. As a result of this a customer-order is an immutable object on which each change has to create a new contract which then results in a new customer-order.
Customer orders can be created by manual creation in the suppliers identity or through digital interaction on the b-op network.
Lifecycle of a Customer Order
*Order creation
- Either manually (does not require acceptance)
- Or over b-op network (requires acceptance)
- Customer order acceptance process enabled (set per customer?)
- waiting for acceptance
- accepted --> Active
- Change request of already accepted customer order**Change requested accepted
- Change request rejected
- Change accepted order positions (one position 0 qtty == cancel positions, all positions 0 qtty --> entire order cancelled)
- Delivery status
- partially delivered positions
- fully delivered positions
- Billed status**partially billed position
- fully billed positions
Changing of the customer order
Changes (as possible with internal orders) are not permissible as a PO/CO-pair are a legally binding entity, and require mutual consent. So in the UI changing and change requests are permissible, but in the data model the offer-process has to be employed to reach a new PO/CO-pair are descendant of the old pair.
As a result, when a change was accepted, a corresponding offer has to be sent to the customer, which then accepts the offer, which results in a contract, which results in a new PO to be sent to the suppler, which then becomes auto-accepted.