Dibee Fleet Platform Handbook
On this page

Government fuel prices

Reference

The platform keeps a history of official retail fuel prices for each government fuel item in each price zone. Prices come from four sources, and one fixed precedence rule decides which price is in force at any moment.

Overview#

An official price is the state-regulated retail price that Petrolimex publishes for a fuel item, separately for Zone 1 and Zone 2. A price change is recorded as a new price point; earlier points are never edited in place. A wrong point is rejected rather than deleted, and the nightly re-derivation may replace Derived points of the last 30 days. Each point comes from one of four sources: the initial price table, prices derived from store price lists, the Petrolimex price feed, or a manual entry by the platform team. Every screen and calculation that uses the official price in force reads it through one shared rule. Which fuel items exist is described on Government fuel items and fuel filters, and how a store gets its zone on Fuel price zones.

Fields#

Each price point holds:

FieldWhat it holds
Fuel itemThe government fuel item the price is for
ZoneZone 1 or Zone 2
Unit priceThe VAT-inclusive retail price, in VND per litre, or per kilogram for the mazut items
Effective atThe date and time, in Vietnam time, from which the price applies
SourceFixture, Derived, Petrolimex API or Manual; see Sources below
ConfidenceFor a Derived price only: the share of reference stores that agreed on it, shown as a percentage
EvidenceWhere the price came from: the feed product and its publication time, the store count behind a derived price, or the operator's note
Source labelA readable label such as "Petrolimex API — Zone 1 — 24/09/2026 14:48". The store price review shows it next to each price

Sources#

Source (UI label)Where the price comes fromCoverage
FixtureThe initial price table: the Petrolimex Zone 1 price list of 6 April 2026, loaded when the platform was set upNine items, Zone 1 only, all effective 6 April 2026 at 00:00
DerivedThe daily consensus price of reference merchants, whose stores sell at the official price, read from their store price listsZone 1 from September 2021, Zone 2 from 23 May 2022, for items that have a published official price
Petrolimex APIPetrolimex's public price feed, the one its own website shows. It carries current prices only, with a Zone 1 and a Zone 2 price per productThe products the feed lists: six at the end of September 2026, namely E10 RON 95-V, E10 RON 95-III, E5 RON 92-II, DO 0,001S-V, DO 0,05S-II and kerosene
ManualA price added or corrected by the platform team, with a required noteAny active fuel item and zone

Items the feed does not list keep their Fixture price, or a later Derived or Manual one.

Rules#

Which price is in force#

Precedence, highest first: Manual, Petrolimex API, Derived, Fixture. Per item and zone:

  1. Only active points count. A rejected point is ignored.
  2. Once the Petrolimex feed has a price for an item and zone, every Derived or Fixture point from that moment on is ignored for that item and zone.
  3. Derived and Fixture points do not block each other: the more recent one is in force. The 6 April 2026 Fixture price holds until the next Derived change after it, which then replaces it.
  4. Every Manual point counts. It is a point correction.
  5. When two points take effect at the same moment, only the one from the higher source counts.
  6. The price in force at a given time is the latest counted point at or before it. A Manual correction therefore holds until the next counted price change, for example the next feed price change.
  7. Back-to-back points with the same price from the same source count as one change.

How the feed is read#

  • The platform reads the feed every hour at seven minutes past, from 06:00 to 22:00 Vietnam time.
  • It records a new price point for an item and zone only when the price differs from the last feed price recorded. A republication at the same price records nothing.
  • The new point takes effect at the time Petrolimex last edited the price, unrounded. This can be up to about 15 minutes before the announced effective time.
  • Feed products are matched to fuel items by name, through a fixed list. A product not on that list never creates a fuel item and its price is not recorded.
  • A price that is not a positive whole number is ignored.
  • Each read is recorded as a run with status Success or Failed and its counts. A run fails when the feed cannot be fetched or read, lists no products, or has no product that matches a fuel item with a valid price.

How derived prices are worked out#

  • For each item, zone and day, the platform takes each reference store's price in force at the end of that day.
  • A store's price counts only when it was set in the last 30 days, so a store that stopped updating is left out.
  • The consensus is the most common counted price. The day is accepted only when at least 2 stores count and at least 60% of them agree.
  • An accepted day whose consensus differs from the previous one adds a Derived point at 00:00 on that day. A day that fails adds nothing and leaves the previous price in force.
  • Every night at 02:23 the platform re-derives the last 30 days, up to yesterday. A re-derivation changes only Derived points and never brings back a point the platform team rejected.

Corrections#

  • A wrong Derived or Manual point is rejected, not deleted, and a reason is required.
  • A Petrolimex API or Fixture point records what was published, so it is never rejected. It is corrected by adding a Manual point at the same moment.
  • A Manual time is entered to the minute, in Vietnam time. When an active non-manual point for the same item and zone falls inside that minute, the Manual point takes that point's exact time and so replaces it.
  • Adding and rejecting prices are both recorded in the audit log.

Alerts and flags#

SignalWhen it firesWho sees it
Stale pricesNo successful feed read for more than 48 hours. Checked after every read and hourly around the clock, so a feed that stops overnight is noticed. At most one alert per 24 hoursPlatform staff, as an in-app alert
Unknown productThe feed lists a product that matches no fuel item. One alert per product per 24 hoursPlatform staff
Derived and feed disagreeAfter the nightly run, a derived consensus differs by more than 1% from the feed price in force that day. One alert per item and zone per 24 hours. Only a disagreement that the latest compared day still shows is alertedPlatform staff
Old recommended priceOn the page for adding prices to many stores, an official price older than 30 days is marked with its age, and saving asks the user to confirm it. See Add prices for many stores at onceThe merchant user setting prices

Where the official price is used#

Permissions#

ActionWho
See the price history, the latest feed run and the last successful read on the Government Fuel Prices screenPlatform Operator only, and only as a staff user
Add a Manual price, reject a Derived or Manual pricePlatform Operator only
See the official fuel price chartEvery tenant and merchant user, and platform staff. Only staff see each price's source
See official prices while setting store pricesMerchant users who can edit stores

Edge cases#

  • Zone 2 before the feed: the initial price table holds Zone 1 prices only, so Zone 2 prices before the first feed price come only from Derived and Manual points.
  • Item without a Fixture price: E10 RON 95-V is not in the initial price table, so its official price comes only from the feed or a Derived or Manual point.
  • Duplicate Manual price: a Manual price for the same item, zone and time as an earlier one is refused, even when the earlier one was rejected. Choose a different time.
  • Feed changes or disappears: failed runs and the stale alert detect it; Manual prices are the fallback.
Updated 2026-10-31 · Applies to commit afa8d231 · Built 2026-11-02