Green Contracts

Know what the coffee actually cost

Contracts, positions and milestones, with landed cost derived from what you bought rather than typed in twice.

The problem

Between signing a contract and the coffee arriving, a roastery's money sits in a position nobody can see. And the price on the contract is not the cost of the coffee — freight, duty, financing and shrinkage are.

Positions, before the coffee lands

What is committed and not yet received, by contract and by month. The green buyer's daily question, answered without a spreadsheet.

Landed cost that cascades

Receiving a shipment creates lots whose cost derives from the contract's own components. Change a freight figure and every affected lot, batch and open-order margin follows.

  • Unit prices carry six decimals, because differentials quote to four
  • Historical FX is recorded at write time, so a report never re-derives it
  • Cost is divided by the INITIAL weight, not what is left

Milestones that email once

An overdue fixation or vessel is expensive and only recoverable if noticed. The alert dedupes on rule, subject and day — an alerting system fails by being muted, not by missing one alert.

Everything here is in the API

This area is sourcing.contract.* — the same operations the console calls.