Datamodel: Novulo Deliveries, Stock movements, Stock deliveries, expected deliveries, etc

The ERP-functionality in Novulo components and reference architecture has a large number of concepts that all link together.

These include delivery plans and the linked templates, deliveries, delivery lines and the expected deliveries and lines are the core of the Novulo Delivery system for delivery planning and inbound and outbound logistics.

Deliveries are linked to sales, purchases and stock deliveries, and result into stock movements and inventory corrections.

This post is aimed to describe the data model and logics.

Delivery plans

Delivery Plans are records to describe how a product or service is planned to be delivered, inbound or outbound. Examples of settings in Delivery plans are ‘one time delivery’, ‘monthly recurring’, ‘on request’, ‘digital delivery’, but also ‘delivery to address’.

Delivery Plans are based on a Delivery Plan Template, which in turn are connected to the Sales price list item (product). This is, because typically the product determines how it can potentially be delivered.

To explain the concept and data model, it’s easiest to explain it on how it’s linked to a sales order.

Delivery plans for Sales (including explanation)

When you create a Sales order, you register how you need to deliver or fulfil this sales. This is valid both for sales to customers, as well as intercompany sales (between two entities that you manage in your application).

In typical retail or wholesale orders you will register the contact and address where you need to deliver to. In the Novulo setup, this is stored at the delivery plan.

It starts with adding sales, with one or more sales lines. Sales lines are based on a Sales price list item. (which relates to a product).

Sales Sales SalesLines SalesLines SalesLines->Sales 1..n SalesPriceListItems SalesPriceListItems SalesLines->SalesPriceListItems based on Products Products SalesPriceListItems->Products based on

The Sales Price List Item has the link to the Delivery Plan Template. When adding a Sales line to a Sales, you select the Delivery Plan Template you want to use. This is pre-filled with the default setting.

Then, the application will ensure that a Delivery Plan is made, for that sales, linked to that sales line.

Sales Sales SalesLines SalesLines SalesLines->Sales SalesPriceListItems SalesPriceListItems SalesLines->SalesPriceListItems DeliveryPlan DeliveryPlan SalesLines->DeliveryPlan linked to Products Products SalesPriceListItems->Products DeliveryPlanTemplate DeliveryPlanTemplate SalesPriceListItems->DeliveryPlanTemplate has default DeliveryPlan->Sales linked to DeliveryPlan->DeliveryPlanTemplate based on

At some places names have been changed, which might cause confusion:

  • DeliveryPlan and DeliverySchedule are the same.
  • DeliveryScheduleTemplate and LeveringsSchemaSjabloon are the same, as is DeliveryPlanTemplate

Delivery plans for purchases

Next to sales, also purchases can lead to deliveries - typically incoming,

The set-up and reasoning behind is the same as with sales, described above. Also here, it works both for intercompany purchases as well as regular purchases.

Purchases Purchases PurchaseLines PurchaseLines PurchaseLines->Purchases PurchasePriceListItems PurchasePriceListItems PurchaseLines->PurchasePriceListItems DeliveryPlan DeliveryPlan PurchaseLines->DeliveryPlan linked to Products Products PurchasePriceListItems->Products DeliveryPlanTemplate DeliveryPlanTemplate PurchasePriceListItems->DeliveryPlanTemplate has default DeliveryPlan->Purchases linked to DeliveryPlan->DeliveryPlanTemplate based on

Stock deliveries

Stock deliveries are the third Record Type that can be used to create expected deliveries and that Delivery plans can linked to.

Stock deliveries are used to initiate stock transfers between warehouses that you manage in your application.

There are three supported scenario’s

  1. For stock transfers between two warehouses owned by the same entity, so no sales or purchase will ever be needed
  2. For stock transfers between two warehouses of your own organizations, but with different entities. Here, a stock delivery can, after the delivery has been completed, create an intercompany purchase and sales.
  3. For stock transfers between warehouses that you manage, but might not be your own - for example for your customer’s warehouses that you manage. (supported from M5210 r440)

For stock deliveries, the delivery plan template is automatically selected by a single one-term delivery plan template.

