Opening Final Frame
Verifying your credentialsEstablishing an encrypted sessionPreparing your workspace
Secured by WorkOS
This is taking longer than usual. Your connection may be slow.

Deal costs

What a deal costs, per currency and never converted, read three ways. It is worked out on every read and never stored. In the product it is the Costs tab under Project details, and the Summary's status card carries the three figures. Reading it needs workorder.view on the deal, because the lines carry the organisation's rates.

ReadingWhat it counts
EstimatedEverything planned, priced from rate cards and the plan: work orders, Final Frame processes, storage for the life of the deal and off-spec conversions.
CommittedThe part agreed to: work orders accepted or assigned, files already held, conversions already running.
ActualWhat has been spent: final costs on finished work orders, Final Frame compute from the ledger, and storage accrued to date.

Currencies

Every line keeps the currency it was priced in, and totals stand per currency. The readings are presented in the organisation's preferred currency, or the deal's over it, with a second currency alongside if one is chosen: Organisation, Details sets both for every deal; Project details sets them for one. currencies names them (preferred, secondary, and source: deal, org or plan), and fx carries the European Central Bank's reference rates of the day, per unit of the preferred currency, when a conversion is needed; it is null when nothing has to be converted or the rates could not be read, and the figures then stand per currency. Conversions are indicative and never stored.

Where a rate comes from

Every line names its rate in source, the kind in sourceKind, and what its quantity leaned on in basis. A work order is priced from the first of these that has a rate:

sourceKindRate
work_orderA figure entered on the work order.
rate_cardThe organisation’s rate card for the assigned vendor.
libraryThe shared vendor library’s list price, in GBP.
internalThe organisation’s Internal rates card, for its own people, mostly by the hour.
planThe organisation’s billing plan, for Final Frame’s own work: processing minutes, AI at cost plus the plan’s markup, storage and transfer. Final Frame’s list prices when no plan is set.
placeholderThe archive fee a Permanent deal moves onto after 90 days. Not yet defined, so priced as a placeholder and labelled as one.
ledgerSpend already recorded in the compute ledger for the deal.
noneNo rate. The line is listed with unpriced: true and counted in unpriced, never priced at zero.

Rate cards

Rate cards are kept on the Vendors page: one per vendor, shared library vendors included, and an Internal rates card for the organisation's own people. A line prices one service (transcode and conform, QC, dubbing, subtitling, audio description, key art, stills extraction, artwork, metadata, storage or general work) per minute of runtime, hour, title, language, pass, GB or file, in any currency, and is marked as a sample or entered by hand. A negotiated rate belongs to the organisation that entered it, on a shared vendor too.

Storage after delivery

Storage is sized per deliverable: the measured size once a file has arrived, else from the spec and the runtime. It runs from the delivery start to the licence end, plus the project's Storage after delivery, set on Project details: 20, 30 (the default) or 90 days, or Permanent, which is held at the storage price for 90 days and then moves to the archive fee. storage in the answer carries the estimated gb, the heldGb already stored, the window (from, to, months), retention and permanent.

Off-spec files

Every file that has arrived is judged against the deal's spec by the same rule QC uses. A file that fails is listed in the off_spec group with the attributes it fails in offSpec and its conversion priced in processing minutes; a conversion already queued or running counts as committed. offSpec.files and offSpec.totals sum them.

API

GET /v1/projects/{id}/costs answers totals per currency (estimated, committed, actual, unpriced), then groups by who does the work, each of kind work_orders (one per vendor, then Internal and Unassigned), final_frame, storage or off_spec with its own totals and lines. readings carries the three readings in the preferred currency and the second one, and the estimate by kind and by who does the work; workOrders totals each work order's own lines. The close-out's money and the Deal cost stage read the same figures. series is the same readings by day from the deal's start to today, cumulative and worked out from the same lines, so its last point is the totals: each point carries totals per currency and a reading in the preferred currency, ahead carries the dates on to the delivery deadline, and dating says how each reading is dated. plan names the prices used, definitions says what each reading means, and asOf is when it was worked out.

curl https://qa.app.final-frame.com/api/v1/projects/<projectId>/costs \
  -H "Authorization: Bearer <your key>"
# {"totals":[{"currency":"GBP","estimated":18420.5,"committed":9310,"actual":2245.12,"unpriced":2}],
#  "groups":[{"kind":"work_orders","label":"...","totals":[...],"lines":[{"what":"...","quantity":96,
#    "unit":"minute of runtime","rate":42,"currency":"GBP","source":"... rate card: £42.00 per minute of runtime",
#    "sourceKind":"rate_card","basis":"...","status":"committed",...}]},...],
#  "storage":{"gb":2140.6,"retention":"30","permanent":false,...},"plan":{...},"asOf":"..."}

From an assistant: read_costs, listed on MCP. Both sides of a deal agree its cost as the Deal cost stage of Deal approvals.