The Billing System
Summary
Our team has upgraded the billing system to a cross-company financial billing system. This redesign includes adding multiple new databases, such as cost rates, billing parties, invoices, and editing flow.
The Financial System
Charge Code
The Charge Code is the list of code names. Users create these codes to manage and categorize their applying fees
Rate Card, Sell, and Cost
The Rate Card comprises a list of prices that are applicable to partners or customers (senders). Users have the option to create multiple calculators within a single rate card. Yojee has recently introduced a Dispatcher fee, which was not included in the previous version that only had sell charges. While setting up a rate card, users are required to specify if it is a sell, cost, or internal cost rate card. Sell rate cards are meant for upstream partners, cost rate cards for downstream partners, and internal cost rate cards are not billed to any partners.
The initial charge tab
The old system just had a charge tab in the order booking section. This charge tab showed the order’s cost for reference. However, we aimed to transform this part into a powerful tool.
Invoice
After users modify the billing table, they are able to export invoices and send them to clients. The invoice includes one billing party and one currency. Different billing parties and currencies are going to separate into other invoices.
Partners and Billing Parties
As a management software for 3PLs, our company typically collaborates with upstream and downstream partners within the logistics chain. Upstream partners are those to whom we provide services and who act as billing parties. Downstream partners are those who provide services to us and act as payment parties. When users create a new partner, the partner's role is automatically set within our system.
The Flow
Generate invoice flow
Redo invoice flow
The Change in Order’s Charge Tab
Charge Tab Relationship
Status: Processing
Leg Column
The leg is the section of journey that is booked through the same carrier
Users input how many leg in the order when they place a booking.
Sell and Cost Column
We implement Sell and Cost into billing table
Margin Column
The margin directly shows the percentage of gaining or losing on this charge code. This quick analysis applies to each leg’s charge code.
Charge Code Column
The charge code indicates charge category
Parties’ Columns
The costs and payment parties display in the table when the company transfers at least one leg to the downstream partner.
Internal cost (operation cost) does not have any payment party.
Status: Finalized
All charges for orders are locked, and the selling charges are included in the invoices. If users need to modify the charges, they must provide a reason for their request. The system will then record their submission and unlock the charge. The billing table will display a processing status.
The Billing Job
The process of collecting charges for orders within a specified timeframe is called a billing job. Rather than generating invoices for each order individually, users can opt to create a recurring billing job. However, managing a large volume of data within a single table can be a challenge.
Billing job relationship
Process of billing job
Creating Billing Job
Users create a billing job based on selecting customers and a timeline to collect orders
Loading Orders
After creating billing job, system collects all orders and create the billing table
Collecting Calculators
The next step is calcuating all the math. This action may take a while so the calculation status will indidate the process.
Responding & indicating users
If any order has problem in calculating its charges, we notify users about the issues
Billing Job Table
There are 3 tabs:
Completed Calculation: successful calculated orders
Warning Calculation: error calculating orders (missing rate card, down server...)
Manual charge: adding charge manually by the user