YinItAgreementForm

Fills in the UCS Court Reporter Minute Agreement Form and the MOFR for you, makes invoices from your transcripts, keeps a shared trial's run sheet, and keeps track of what you billed and what was paid. Drop in what the attorney sent, check the details, and get finished PDFs.

Download for Windows View on GitHub

Free and open source (AGPL). Windows 10 or 11. No administrator rights needed.

Formerly DjinnItAgreementForm. Updating from it keeps your settings, rate sheets, records and run sheets.

The app with a case filled in from a pasted e-mail: the case details, the Minute agreement form details card and the Outputs box, each output saying how many files Generate will make, and at the top right what still needs a look, Records, New job and Settings

What it's for

Every private minute order starts with the same form: court, part, judge, case name, index number, dates, type of proceeding, rate, attorney and your own details. All of that is already sitting in the transcript, the invoice, the calendar photo or the e-mail. This app reads it and types it in, so you only check it.

How to use it

  1. Drop it inA PDF (transcript, invoice), a photo, or paste the e-mail text or a screenshot with Ctrl+V.
  2. Check the detailsEvery field shows where it came from. Guesses are highlighted, and a list offers other candidates. No case name in the document? An earlier job with the same index number in your records suggests one, highlighted for you to check.
  3. Tick who ordered, and the speedsTick the firms who ordered: a firm is one row, naming all its attorneys on the title page, and gets one invoice and one agreement (No. of copies follows). Two rows that might be one firm, "Smith Law" and "Smith Law Group"? You're asked, Same firm or Not the same, and the app remembers your answer (untick Remember to answer for now only; Settings → Invoice lists your answers, so you can forget one). In the Invoice panel, tick the speeds you offer, once: the invoice lists them all, each at its own price, and the agreement form names one speed at one rate, Expedited when you offer it, unless you pick another under Minute agreement form details. An e-mail asking for another speed? It's pointed out, and Generate asks you which. Who pays what, under the attorneys, shows each firm's invoice in short as you tick. Rates and the estimated delivery date follow your rate sheet.
  4. GenerateTick what to make in the Outputs box: minute agreement, invoice, MOFR, run sheet, each with its own options, and each saying how many files it will make ("Will generate 2 minute agreement forms") as you tick attorneys. You see every file, and the math, before anything is saved; then the PDFs are saved, one per attorney you tick, and the run sheet gets the day's takes. Ctrl+Enter does it from the keyboard.

A hundred orders? Drop the whole folder.

Batch mode reads any number of documents and sorts them into one job per case and date. A transcript and its invoice make one form, not two. Two days of the same case make two jobs, but Generate all gives each firm one invoice and one minute agreement for all the days it ordered, and the trial one MOFR (Settings → Options switches back to forms for each day). Tick the jobs you want and press Generate all: the preview shows every file and the math first, and nothing is saved until you say so. The list on the left shows each job's case and date, the transcript's own pages (no word index) and the pages you wrote (Yours); a job read from several documents lists them under it, and a right-click on one shows its text or moves it to a job of its own. A ⚠ next to a job means something to check; hover over it to see what. New job clears the list without asking, and Undo brings it all back for a few seconds.

Batch mode: five jobs in the list on the left, with each transcript's pages and the pages you wrote (30 and 18 for a trial day two reporters wrote), and the Outputs box: what Generate and Generate all will make, the speeds offered, You wrote 18 of 30 total pages, the index and why, and Run sheet ticked
The filled form

The result

The court's own fillable form, filled in, with "per email" on the attorney line if you like, and your signature picture on the court reporter line. A trial's days in a row go on it as one range, 9/28/2026–10/2/2026, so a long trial still fits. A clean re-typeset version and the original scan are available too. Sample shown uses made-up names.

One invoice for two days of a case, listing the Regular and Expedite amounts

Invoices from your transcripts

