Skip to content

Editing deal core details

This page covers editing a deal's core details: name and metadata, supplier and supplier contacts, deal term and status, product range, keywords, turnover streams, and deal participation. Deals are called agreements or PSAs internally; a deal's numeric ID is psaID. Editing the deal's content (sections, elements, rebates) is a separate page: Editing deal content.

Requires: an authenticated platform login. The platform has no dotted permission keys; viewing a deal requires the object-level view privilege on the agreement (see permissions matrix).

How saving works (applies to everything on this page)

Deal editing is autosave-driven and wholesale. The edit screen keeps the entire deal in memory; any change marks it dirty, and a background timer (every 2 seconds, plus on page close) posts the whole deal to updateDeal, which persists every core field, the full deal content, and participation in one psaService.save() call. There is no per-field save button, and no explicit "save" step in the tasks below — changes persist automatically within seconds. Saving is blocked while two content elements share the same ID (the screen shows a duplicate-ID warning until resolved).

Name, reference, and metadata

Editable core fields, all saved on arrangement by the autosave:

Field Meaning
Internal reference Numeric reference, unique per site; auto-incremented when a deal is cloned
Name Deal name; also indexed as the deal's product range (see below)
Deal type One of the site's deal types — default list: Solus, Preferred, Shared, Distribution, Offer, Approved, Exclusive, Negotiation, Strategic, Framework, Mandatory, Confidential (sites can override the visible subset)
Negotiator Member-side contact responsible for negotiation
Administrator Member-side administrative contact
Rating, Sign-off method, Calculation Deal-level flags; Calculation (full/partial/none) gates whether rebate elements calculate
Price/promotion expectations Expect prices, Expect promotions, frequencies, price period, price deferment and route, invoice terms, invoicing route, PIM price-change notice

Supplier and supplier contacts

A deal belongs to one supplier company (companies of type supplier). Changing the supplier re-links all of the deal's turnover data to the new company.

Four supplier-side contact roles are stored on the deal, each picked from the selected supplier's contacts: Main contact, Finance contact, Figures contact, and Marketing contact. These are used for deal correspondence and appear on the deal PDF. The negotiator and administrator (above) are member-side, not supplier contacts.

Deal term and status

The deal term is the Period from / Period to date pair.

The deal status (PSA_Status) values confirmed in code:

Status Set by Effect on visibility
confirmed Editing the status field The live/active status; deals count as active when confirmed and within their period, expired after Period to, pending before Period from or when not confirmed
moderator Email negotiator action Grants deal view permission to admin plus the administrator's and negotiator's email addresses
negotiator Status change during save Resets deal view permission to admin only
supplier Email supplier action Grants deal view permission to member and the supplier company name
groupSign Supplier signs a digital sign-off Awaiting the member countersignature; countersigning sets confirmed

A rejected sign-off also resets the status to negotiator. The two email actions additionally grant view permission directly (the negotiator email grants the recipient's address; the supplier email grants member and the supplier company name) — see Emailing a deal to the supplier and Signing off a deal.

Validation is separate from status: a deal has a checked flag with values pending (validation requested — notifies the negotiator and administrator) and true (validated) — see Validating a deal.

Deal categories

Deals are categorized by picking from a checkbox tree in the categories dialog (opened from the category names on the full deal view). The tree is the site's group hierarchy under the group named "PSA Categories" — deal categories are groups. Saving replaces the deal's category set and re-indexes it. Categories drive the deal browser's category filter, seasonality generation (uncategorized deals never get a seasonality profile), and — on sites with category security — which users can see rebate elements.

Product range

Product range is not an independent field: when a deal is indexed for search, productRange is set to the deal's Name and productKeywords to its Keywords. To change a deal's product range, change its name.

Keywords

Keywords is a free-text field on the deal, saved by autosave and used for search. It is distinct from tags: tags are managed by a separate action (Change agreement tags) and attach shared tag records to the deal, while keywords are plain text on the deal row.

Turnover streams

A turnover stream (also figures entry or input stream) is a named input against which member turnover is recorded for the deal. Streams are the data feeds that rebate elements calculate from.

To add a stream, provide:

Field Values / meaning
Input name and Description How the stream appears on figures-entry screens
Input type Unit type from the site's list; type 1 is currency, other types are unit counts
Product lane (category) Category group the stream reports under
Rebateable Whether rebate elements may use this stream
Stock/direct stock, direct, or both
NMBS NMBS-sourced stream flag

Adding and deleting are immediate (dedicated actions, not autosave); edits to existing stream fields save with the deal autosave. Deleting a stream removes it permanently.

If the deal is chained to other deals, the available turnover streams aggregate across the whole chain, so a rebate element can reference streams from chained deals.

Deal participation

Participation controls which member companies the deal applies to. With no participation set, the deal applies to all member companies on the site. Otherwise the include and exclude lists are applied — entries can be individual companies or groups (groups expand to their member companies, honoring each company's join/leave dates).

Participation edits save with the deal autosave (the stored participation is replaced wholesale on each save). This deal-level participation is distinct from per-rebate-element participation, which is covered in Editing deal content.