Neither confirm nor rule out
Answers: when did we decide that, and who did?

In 2015 Germany passed a law to charge a toll on cars using its roads, and amended it in 2017. The Federal Ministry of Transport and Digital Infrastructure ran two procurements for private operators, one to collect the toll and one to enforce it automatically. The 2018 federal budget allowed 2.08 billion euros for both contracts.[1] Only one bidder, a consortium of two companies, made a final offer for collection, and the ministry thought its price of 3 billion euros far too high. Austria had taken Germany to the European Court of Justice over the toll, and the case was still open.[1]
By his own account, the state secretary, the ministry's top civil servant, learned on 14 November that the offer was uneconomic and the money in the budget wasn't enough. Two days later his officials sent up options with their risks, some for signing that year and some later. The ministry kept negotiating with the one bidder, and its procurement office minuted the first talk on 22 November and six more up to 7 December.[1]
On Thursday 29 November, at the ministry's invitation, the minister and the state secretary had breakfast with the chief executives of the bidder's two companies. The group was kept "deliberately very small", without the bidder's lead on the procurement, and the breakfast lasted about 45 minutes. The state secretary's account and the bidder's agree that the minister told them the budget wouldn't be raised.[1] The bidder's side later told an inquiry committee of the Bundestag, Germany's parliament, that one of the chief executives offered to sign the contract only after the Court had ruled, and that the minister turned it down. The minister and the state secretary said they heard no such offer.[1]
The ministry said there were no notes from before or after the breakfast, and its procurement office didn't know it had happened.[1] One of the chief executives said the two of them told the bidder's lead on the procurement about the offer straight afterwards. The bidder's lead is said to have written down three words by hand, and postponement wasn't one of them. He wrote a note of the breakfast on 19 September 2020, days before he gave evidence.[1] The committee couldn't reconcile the two sides' accounts, and wrote that it "can therefore neither confirm nor rule out that the operators made the offer to sign the contract only after a ruling of the Court".[1]
On three of the days with minuted talks, the state secretary and other staff also had short exchanges with the bidder's management, which neither side minuted. In its conclusion, the committee found the minister's grounds for his decisions "only partly traceable" from the files it was given. He often had spoken updates, mainly from the state secretary, in place of written submissions from his officials, above all on whether to sign the collection contract in 2018.[1]
The procurement's own file was well kept. The procurement office wrote notes of its decisions under procurement law, with the reasons, and the federal audit office found the documentation "complete and sufficient".[1] The ministry saw no need to record its leadership's talks with the bidder. The committee urged that a record of results be kept of such talks from now on, whatever the law requires.[1] It judged the minister's weighing before the signing defensible, and found no lie, deliberate concealment or manipulation proven.[1]
The contract was signed on Sunday 30 December 2018, at a notary's office in Berlin, by the president of the Federal Motor Transport Authority for the federal government. On 18 June 2019 the Court ruled the toll contrary to European Union law, and that evening the minister decided to end the contracts.[1]
The ministry held that its talks with the bidder led to no decision in the procurement, and the committee couldn't settle what was said at the breakfast.[1] The decision to sign before the Court ruled came a month later, though the committee notes that signing in 2019 would also have been lawful. The minister told the committee about his decision in December 2018. What he weighed reached the committee through the state secretary's account of their talks in the second half of December.[1]
What a decision log is for
A decision log is one list of the decisions made on a project, each written down on the day it's made: what was decided, who decided it, and why. A decision is anything that commits money, accepts work, changes the plan or settles a choice between options. The field also calls it a decision register, and some teams keep it with their actions as an action and decision log. GovS 002, the UK government's standard for project delivery, lists kinds of decision a project makes, from approving plans and baselines to selecting suppliers, and says they should be made "by assessing options against defined criteria".[2] In a company of 40 a project's log might hold 20 or 30 rows by the time it closes. At the size of the case, one row would be a contract worth almost 2 billion euros over twelve years.[1]
The project's Owner keeps the log, and each person who decides reads their own rows. It's one of the records of the Run stage, while the project is being built. A decision log is easy to confuse with the RAID log, which holds what might go wrong and what the project is waiting on, each with an owner. A question still waiting for an answer goes in the status report, and becomes a row here on the day someone decides it.
Read what's there
Most of a project's decisions are already written down, in other files, notes and emails. Start with the gate map, which says which gates have been decided and who decides each one. Then go through the change log in the plan workbook, the program workbook's meeting actions for anything the program board decided, and the signed documents: the charter, the RACI and the acceptance criteria, with every waiver, every signing and any Pass line that changed. Read the last month's status reports, meeting notes and the emails where someone approved something. Copy each decision onto Log with the day it was made, the one person or body who made it, and the Id the other file gave it.
A signing counts when it commits money or accepts work. A status that moves, such as a criterion going from Open to Met, doesn't count, and neither does a meeting where nothing was settled. A new date from the person who provides the thing it's for, such as a supplier's later delivery, is a forecast and stays out too. For the car toll, the decision was the signing on 30 December, a month after the breakfast.[1]
Draft
Start on People. Add each person who decides, with their role, and each body with its Members and the one person who Signs for it. A team isn't a body. Under Gates, copy who Decides each of the seven gates from the gate map, leaving blank any gate the map leaves blank. On Summary, type the project's Name and Sits under as the Register has them, pick its Owner, and set As of, the day you're reviewing on. Then add each decision on Log, in date order.
- Id: DL- and the next number. Next Id on Summary gives it. Never reuse one: the status report, the cutover workbook and the project close cite rows by it.
- Date: the day it was decided, never the day you typed it.
- Decision: one sentence. Two decisions made the same day by the same person can share a row.
- Decided by: one person or one body, picked from People. Owning a criterion, reviewing a gate or editing a file doesn't make someone the decider. If you can't find who decided, leave it blank for the check to find.
- Why or evidence: the reason, or the review or record behind it, in three words or more. "Above" or "See above" fails a check.
- Gate: only when a gate was decided. Decided by must then be the person People names for that gate.
- Record elsewhere: the Ids other files give the same decision, separated by commas, such as CH-1, C-02, M-04 or RACI v1.
- Kept in: blank, unless the program charter or the program workbook keeps the record, as for a Program board decision. The row still goes here and points to it.
- Replaces: the Id of a decision this one overturns. The old row stays as it is and shows Replaced by.
Log's Row check says in words everything wrong with each row. On Other files (unhide it in the blank), type each change another file shows, with its Where, Id or name, Date and What, and the tab finds its Row on Log.
Test
- Find any decision without one named decider. The check fails a row whose Decided by isn't one name from People, or names a body with no members or no signer. In the Example, DL-08, the signing of acceptance criteria v2 with the change CH-3, names Anders and Rhys. Ask Anders and Rhys which of them decided, and put the other's signature in Why or evidence.
- Find any decision with no reason or evidence. The check fails a Why or evidence that's blank, under three words, or opens with a placeholder such as Above, TBD or N/A. In the Example, DL-10 gives "Above". The check counts words, so read each reason too: DL-11's "Waiting on the other signatures." passes and gives no reason. The Bundestag committee could follow the minister's grounds only in part from the files, and learned what he weighed from the state secretary.[1] Ask whoever decided for the reason.
- Find any change another file shows that has no decision here. Type the change log's decided entries, the waived and changed criteria and the gate map's decided gates onto Other files, and the check lists any without a row. In the Example, C-06's Pass line was loosened on 15 Oct 2026, from 0 severity 2 defects to 3 or fewer, and no row records it. Ask who decided it, on what day and why. Noor owns C-06, and that doesn't make Noor the decider.
- Find any gate decision not made by that gate's decider. The check reads each row's Decided by against the name People copies from the gate map. The Example passes it. Handover accepted has nobody in Decides, because nobody has agreed who decides it, so ask the portfolio director to name someone before that gate is logged. Three more checks cover the rest of a row: "A decision with no date or a date after As of", "A Replaces that names no earlier decision" and "A decision kept in another file with no record named".
- Ask what was settled at each meeting nobody minuted. The checks can only read rows that exist. For each meeting in the last month where the Owner or the sponsor met a supplier, or two people who decide met without notes, ask the person who decides whether anything was agreed. If something was, it goes on Log with the day it was agreed; if not, write a one-line record of results in that meeting's notes. The Bundestag committee urged that a record of results be kept of talks like the breakfast, whatever the law required.[1]
Keep it current
The project's Owner keeps the log and writes each row on the day the decision is made. Once the person who decided has seen their row, leave it as it is. When a decision is overturned, add a new row and type the old one's Id in Replaces. I'd read the seven checks every week, with the status report, and fill in Other files from the change log, the criteria and the gate map before each gate. Set As of to the day you read them. A decision the status report says is needed stays in the report until someone makes it, and becomes a row that day. Save a copy at each gate.
When an agent does part of it
Before a gate, the close or a review, give an agent the workbook with the change log, both copies of the acceptance criteria (as signed, and as they stand now), the gate map's gates, the latest program board notes and the latest status report. It drafts a row for each decision those files show that no row on Log and no line on Other files holds, quoting the line it took each part from. It matches a line to a row by Id first, and with no Id by the row's date and two words it quotes. It compares each criterion's wording, Pass line and owner between the two copies, and lists a status that only moved, such as Open to Met, without drafting anything. It also lists every row whose Row check shows △, what's waiting and not yet decided, and any gate where People and the gate map name different deciders.
It reads the results the workbook has stored and writes nothing: it returns one table as text, with the step, the item, the draft line and where it read it. It never types a decider, a date or a reason. In a draft row each one comes from a line it quotes, or reads "not found" ("not named" for a decider). It doesn't recount the seven checks. It reads them from Summary and Row check, and goes looking in the other files for what check 7 can't see, because the workbook never opens another file. Whether a reason is good enough is for a person. The short version of the brief:
You check the decision log for <project name>. You never type a decider, a date or a reason, and you send nothing. 1. List the decisions the change log, the criteria, the gate map or the notes show that no row holds, quoting the line. Match by Id first. No line, no row. 2. List each row whose Row check shows △, and each line on Other files with no row. 3. List what is waiting and not decided. Add no row for it. 4. Compare who decides each gate on People with the gate map. 5. Draft a question to the Owner for each row with no single decider and each new row, and to the decider for each row with no reason. Return one table: step, item, draft line, and where you read it.
Check its work on the Example each time you change the brief, and on a few rows by hand each time it runs. Given both copies of the Example's acceptance criteria, its draft row for C-06 should say Decided by "not named", because Noor owns C-06 and an owner isn't the decider. It should list C-03 and C-07, which went from Open to Met, as status changes with no draft. A line in the notes with no Id should be matched to a row by its date and its words, or listed as "may already be logged", and never drafted twice. A blind run on the Example, with every file the brief names, did all three and met every line of the answer key. Its three draft questions were all for Anders, the Owner. The mistakes to look for are a decider taken from an owner, a reviewer or whoever last edited a file, an export date or a last-updated line given as the day of a decision, and an Id such as DL-08 read as a cell address.
The project's Owner types each drafted row once they've asked who decided, and the person who decided gives the reason. A gate decision stays with the person the gate map names. The agent drafts the questions for both of them. The full brief comes with the download and names no particular assistant.
The template
The workbook has five tabs: Read me, Summary, Log, Other files and People. People lists who decides, with each body's members and signer, and the decider for each of the gate map's seven gates. Log holds up to 150 decisions, one to a row. Other files, hidden in the blank, lists the changes other files show and finds each one's row. Summary counts the rows and runs seven checks, for a decision without one named decider, with no reason or evidence, or with no date or a date after As of, a gate decision not made by that gate's decider, a Replaces that names no earlier decision, a decision kept in another file with no record named, and a change another file shows that has no decision here. It comes blank, and filled in for Hollins Software, a made-up company. The filled-in one fails three checks on purpose.
Decision log workbook
One size for any project: open the Example to see the checks fail, then start on the blank with People and the gate map's deciders. The brief for an assistant is a text file beside it.

