LOGO CloudWMS

Finances

Explainer of costs overview

Services

Services are divided into categories:

  • Administrative: These costs can be added to any order, intake, or customer.
  • Intake: Can be added to an intake.
  • Storage: Costs for storing goods.
  • Handling: All additional costs incurred outside of packaging and shipping costs.
  • Hourly Rate: With an hourly rate, you can use a resource during activities and calculate it precisely per minute.
  • Surcharges: Such as fuel surcharge or extra costs for remote areas/islands.
  • Shipping Zone: * more info below
  • Shipping Zone Pallet: * more info below

For an order, the following categories of services can be added:

  • Handling;
  • Shipping;
  • Surcharges,
  • Shipping Zone;
  • Shipping Pallet;

For an intake, the following services apply: Intake, storage, hourly rate

For a customer, the following services apply: Administrative, storage, hourly rate

From here on, "resource" means "an order, intake, or customer."

Prices

All services need a price. When a service has a price, it is used for every customer. If a customer needs a different price, it can be set specifically for that customer.

There are two types of prices:

  1. Global prices
  2. Customer-specific prices

The most important thing is to always fill in all global prices first. Even when creating a new service, a global price must be filled in. Only after that, you can deal with exceptions, namely customer-specific prices.

Global prices can be adjusted in two ways:

1. By going to the detail page of a service.

By clicking on the amount of the service on the overview page of services (a blue hyperlink that triggers a pop-up). This is the most convenient way if you want to fill in many prices at once.

As mentioned earlier, you should only adjust customer-specific prices after you have filled in all the global prices properly, and only when it's necessary because the customer requires a different price.

To adjust customer-specific prices, go to the detail page of the customer and click on "Prices." You will arrive at a page commonly referred to as "The price book of this customer." There will be a blue notification explaining how the prices work: "Rules with a blue background are specific prices for this customer." So, rules without a blue background use the global price.

In a poorly configured system, you may see multiple instances of "No default price set for the service." This should alert the user that they have arrived on this page too early, and they should first go back to fill in all the global prices properly.

2. Editing Customer Costs By clicking on "Edit Costs" in the price book, you will access a page with multiple tabs:

Tab 1: Edit payment settings Checkbox 1 "Pay per pick": Not documented, currently not used (If you want to take a screenshot, remove this from the code). Checkbox 2 "Saturday costs": If the order is shipped to NL or BE on Friday and is not a B2B order, the "sat_surcharge" service is added to the order. Checkbox 3 "Flat-rate shipping costs": Not documented, currently not used (If you want to take a screenshot, remove this from the code). Checkbox 4 "Fuel Surcharge": For shipments outside NL, a fuel surcharge is added to the shipping costs; this is one of the few services that work with a percentage and is calculated on the shipping costs.

Tab 2: Set Costs Here, you can set exceptions for customers who have different prices than the global price.

Tab 3: Zones For some customers, it is desired to have a different zone for a country. This will rarely happen in practice. Generally, you can set zones globally via: Settings -> zones.

Tab 4: Pick Costs If an agreement is made with a customer, you can set the pick costs here. For example: Picks 1 to 5 cost 1 euro. Picks 6 to 10 cost 0.75 euro. Picks 11 to 1,000,000 cost 0.50 euro.

Tab 5: Standard Service for Order or Intake
This service is automatically added to each order or intake. It could be a flyer or careful gift packaging specific to this customer.

Hourly Rates

Sometimes work is done for customers that is billed per hour. If this work cannot be associated with an order, such as repackaging or sticker placement on a number of pallets with goods, the service should be added to the "Customer" resource. If it can be associated with an order or intake, it should be added to the order or intake.

Beforehand, an hourly rate is agreed upon with the customer. This hourly rate should be used when creating the service.