Drop a transcript PDF and tick Invoice. The page count leaves out the word index printed after the transcript, and the line under it says so: "Transcript pages 378–460 · excludes the 13 word-index pages after them". It is counted four ways (up to the index, by the line numbers, by the printed page numbers, and the index found from the end); if they disagree, or the index would be more than a quarter of the PDF, the field turns amber and tells you why. The page count and your rate sheet price the original, each party's copy and e-mailed copy, and for long transcripts an index for each party, plus one for the judge that the parties split. Whether there is an index is decided on the whole transcript, every reporter's pages (50 pages or more to start with): your 45 pages of an 83-page transcript get one, charged on your 45. Typed fewer pages in Est. number of pages than the transcript has, and that would change it (40 of 83, say)? Generate asks you instead of deciding, and remembers your answer for that day; Peripherals… shows it and lets you change it. The speeds you tick in the Invoice panel (Regular and Expedited to start with) are the ones the invoice offers, each with its turnaround and amount, and with how to pay you. The agreement form names one of them, at one rate per page: Expedited when you offer it, otherwise the slowest. Settings → Invoice changes that rule, and the Speed dropdown under Minute agreement form details changes it for one job. No transcript, just a caption page? Type the pages in Est. number of pages and the invoice bills them. Want the page count, the pages of each day and the charges spelled out for this job? Tick Show granular detail, and choose what it shows. Peripherals… drops the e-mailed copy, or says yes or no to the index, for this job only, and the panel says why there is an index or not: "83 total pages, 50 or more". The notes on the invoice are yours to write, too: place them where you like and have them show only when they apply ("delivered once every party has paid" only when several parties ordered). Four firms sharing the pages can come to part of a cent a page ($6.6125): keep every fraction and round once at the end, as before, or set Rounding to The price a page, to the cent to bill $6.61 × 1,000 pages = $6,610.00, the way a firm checks it with a calculator. The prices in Excerpts… are rounded the same way.

Shared the trial with another reporter? The invoice bills only your pages, the ones with your initials at the foot: 65 of a 150-page transcript, say. Whose pages… lets you tick My pages, another reporter's pages, or The whole transcript, and the app asks when it can't tell. Each other reporter you tick gets invoices for their own pages, in their name, with their address and payment details (Settings → Run sheet → Invoices for, or Details…), numbered apart from yours (DS-2026-0001), with file names that say whose they are. Sample shown uses made-up names.

Excerpts: the whole case on one table

One firm ordered the whole trial, another part of day 1, a third part of that and a stretch of day 2? Excerpts… (next to Parties) lists every day of the case on that invoice in one table. Each row is a run of pages, typed in the transcript's own page numbers (141-170), and the rows around it make room. Tick the firms that ordered each run. Split run cuts a run in two, and Remove run (or the Delete key, or a right-click) gives its pages to the run next to it; Remove this day's excerpts and Remove all excerpts go back to whole days. Each run shows its date and weekday, and each set of firms ordering together has its own colour. As you type, it shows what each run costs each firm at every speed you offer (Prices for: hides a speed), what each group of firms ordering together pays, and each firm's invoice. Pages ordered together split the original and the judge's index, and every firm pays for its own copy, e-mailed copy and index. A run nobody ticks is billed to nobody. The window stays open beside the app and follows what you change there. Sample shown uses made-up names.

The Excerpts table: two days of a case with their dates and weekdays, a row per run of pages coloured by the firms ordering it, a box per firm, what each firm pays at Regular and Expedite, and the Remove buttons

Who pays for what, in plain sight

Before you generate, the Who ordered what card lists every day the invoice covers, with a row for each attorney: the pages it ordered (every page, or which excerpt), the page numbers printed on them, who else ordered the same pages, and how many of your pages that bills. An attorney not ticked on a day "orders nothing", and when an invoice won't be made yet (a day with nobody ticked, an excerpt to check, whose pages to bill) the card says so in amber. Double-click a row, or click Edit excerpts…, to change it. Generate all asks before it bills a case with a day not decided: go back and decide, or go on without it.

Different speeds on the same pages? Firms that share pages each commit to a speed: set it in the card's Speed column (or one run's own in Excerpts…), or Generate asks. The one original is billed at the fastest speed ordered; each slower firm pays its share as if every firm had ordered its speed, the fastest pays the rest, and each pays its own copies at its own speed. One firm at Daily and one at Immediate, 10 pages of Sample Rates: the original is $7.60 a page at Immediate, the Daily firm pays $6.50 ÷ 2 = $3.25 of it and the Immediate firm $4.35, and together they pay exactly the bill. A firm with two speeds gets one minute agreement, both speeds ticked. For now, at most two speeds may share the same pages. Sample shown uses made-up names.

The Who ordered what card: Alex B. Counsel ordered pages 1 to 30 at Daily, Dana Smith every page at Immediate, with who else ordered the same pages
The preview: tabs coloured by kind of file (the math, two minute agreements, two invoices), the first agreement shown before it is saved, with Go back and Save

See it before it's saved

Click Generate, or Generate all for a whole batch, and the app first shows you each form and invoice as it will be saved, a tab for each file, the invoice with the number it will get. Each kind of file has its own tab colour, and the first tab, The math, shows how every amount is reached. Side by side shows every file at once; Ctrl + and Ctrl − (or Ctrl and the mouse wheel) zoom. Many files? Arrows at the end of the tabs, a Files ▾ menu and Ctrl+Tab take you to any of them. Save saves them. Go back saves nothing and takes no invoice number, so you can fix a field and try again. The run sheet, a spreadsheet, is saved with the rest but not shown. Rather skip it? Don't show previews anymore turns it off, and Settings turns it back on. Once the files are saved, Print… sends them to your printer. Sample shown uses made-up names.