Five tabs
The first week
- Monday. Read the gate map, the change log, the acceptance criteria and the last month's status reports and meeting notes, and list every decision you find with its date.
- Tuesday. Fill in People: everyone who has decided something, each body with its members and who signs for it, and who decides each gate.
- Wednesday. Put each decision on Log with one decider and the reason. Where you can't find either, leave it blank.
- Thursday. Type the other files' changes onto Other files and read the seven checks. Take every row without one decider to the project's Owner and ask who decided.
- Friday. Send each person who decides their rows to read, type in the answers and save a copy. From then on, each decision goes on Log the day it's made.
If you start a log this week, write to me at jona@projectcutover.com and tell me how many changes in the other files had no row on Log.
New pieces go out on Substack.
Subscribe on SubstackConnects to
The decision log draws on the gate map, on the Project page, for who decides each gate, and on the RACI for who answers for each kind of decision. The change log in baseline and change control, the criteria in acceptance and sign-off, the RAID log and the meeting actions in program meetings each record decisions of their own, and the log gives each one a row. The status report lists the decisions still needed and cites rows by Id. Readiness and go/no-go cites the gate rows, and so does the project close.
Sources
- Deutscher Bundestag. Beschlussempfehlung und Bericht des 2. Untersuchungsausschusses der 19. Wahlperiode gemäß Artikel 44 des Grundgesetzes, Drucksache 19/30500, 10 June 2021. In German; quotations translated for this page. Pages 31, 326, 328, 331, 332, 442, 443, 453, 454, 455, 456, 457, 458, 459, 460, 470 and 496. https://dserver.bundestag.de/btd/19/305/1930500.pdf
- Cabinet Office. Government Functional Standard GovS 002: Project delivery, version 2.1, 1 September 2025. Clause 4.3 (page 13). https://projectdelivery.gov.uk/library-products/government-functional-standard-govs-002-project-delivery/