màj wiki avec retour MES lot-5 AD
This commit is contained in:
@@ -0,0 +1,215 @@
|
||||
---
|
||||
title: "3PL Billing"
|
||||
type: module
|
||||
sources:
|
||||
- areas/billing/index.md
|
||||
- areas/billing/billing_configuration/index.md
|
||||
- areas/billing/billing_configuration/contracts.md
|
||||
- areas/billing/billing_configuration/planners.md
|
||||
- areas/billing/billing_configuration/rules_documentation.md
|
||||
- areas/billing/billing_configuration/rules_handling_container.md
|
||||
- areas/billing/billing_configuration/rules_handling_filters.md
|
||||
- areas/billing/billing_configuration/rules_handling_uom.md
|
||||
- areas/billing/billing_configuration/rules_handling_volume.md
|
||||
- areas/billing/billing_configuration/rules_handling_weight.md
|
||||
- areas/billing/billing_bills/index.md
|
||||
- areas/billing/billing_bills/bills.md
|
||||
- areas/billing/billing_bills/billing_reports.md
|
||||
- areas/3pl_billing/index.md
|
||||
- areas/3pl_client_portal/index.md
|
||||
related:
|
||||
- modules/3pl-portal.md
|
||||
- modules/owner-extensions.md
|
||||
- concepts/account-owner.md
|
||||
- concepts/stock.md
|
||||
- concepts/order-outbound.md
|
||||
- concepts/order-inbound.md
|
||||
last_compiled: "2026-04-26"
|
||||
---
|
||||
|
||||
# 3PL Billing
|
||||
|
||||
## Overview
|
||||
|
||||
The 3PL Billing module identifies, quantifies, records, and consolidates data from logistical activities in the warehouse for billing purposes. It is primarily designed for 3PL (Third-Party Logistics) operators who need to invoice each client (owner) individually based on the warehouse services consumed.
|
||||
|
||||
**Prerequisite**: The [Owner Extensions](owner-extensions.md) module must be installed. This adds the mandatory owner field to receipt and shipping orders and restricts mixing items from different owners in the same order.
|
||||
|
||||
**Scope limitation**: By default, the module only counts data from Easy WMS activities. Activities from other modules (Manufacturing container consumption, Yard Management transport documents) are excluded unless custom rules are configured.
|
||||
|
||||
## Key capabilities
|
||||
|
||||
- Configurable billing rules for all standard logistics activities (storage, handling, inbound, outbound, packing, etc.)
|
||||
- Custom rules based on transactions for non-standard activities
|
||||
- Contract-based billing: one contract per owner, specifying rules + planner + validity period
|
||||
- Economic valuation: optional currency-based pricing with unit costs or percentage (for stock value rules)
|
||||
- Tiered pricing: volume discount/surcharge ranges per rule
|
||||
- Bill generation: periodic automatic or manual; owner-specific bills with full line detail
|
||||
- Pre-validation: optional manual review before automatic bill closure and ERP export
|
||||
- Compensation: manual surcharges or discounts (%) at bill or line level
|
||||
- Notifications: alerts for generation errors, closure events
|
||||
|
||||
## Architecture
|
||||
|
||||
### Core entities
|
||||
|
||||
**Billing rule**: definition of what to count. Two types:
|
||||
- **Standard rules** (automatic): count activities tracked natively by EasyWMS; system counts without user intervention
|
||||
- **Manual rules**: Fixed (flat fee regardless of volume) or Variable (operator-entered quantity); used for activities EasyWMS does not track
|
||||
|
||||
Rules are organized in three groups by concept:
|
||||
|
||||
#### Group 1 — Storage
|
||||
Quantifies articles in stock at a given moment (snapshot-based):
|
||||
| Sub-type | What is counted |
|
||||
|----------|----------------|
|
||||
| Container | Number of containers with owner's stock |
|
||||
| Location | Number of locations with owner's stock |
|
||||
| Unit of measure | Quantity in the chosen UoM |
|
||||
| Weight | Weight of owner's stock (max of balance weight vs. theoretical) |
|
||||
| Volume | Volume of owner's stock (based on item conversion dimensions) |
|
||||
|
||||
#### Group 2 — Handling
|
||||
Quantifies dynamic processes applied to stock (flow-based):
|
||||
| Sub-type | What is counted |
|
||||
|----------|----------------|
|
||||
| Container | Containers involved in the operation |
|
||||
| Work orders | Number of operations (receipts, shipments, loads, routes, counts, kits) |
|
||||
| Work order lines | Number of order lines processed |
|
||||
| Weight | Weight processed in the operations |
|
||||
| Unit of measure | Quantity processed in chosen UoM |
|
||||
| Volume | Volume processed |
|
||||
|
||||
Operations covered: inbound receipts, outbound shipments, loads, routes, counts, kit assemblies.
|
||||
|
||||
#### Group 3 — Transaction
|
||||
Custom rules based on specific WMS transaction types:
|
||||
| Parameter | Description | Required? |
|
||||
|-----------|-------------|----------|
|
||||
| Transaction type | Which WMS transaction triggers the count | Yes |
|
||||
| Owner parameter | Field in the transaction identifying the owner | Yes |
|
||||
| Quantity parameter | Field providing the count value (if absent: quantity = 1 per event) | No |
|
||||
| Operation type | Increment (adds to total), Decrement (subtracts), Variable (sign-based) | Yes |
|
||||
|
||||
Used for non-standard activities not covered by groups 1 or 2.
|
||||
|
||||
**Billing planner**: defines when to generate bills — daily, weekly, monthly, or custom schedule.
|
||||
|
||||
**Billing contract**: ties together an owner + billing rules + planner + validity period + optional economic valuation.
|
||||
|
||||
**Bill**: periodic summary document generated per contract. Contains lines (one per rule) with breakdown detail.
|
||||
|
||||
**Bill line**: total quantification of one rule for the period. Can be drilled down to individual activity records.
|
||||
|
||||
**Compensation**: manual % surcharge or discount applicable at bill level or line level.
|
||||
|
||||
### Contract lifecycle
|
||||
|
||||
```
|
||||
Contract created → Enabled → Bills generated periodically → Lines generated per rule
|
||||
→ Pre-validation (optional) → Closed → ERP export
|
||||
Contract disabled → No new activities recorded; no automatic bill closure
|
||||
```
|
||||
|
||||
### Economic valuation
|
||||
|
||||
When a contract has a currency configured:
|
||||
- Standard rules: Fee (currency/unit) × quantity counted
|
||||
- Stock value rules: Fee (%) × stock value (presentation currency must match contract currency)
|
||||
- Bill totals: Gross price (before compensation) → Subtotal price (after line compensation) → Total price (after bill compensation)
|
||||
|
||||
### Tiered pricing (requires `EnablePriceRanges` toggle)
|
||||
Ranges must be consecutive starting at 1. Last range has no upper limit (acts as catch-all):
|
||||
|
||||
```
|
||||
Range 1: 1–100 units → 10€/unit
|
||||
Range 2: 101–200 units → 8€/unit
|
||||
Range 3: 201+ units → 6€/unit
|
||||
```
|
||||
Bill line displays the **average price** (total gross amount ÷ count) when ranges are used.
|
||||
|
||||
## Configuration
|
||||
|
||||
### Initial setup
|
||||
1. Install Owner Extensions module
|
||||
2. Define owners (3PL clients) in inventory masters
|
||||
3. Create billing rules for each activity category:
|
||||
- Storage rules (container presence, time-based)
|
||||
- Handling rules (inbound, outbound, picking)
|
||||
- Weight/volume/UoM-based rules
|
||||
- Custom transaction-based rules
|
||||
4. Create billing planners (frequency)
|
||||
5. Create contracts: one per owner, assigning applicable rules + planner
|
||||
6. Enable contracts
|
||||
|
||||
### Contract rules configuration
|
||||
For each rule assigned to a contract:
|
||||
- Activity type filter (which operations qualify)
|
||||
- Owner filter (auto-applied from contract)
|
||||
- Economic valuation (fee/unit or fee/% for stock value rules)
|
||||
- Price ranges (optional)
|
||||
|
||||
### Pre-validation
|
||||
When enabled on a contract, generated bills must be manually reviewed and approved before automatic closure. Prevents incorrect bills from being sent to ERP.
|
||||
|
||||
### Contract enable/disable rules
|
||||
- A contract can be enabled/disabled multiple times within its validity period
|
||||
- Disabled contracts: no activity recording for manipulation rules; no automatic bill closure
|
||||
- **Cannot change valuation (on/off) after a contract has been active** — must clone and disable old
|
||||
|
||||
## Operations
|
||||
|
||||
### Bill management (PC — Billing menu)
|
||||
|
||||
| View | Content |
|
||||
|------|---------|
|
||||
| Bills | All generated bills per contract/owner |
|
||||
| Bill lines | Individual rule quantification per bill |
|
||||
| Bill detail lines | Breakdown of each activity counted in a line |
|
||||
| Compensations | All applied discounts/surcharges |
|
||||
| Reports | Detailed and simplified billing reports |
|
||||
|
||||
### Bill status flow
|
||||
1. Bills generated automatically (by planner) or manually
|
||||
2. If pre-validation enabled: bill in "pending validation" state
|
||||
3. Validated → Closed → exported to ERP
|
||||
4. Manual close or forced close available from web interface
|
||||
|
||||
### Compensation actions
|
||||
Available on bills and individual lines:
|
||||
- Apply % discount (negative compensation)
|
||||
- Apply % surcharge (positive compensation)
|
||||
- "Compensated" flag shown on bill and line records
|
||||
|
||||
### Billing notifications
|
||||
|
||||
The system can automatically generate notifications for 6 billing events. Users subscribe per event:
|
||||
|
||||
| Event | Trigger |
|
||||
|-------|---------|
|
||||
| **Bill sent automatically** | A bill has been created, closed, and sent to ERP automatically |
|
||||
| **Bill pending validation** | A bill has been generated and awaits manual approval before closure |
|
||||
| **Bill corrected** | Bill data has been manually corrected after automatic generation |
|
||||
| **Bill cancelled** | A bill has been cancelled; data will not be sent to ERP |
|
||||
| **Contract expired** | The contract's end date has passed; no new bills will be generated |
|
||||
| **Contract about to expire** | The last bill of the contract has been generated; next scheduled date falls outside validity period |
|
||||
|
||||
Notification channels: **email**, **SMS**, or **SmartUI contextual notification**. Channel and timing are configurable per event per subscriber.
|
||||
|
||||
## Errors & troubleshooting
|
||||
|
||||
| Issue | Cause | Resolution |
|
||||
|-------|-------|-----------|
|
||||
| Billing calculation error notification | Stock value rule currency doesn't match contract currency | Ensure all item presentations use same currency as contract |
|
||||
| Contract cannot be enabled | Not all rules have fee configured (when valuation active) | Complete fee configuration for all contract rules |
|
||||
| Bill marked as erroneous | Currency mismatch in stock value calculation | Check presentation currencies; fix contract currency if needed |
|
||||
| Activities not recorded | Contract disabled during activity period | Enable contract before activities occur |
|
||||
|
||||
## Related
|
||||
|
||||
- [[3pl-portal]] — 3PL clients access their billing data and operational KPIs through the client portal
|
||||
- [[owner-extensions]] — Prerequisite module; adds owner enforcement to orders and master data
|
||||
- [[account-owner]] — Owners are the 3PL clients; contracts are created per owner
|
||||
- [[stock]] — Storage-based billing rules measure stock presence and movements
|
||||
- [[order-inbound]] — Inbound handling activities (receipt) counted by billing rules
|
||||
- [[order-outbound]] — Outbound handling activities (shipping, picking) counted by billing rules
|
||||
Reference in New Issue
Block a user