Asked how you got that number?

Your invoices can stay clean, with just the amounts, and the math is still at hand. The math, the preview's first tab, lays out each amount in tables: By invoice, a row for each charge with its pages, rate and cost, whether each firm splits this cost or pays for its own, and what this firm pays, stretch by stretch of pages ("50 pages ordered by 2 firms … ÷ 2"); or Firms side by side, a column for each firm. It remembers the one you chose, and the Invoice panel has its own link to it before you generate. When several firms share the work, All the firms together checks that what they pay covers it. Copy all copies it as text, a line for each charge, for a reply. With previews off, it comes in a small window after saving: OK, Copy all, Save as PDF… (the tables) for the attorney who asked, or Don't show this anymore (Show the math of each invoice in Settings → Options brings it back). And it's kept: Generate saves the math as PDFs next to the invoices, one for each invoice (to send the firm that asks) and one for the whole job; the list under the math, or Settings → Invoice, says which, or none. Prefer it on the invoice itself? Settings → Invoice can also save a detailed copy of every invoice, the same invoice number with the full breakdown. Sample shown uses made-up names.

The math in tables, By invoice: the original and the judge's index split stretch by stretch (40 pages ordered by this firm alone, 50 pages ordered by 2 firms), the copy, e-mailed copy and index each firm pays for its own, and what this firm pays at each speed

Shared trial? The run sheet keeps count.

When reporters take turns, each one puts their initials on the pages they write. Run sheet ticks itself when two or more reporters wrote the case's transcripts (and unticks when one did; click it to decide yourself), and the app reads those initials page by page and adds a row per take to the trial's run sheet in Excel: date, reporter, pages written, start and end page, and the witness who took the stand. It finds the trial's run sheet by index number or case name (one trial can have several index numbers) and asks before adding to it. All the days of a trial go on it in one go: if it's open in Excel, you're told to close it before anything is made, so it never ends up missing a day. Filter by reporter to see their pages, or open the By Reporter sheet for everyone's totals. Sample shown uses made-up names.

A run sheet: one row per take, with the reporter, pages written and page numbers

See what you billed, and what was paid

Records keeps every invoice and form the app made. See totals billed, paid and outstanding for any month, year or firm, with breakdowns by firm and by month. Tick Paid when the money comes in, and if you corrected an amount in an invoice PDF, Change amounts… keeps the totals right. Choose the columns you want: your pages and the transcript's, the excerpt, the speeds offered and the one ordered, whether an e-mailed copy was included, and more, and click a heading to sort. Invoices you made for another reporter stay out of your list and your totals; one click on Show them lists them, with their initials under For reporter. Looking for one firm or case? Type it in the search box: a firm, a case, an index number, an invoice number, with Fuzzy to forgive a typo or Regex for exact patterns. Deleted something by mistake? It waits in the Trash for 30 days. Export a report, an Excel workbook or CSV files whenever you like; a CSV copy is always kept up to date in your Documents folder.

