The Price File Tracker¶
The Price File Tracker (Prices & Products → Price File Tracker,
/pim/priceFileTracker) shows, for every live agreement, where each
supplier price change currently sits: whether the Price Change Notice (PCN),
the PIM price file (PIMR) and the supplier's own price list (MPL) have been
uploaded, whether they arrived inside the contracted notice period, whether
they have been approved, and whether the PIM file has been imported. Dates are
coloured against their targets so late or stalled changes stand out, and the
deal team can download the screen for supplier reviews.
It is available to buying-group (member) users only, and that is the whole
access model: it is an admin tool, so it deliberately shows every live
agreement and every price file on it, whatever the viewer's own file
permissions. A file that looked "missing" only because the viewer could not
see it would send someone chasing a supplier for nothing. Opening a file from
the tracker still goes through the document detail page, which applies the
file's own permissions.
How it behaves¶
One row per agreement and effective date. The effective date is the one the supplier entered on the upload wizard as the date of invoice price change to NBG; if a file has none, its valid-from date is used. A PCN and a PIMR with the same effective date share a row. An MPL sits on the row of the PIMR it was linked to at upload, or on its own effective date when it was uploaded with PCN/PIMR not provided. If a supplier gives the PCN one date and the PIMR the next day, the tracker shows two rows, each with a gap - that gap is the thing to go and fix with the supplier.
Only the latest file of each type is shown. When a type has been uploaded more than once for the same effective date the newest upload is shown and a small +n marker appears; clicking the supplier name opens the full history of every price file on that agreement. Rejected and under-review files are shown just like approved ones - a rejected file still means the supplier sent something and the right file has to be chased.
Columns.
| Column | Comes from | Colour |
|---|---|---|
| Supplier / Agreement | the agreement's supplier (click for the full file history) with the agreement name beneath it (click to open the deal; hover for its CMT) | |
| Effective Date | upload wizard date of invoice price change to NBG | hover for deferment period, change-to-market date, negotiator and administrator |
| Uploaded | the file's created date | green inside the notice period, red after it; No File in red once the due date has passed, amber before |
| Due Date | effective date minus the agreement's notice period (PCN: price period, default 90 days; PIMR: PIM price change notice, default 30 days) | hover for the variance in days |
| % Change | wizard average % price change to NBG (PCN first, else PIMR) | hover for the per-range breakdown and justification |
| Approved | approval date, or Pending / Rejected / Moderation | green on time, red when approval took longer than 5 days from upload or is still pending past that; hover for who approved or rejected and why; click an approved date to open the file |
| Imported (PIM file only) | first PIM import run for that document | green within 4 days of approval, red after; n days from approval while waiting; click to open the supplier's products |
| Where it is | computed from the above | one line saying what is outstanding and who it is with |
| Notes (speech-bubble icon) | tracker notes | a filled bubble with a count when the row has notes - hover to read them, click to open them; superusers also see an empty bubble on rows without notes and can add or remove notes in the side panel |
The target days (90 / 30 / 5 / 4) are defaults. The two notice periods are
taken from the agreement when set there, and all four can be overridden per
site in siteConfig.priceFileTracker.
Filters. Effective date after (defaults to the start of the month three months ago, so it covers recent history and everything still to come), CMT (matches a deal whose categories sit anywhere under that team, the same reading as the CMT overview), supplier (a searchable dropdown), and Show agreements with no files, which adds a row for every live agreement that has sent no PCN, PIMR or MPL at all. The filters are kept in the page URL so a view can be bookmarked or shared.
Summary badges. The counts in the filter bar (late / rejected, in progress, in PIM, nothing received) are buttons: click one to show only that group, click it again to clear. The counts always describe the whole filtered set, so you can move between groups without losing your place.
Paging, sorting and search are done by the server, 25 rows at a time by default. Every column except Notes sorts; blank cells always sort to the bottom. The grid's search box matches supplier, agreement, CMT, the Where it is line, file names, uploader and notes.
The data is a shared snapshot. Building the tracker means reading every
live agreement and every price file on it, so it is built once for the whole
site and kept as a file on the shared file store
(fileStore/sites/<siteID>/cache/priceFileTracker.json), which every server
reads. The panel header shows Data from HH:mm with how long ago that was;
hover it for the exact build time and when the next automatic rebuild is
due. The snapshot is rebuilt by a scheduled task every hour (five past the
hour), automatically on the next request when it is more than 15 minutes
old (siteConfig.priceFileTracker.cacheSeconds changes this), or at once
when anyone presses Rebuild, which refreshes it for everyone. Notes are
not part of the snapshot and always show the latest.
Download writes every row matching the current filters and search, in the grid's current sort order, with every date, status, variance and the latest note, to a spreadsheet.
Notes are written by superusers against a row (agreement + effective date), so they survive even when there is no file to attach them to. They are soft-deleted and audited.
Why does it change unexpectedly¶
- A row split in two, or a file moved rows - the supplier gave the PCN and the PIMR different effective dates, or re-uploaded with a different date. The history view shows every file with its own effective date.
- A due date changed - the agreement's price period or PIM price change notice was edited; due dates are recomputed from the agreement every time.
- An "Uploaded" cell turned red - the due date is derived from the effective date, so a supplier moving the effective date earlier makes an on-time upload late.
- An MPL appeared on a different row - the MPL's parent PIMR was chosen at upload; the tracker follows that link regardless of the MPL's own date.
- A file vanished from the tracker - it was archived, or renamed so its name no longer starts with PCN, PIMR or MPL (the type is the filename prefix stamped by the upload wizard). Permissions are never the reason; the tracker does not apply them.
- The tracker opens a file you then cannot see - the tracker lists files regardless of permission, but the detail page enforces the file's ACL.
- A file uploaded a minute ago is not there yet - the tracker is a snapshot (hourly task, or 15 minutes on demand); press Rebuild in the panel header.
- "Imported" filled in without anyone approving - the import was run directly from the document (admin action), which records an import run even when the file is still pending.
What it is not¶
- Not the approval queue - approve and reject from the document search view; the tracker only reflects the result.
- Not a version history - the DMS keeps none; upload new version overwrites a file in place and the tracker will show the overwritten file's dates (see the document library).
- Not the price comparison - it says whether a price file arrived and was processed, not what the prices in it did (price comparison).
- Not the PIM calendar - that lists price validity windows from the catalogue; the tracker follows the files before they get there (PIM calendar).
Related pages¶
- Uploading a file with the upload wizard (suppliers)
- Approving documents
- The document detail view
- Deals full view - where the notice and deferment periods are set