The tariff in a request and a bill
A tariff does not live on its own. It travels along a chain:
Tariff reference book → selected in a request (the terms are frozen) → bill line (the amount is calculated from the frozen terms) → print form.
This page describes the whole chain. For the reference book itself, see Tariffs; for the calculator, see Shipment calculation.
The tariff in a request
Where it is selected
In a request, the "Tariff" field is on the "Cargo" step of the creation wizard and in the request card (edit mode, the "General" block). It is a dropdown with a search by name; the terms are visible under each tariff ("3.50 EUR / 1 kg"). The first entry is "No tariff" — it is used to clear the tariff.
The tariff is optional: a request can be handled without one — then the card shows "No tariff".
Tariff terms snapshot
At the moment you select a tariff, the system freezes its terms in the request itself — takes a "snapshot":
- the rate;
- the currency of the rate;
- the unit of measure (weight / volume);
- "per quantity";
- volumetric weight: enabled or not, and the factor;
- the date and time the tariff was applied.
This is the key property. If tomorrow the tariff rate is raised from 3.00 to 3.50 EUR, requests accepted at 3.00 will stay at 3.00 — and bills against them will be calculated at 3.00. Otherwise a price change would rewrite the price history of every past carriage.
To recalculate a request under the new terms, select the tariff in it again (it may be the very same one) — the snapshot is refreshed, and the "Tariff applied" date in the card changes.
The snapshot does not freeze the tariff's service or its currency: the service remains a live reference to the reference book.
How the tariff looks in the request card
In the "General" block, the "Tariff" row shows:
- the name of the tariff (or "No tariff");
- the terms from the snapshot — for example
3.50 EUR / 1 kg, volumetric weight 150 kg/m³; - "Tariff applied 10.08.2026" — when the terms were fixed.
If the terms row differs from what is currently in the reference book, that is not a glitch — it is exactly what the snapshot exists for.
Who sees it and who changes it
| Role | The tariff in a request |
|---|---|
| Administrator, Head | See and select it |
| Manager | Sees and selects it |
| Client | Sees the tariff on their own requests — in the list column and in the view card (name, terms, date applied), but cannot change it. The tariff reference book is partly open to them: public tariffs plus those assigned in their own requests |
| Warehouse worker | Does not see it at all — not in the card, not in the table, not in the print forms |
A warehouse worker deals with cargo: receiving packages, measuring them, photographing them. The rate is commercial information, and it is hidden from them on every path: in the request card, in the table column, in the export and in the variables of print templates (there the tariff variables are substituted as empty).
In the requests table
The "Tariff" column shows the name of the tariff.
- The column can be sorted — by tariff name.
- There is no filter by tariff.
- The tariff name goes into the CSV/XLSX export.
- The column is visible to a client — for their own requests.
- The column is not shown to a warehouse worker and does not go into their export.
Copying a request
When a request is copied, the tariff carries over into the copy, but the snapshot is taken anew — from the current state of the reference book, with a new date of application. A copy is a new request accepted today, so its terms are today's.
Print forms
The following variables are available in print templates:
| Variable | What it substitutes |
|---|---|
{{request.rate}} | The tariff terms on one line: "3.50 EUR / 1 kg, volumetric weight 150 kg/m³". Empty if there is no tariff. |
{{request.tariff_name}} | The tariff name. |
{{request.tariff_rate}} | The rate as a number: "3.50". |
{{request.tariff_currency}} | The currency code: "EUR". |
{{request.tariff_unit}} | The unit: "kg" or "m³". |
The values are taken from the request's snapshot, not from the reference book. On a request without a tariff they are all substituted with an empty string — the print form does not break.
The bill line from a tariff
A bill has an "Add by tariff" button — it adds a service line calculated from the request's frozen terms.
Where the button is
Next to the "Add service" button in the table part of the bill:
- in the financial operation creation wizard — the "Services" step;
- in the bill creation window opened from a request;
- in the bill card in edit mode.
What it does
One click — one line. There is no dropdown: it adds the very service specified in the request's tariff. Which one exactly is visible in the button's tooltip before you click ("Tariff service: Delivery").
The line receives:
- Quantity — the request's weight or volume (taking volumetric weight into account, as in the calculator);
- Price — the unit price in the bill currency;
- Amount — quantity × price.
The line reads like an ordinary bill line and looks the same in the print form: "Delivery, 375.00 × 1,140.00 = 427,500.00".
The numbers that appear in the line right after the click are preliminary, for the screen. When the bill is saved, the server recalculates the line from scratch: from the request's frozen terms and at the exchange rate on the document date (the "Payment date" field), not today's. Along with the amount, the "provenance" is saved — the applied exchange rate, the rate date and the tariff currency — so that a year later it is possible to explain where the figure came from.
When the button is unavailable
The button greys out, and the tooltip names the reason — the reasons differ because what you need to do differs:
| Tooltip | What to do |
|---|---|
| "No request selected" | The button works only with a bill linked to a request (the "Request" field on the "Details" step). |
| "The request has no tariff" | Open the request and select a tariff. |
| "Tariff service unavailable" | The tariff could not be read — for example, the link is gone. The button itself lives on the bill, and bills in LogiFlow are handled by managers and above. |
| "Tariff service is in EUR, the bill is in RUB" | The service currency must match the bill currency. The currency of the rate itself may be anything — it gets converted. Create a tariff with a service in the required currency, or issue the bill from a different account. |
Two more refusals arrive after the click:
- "An item for this service is already in the bill" — the same service cannot be added twice from a tariff. Edit the existing line instead.
- Calculation messages ("no weight", "no exchange rate set …") — the same as in the calculator.
A line cannot be added to a posted bill — neither by hand nor from a tariff. Cancel the posting first, see Posting documents.
What happens when the data changes later
- The request's actual weight changed — the bill line is not recalculated. A document comes first and is not changed retroactively. If you need a different amount, correct the line by hand or delete it and add it again (on an unposted bill).
- The tariff changed in the reference book — this does not affect existing lines.
- The currency rate changed — this does not affect them either: the applied exchange rate is stored together with the line.
What's next
- Tariffs — the reference book of rates.
- Shipment calculation — a cost estimate.
- Requests — weight, volume and the actual values the quantity is calculated from.
- Financial operations — bills and the services on them.