Want to keep track of the work too? Paid is all that's on at first, and nothing ever pops up. In Settings → Records, switch on Invoice sent, Transcribed or Transcript sent, or add a box of your own. Each is a column you tick with a click, a Status column says it in words ("Paid, Transcribed, Not sent"), and every row takes a colour: orange once a transcript is done and every firm that ordered it has paid, ready to send; green once it's sent (purple while it's sent but not yet paid). Tick Transcribed on one firm's invoice and it's ticked on the other firms' invoices of the same transcript, and on any made later when another firm orders a copy. Type notes straight into the table, and let the Records button count what's waiting: Records · Ready to send: 3. With Paid alone, it counts what isn't paid.

Need a corrected invoice, or another day of the same case? Right-click a record and open its job again: the case comes back as you left it. Ticked the wrong invoice paid? Undo (Ctrl+Z) takes it back. Summary… sums up a month or a year (invoices, pages, billed, paid, still owed), and the first time you open Records in a new month it tells you what last month came to. Your records are backed up each day you open the app, and you can go back to any of the last ten days.

The Records window: totals billed, paid and outstanding, and six invoices with their Paid, Transcribed and Transcript sent boxes, a Status column and a note, each row coloured: teal not paid, blue transcribed and waiting for payment, orange ready to send, green sent

Business days and court holidays

A form or an invoice made on a weekend or a court holiday is dated the next business day: made on Sunday 10/11/2026, with Columbus Day on the Monday, it says Tuesday 10/13/2026, and so do the invoice number's year, your records and the file names. Turnaround days are business days, counted from the day the form is dated: Expedited's 5 days from Tuesday 10/13/2026 is Tuesday 10/20/2026, and a holiday on the way isn't counted. A line under each date says when it moved and why, and a day you type on a holiday is pointed out, never moved. The holidays are New York's courts' own (one on a Saturday is closed the Friday before, one on a Sunday the Monday after), written as rules in plain words so the list holds every year. Settings → Dates changes them, switches each part off, or dates what you make after 5:00 PM the next day. Filled in your own rate sheet's Days column before 2.8.0? The app asks once whether to change its 7 and 21 to 5 and 15, a week and three weeks in business days.

Help that understands your words

The whole manual is built in: press F1, or Help → How to use, and type a question the way you'd ask it. "The court is closed that day" finds the court holidays, "bill a lawyer by email" the e-mailed copies, and a typo like "invioce" still finds invoices. The words you looked for are marked in the page, links take you to the next topic, and F1 opens the page for the part of the window you're in (Settings has a Help button on each tab). It all runs on your computer.

The Help window: the question the court is closed that day typed in the search box, the topics found with a line of each, and the court holidays page open with the words found marked

Good to know

Private

Everything runs on your computer. Photos are read with Windows' built-in text recognition. Nothing is uploaded. Once a day the app asks GitHub whether there is a newer version (it sends nothing about you or your cases); you can turn that off in Settings. When there is one, an Update button shows at the top of the window.

Asks when unsure

Missing or conflicting items (index number, dates, judge) are raised before filling, never silently guessed. Documents of one job whose index numbers don't match are pointed out before anything is made.

Remembers you

Your name, address, phone, e-mail, rate sheet, copies and signature are set once in Settings. The speeds you offer and what you tick in the Outputs box stay ticked.

Fix it afterwards

The PDFs stay fillable: every value the app typed in, invoice amounts included, can be corrected in a PDF viewer. When it's final, File → Lock finished PDFs saves a locked copy.

Fits your screen

Works with Windows' display scaling, and Ctrl + and Ctrl − (or Ctrl and the mouse wheel) make everything bigger or smaller. On a small laptop, fold the Outputs box and each card to one line that sums it up (the View menu does it all), and drag the dividers; the app remembers. On a short screen the Outputs box starts folded.

Your folders

Each case gets a folder of its own, named by its index number (712345-2021) or as you like, next to your documents or in the folder you choose. Or give agreements, invoices, MOFRs and run sheets a folder each.

Your rate sheets

Rates live in small spreadsheets (CSV) you can edit in Excel: private, city, whatever you charge. A speed missing a price (Original, Copy, Email or Index) is pointed out, and the column headings don't have to be exact.

Optional local AI

If you use Ollama, an AI helper can read messy photos and e-mails. It is only used when Ollama is installed, and it stays on your machine. Everything it says is checked against the document, and it ticks who ordered only from e-mails and pasted text. Choose the smaller, faster model or the larger, more accurate one in Settings.

A new computer?

File → Export settings saves your details, options and rate sheets as one file; Import settings reads it on the other computer. Giving it to a colleague? Leave your personal details out with one click. A short welcome asks a new user the few things the forms need.

One window

Open the app again, or a PDF with Open with, and the documents go to the window already open, so two windows never save over each other's settings or run sheets.

Help built in

Press F1 (or Help → How to use) and search the whole manual in your own words: what the app reads, what it makes, every setting, tips and the keyboard shortcuts.

Open source

Read the code, report a problem, or suggest a change on GitHub.

What you need

Windows

Windows 10 (version 1809, October 2018, or newer) or Windows 11, 64-bit. Not available for Mac or Linux.

Nothing else to install

Python and everything else the app needs are included. No administrator rights are required.

Space

About 240 MB of disk space. No internet connection is needed to use it.

For photos and scans

Reading photos uses Windows' own text recognition, which needs the English language pack. Most PCs already have it. Typed PDFs and e-mails don't need it.

Optional

The AI helper needs the free Ollama app and a small model, plus a reasonably modern PC. The app works fine without it.

Download and install

  1. Go to the Releases page and download YinItAgreementForm-Setup-x.y.z.exe.
  2. Double-click it and follow the usual installer steps. It installs just for you, with a Start menu entry and an optional desktop icon.
  3. Windows may say "Windows protected your PC" because the installer isn't code-signed yet. Click More info, then Run anyway.
  4. On first launch, enter your name, address, phone and e-mail. Then drop in a document.

Download the installer