To create an hourly rate service, click on the "Add Service" button on the resource page. Then select the service you have created (or the service that was created in the past). Afterward, you will see additional buttons. You can choose to click on the "Start Time Registration" button (Don't forget to click "Stop Time Registration" afterward) or directly enter the number of minutes worked. Remember to also include the date. The hourly rate will be included in the reports.

Manual Services:

Administrators can manually add services to a resource. Manually added services can also be edited or removed by an administrator. (Because this has financial implications, it will never be possible for non-administrators to do this. Any requests for this must be rejected. If there is a need for this, the workflow should be improved. Making an ordinary employee an admin is also not the intention.)

Adding a manual service should always be carefully considered. It is usually based on an exception. An example of this is when the system cannot calculate the cost of a ballet shipment. In such a case, a user needs to add it manually.

Automatically Added Services:

Orders

If the shipment is to a non-EU country, the "customs-export" service is added. Saturday surcharge is added if applicable (sat_surcharge). The pick costs are added. If it is a pickup shipment, the "pickup-admin-fee" service is added. All used packaging materials linked to a service are added. If there are euro pallets used that have not been exchanged, the "europallet_surcharge" service is added, per pallet. The "label_email" service is added per shipped package. Finally, the "Standard Service for Order or Intake" is added. Pallet Shipments:

If it is a pickup shipment, the "handle_out" service is added per pallet. If it is not a pickup shipment, the system searches for a pallet shipping service for this number of pallets, and a fuel surcharge is added. If no pallet shipping rate is found, an email will be sent to customer service, and the order will be marked as "waiting for service handling". Parcel Shipments:

If the packaging material is an envelope/mailbox packaging, the system searches for a service matching this country/zone, for example, shipping_NL_bp. If it is not a mailbox packaging, the system checks if there is a rate for the weight of this shipment to this country/zone. For example, shipping_NL_15. If no rate is found, the system checks if there is a "flat-rate" rate for this country or zone. For example, shipping_NL_flat. Remote Area Surcharges:

Wadden Islands (remote area):

For pallet shipments, wadden_fee_pallet is added, and for parcel shipments, wadden_fee_parcel is added per package/pallet. Other remote destinations: For pallet shipments, remote_fee_pallet is added, and for parcel shipments, remote_fee_parcel is added per package/pallet. Whether an area is a remote area is determined by the system in a different way, not related to the "Services" section. The code processing these services can be found in the job "ProcessSalesOrderServices".

Intake / Returns

Returns: For returns, only one service is added with the quantity equal to the total received quantity of items (not the number of order lines). The service used is "returns".

Intake: When closing an intake, the user is asked for three values:

  1. The type of freight.
  2. The number of received boxes (precise counting).
  3. The number of received pallets (precise counting).

When receiving loose-loaded goods, the system calculates which service can be added:

  • For 2,500 boxes, the service "Unloading a non-palletized container (2001-3000 boxes)" is added.
  • For 13,859 boxes, the service "Unloading a non-palletized container (13001-14000 boxes)" is added.
  • For the count of received pallets, the service "pallet_handling" is added per pallet.

When the type of received goods is "loose boxes," such as a delivery of 2 packages by PostNL, the service "box_handling" is added per received package.

When closing an intake, the system also checks how many pallet and non-pallet locations this intake has been in contact with.

For each pallet location, the service "move-received-product-to-pallet-location" is added. For each non-pallet location, the service "move-received-product-to-location" is added. The job for intake can be found in "ProcessPurchaseOrderServices".

Customers

For each customer, the "wms_license" service is added. At the moment the customer is created, the "account_setup" service is added. For each integration, the "integration" service is added. With some customers, it is agreed that only one integration fee is charged. This can be set via "Customer -> Edit details."

Especially for customers, it is important that when services are created, they are always given a date within a period that is yet to be invoiced.

Waiting for Service Handling An order can be marked as "waiting for service handling." This is a sub-status indicating that additional services need to be added/edited, and the order is not yet ready for invoicing. The system can also mark an order in this way and immediately send an email to customer service with more information.

Reports

Reports are beyond the scope of this document. You will get accurate reports only when all prices are properly filled in. When generating a report, you may receive two warning messages:

There are orders within the date range of this report that still have the status "waiting for service handling." There are incomplete intakes within this date range. Packaging Materials and Services Packaging materials that are billed need to be linked to a service. This is done by selecting a service when creating or editing the packaging material. Without this link, the packaging material will be given away for free. If a packaging material belongs to a customer, you should not link this material to a service.

Previous
Create a contact