Case study 1
Hourly estimate replaced with a scoped fixed fee
A client arrived holding an estimate with a range in it and a list of assumptions, none of which he could test himself. Reading the same file, we found the uncertainty sat in one place: whether two earlier years had been filed at all. We priced that check as a small piece of work on its own, established the answer, and then quoted the rest as a fixed figure with nothing conditional left in it. The engagement produced a fee he could approve rather than a range he had to hope about.
Case study 2
Second jurisdiction surfaced midway and the work was re-quoted
Part way through a personal filing engagement it became clear the client held an interest in a company incorporated elsewhere, which brought a reporting obligation nobody had mentioned at the outset. We stopped, set out what the additional filing involved, and priced it separately before touching it. The client took the original engagement as quoted and deferred the second piece until he had gathered the documents it needed. What the file produced was an accurate written scope at the moment the facts changed, rather than a surprise arriving with the invoice.
Case study 3
Family group priced as one engagement rather than separate returns
A family held rental property, a small company and several personal filings between them, and had been buying each piece from a different adviser. Quoting the work together let us do the underlying reconciliation once and carry it into every return that depended on it. The fee was written as a single engagement with the deliverables listed underneath, so each member could see which part belonged to them. The outcome was one set of figures that all the returns agreed with, approved by the family before any of it started.
Case study 4
Diagnostic review priced on its own before any filing
A prospective client believed she had years of unfiled obligations behind her and wanted a fee for putting all of them right. We declined to quote the repair before establishing the damage, and priced a review instead. The review found that most of those years had in fact been filed correctly by a previous adviser, and that only one carried an omission. She paid for the review and a single corrected filing rather than the multi-year package she had arrived expecting to buy.
Case study 5
Fee split into named deliverables for board approval
A company's directors could not approve an engagement expressed as one total, because they needed to see which part belonged to which entity in the group. We rewrote the quote as named deliverables with an owner and a due point against each, leaving the total unchanged. The board approved it at the next meeting, and the same breakdown became the progress record for the year. Pricing structure, in that case, was the only thing standing between the work and the authority to do it.
Case study 6
Quote revised downwards once the records proved complete
We had priced a reconstruction on the assumption that several years of records were missing, which is the usual position when a client says they have nothing left. The client then produced a complete set of statements from an old account. Because the fee had been written against a described scope, the disappearance of that scope meant a new written figure rather than a windfall for us. The engagement went ahead at the lower quote, and the correspondence on file records exactly why it changed.
Case study 7
Never Filed a US Return — and Only Just Found Out
Born in the United States, left as an infant, and told by a bank that the returns were owed all along. The work is sequencing: establish which years are actually open, choose the catch-up route on the facts rather than filing quietly, and claim the exclusions and credits that were never taken.
Read how this one runs
Case study 8
The Year of Leaving India
The departure year carries a transition status with its own treatment of foreign income, and the position for the following years follows from how it is set. Getting the first year right saves arguing about the rest.
Read how this one runs