StockDeliveries StockDeliveries StockDeliveryLines StockDeliveryLines StockDeliveryLines->StockDeliveries Products Products StockDeliveryLines->Products DeliveryPlan DeliveryPlan StockDeliveryLines->DeliveryPlan linked to DeliveryPlan->StockDeliveries linked to DeliveryPlanTemplate DeliveryPlanTemplate DeliveryPlan->DeliveryPlanTemplate based on

Expected deliveries and delivery lines

When the delivery plan is set, Expected Deliveries and Expected Delivery Lines are generated which are the start of the process that leads to an actual Delivery.

An Expected Delivery is what is says: it’s a potential, expected delivery of products. It can be incoming or outgoing, and it can be based on Sales, Purchases, Stock Deliveries or Productions.

An Expected Delivery Line is part of the Expected Delivery and registers the quantity and the product that are to be delivered. Expected Delivery Lines are linked to Sales lines, Purchase lines, Stock delivery lines or Production lines.

To explain the concepts and data model, just like above, it’s easiest to explain it on how it’s linked to a sales order.

Expected deliveries and lines for Sales

A sales can have one or more expected deliveries. Within a sales, a sales line can also have multiple expected deliveries.

Sales Sales SalesLines SalesLines SalesLines->Sales SalesPriceListItems SalesPriceListItems SalesLines->SalesPriceListItems DeliveryPlan DeliveryPlan SalesLines->DeliveryPlan Products Products SalesPriceListItems->Products DeliveryPlanTemplate DeliveryPlanTemplate SalesPriceListItems->DeliveryPlanTemplate DeliveryPlan->Sales DeliveryPlan->DeliveryPlanTemplate ExpectedDeliveries ExpectedDeliveries ExpectedDeliveries->DeliveryPlan ExpectedDeliveryLines ExpectedDeliveryLines ExpectedDeliveryLines->SalesLines ExpectedDeliveryLines->ExpectedDeliveries

Deliver inventory products: reservations

Reservations are used when delivering inventory products. This is used for all outgoing deliveries, which can originate for Sales (standard sales scenario), Purchases (when returning purchases) and Stock Deliveries.

Sales Sales SalesLines SalesLines SalesLines->Sales SalesPriceListItems SalesPriceListItems SalesLines->SalesPriceListItems Products Products SalesPriceListItems->Products ExpectedDeliveries ExpectedDeliveries ExpectedDeliveries->Sales Address Address ExpectedDeliveries->Address Sent from specified address ExpectedDeliveryLines ExpectedDeliveryLines ExpectedDeliveryLines->SalesLines ExpectedDeliveryLines->ExpectedDeliveries Reservations Reservations Reservations->SalesLines Only for sales lines Reservations->Products Reservations->ExpectedDeliveryLines Created for outgoing StockLocations StockLocations Reservations->StockLocations Are on one specific stock location Warehouse Warehouse StockLocations->Warehouse Warehouse->Address

At the level of the Expected Delivery, Expected Delivery Line and corresponding Sales Line, there’s a process “Make reservations”.

This process tries to make reservations for the desired Outgoing Delivery for:

  1. All available stock (so: not yet reserved)
  2. On any of the warehouses on that address
  3. On the stock locations with, at the Stock Location Type level, the checkbox “Reserve and delivery automatically” enabled
  4. In the priority as indicated on warehouse level

Deliver inventory products: deliver

Sales Sales SalesLines SalesLines SalesLines->Sales SalesPriceListItems SalesPriceListItems SalesLines->SalesPriceListItems DeliveryPlan DeliveryPlan SalesLines->DeliveryPlan Products Products SalesPriceListItems->Products DeliveryPlanTemplate DeliveryPlanTemplate SalesPriceListItems->DeliveryPlanTemplate DeliveryPlan->Sales DeliveryPlan->DeliveryPlanTemplate ExpectedDeliveries ExpectedDeliveries ExpectedDeliveries->DeliveryPlan ExpectedDeliveryLines ExpectedDeliveryLines ExpectedDeliveryLines->SalesLines ExpectedDeliveryLines->ExpectedDeliveries Deliveries Deliveries Deliveries->ExpectedDeliveries DeliveryLines DeliveryLines DeliveryLines->ExpectedDeliveryLines DeliveryLines->Deliveries
3 Likes