# Data dictionary

Every value cell is preserved exactly from the manual extraction. `source_document` is the original source PDF file name.

| Column | Meaning |
| --- | --- |
| `source_document` | Original source PDF file name for the row. |
| `source_pages` | Source page count for the document; the highest cited evidence page when the extraction supplies no explicit count. |
| `invoice_number` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `invoice_number_input_page` | Evidence page used to derive the evidence state. |
| `invoice_number_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `invoice_number_page` | One-indexed source page where the value was read; `0` when not found. |
| `invoice_number_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `invoice_date` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `invoice_date_input_page` | Evidence page used to derive the evidence state. |
| `invoice_date_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `invoice_date_page` | One-indexed source page where the value was read; `0` when not found. |
| `invoice_date_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `due_date` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `due_date_input_page` | Evidence page used to derive the evidence state. |
| `due_date_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `due_date_page` | One-indexed source page where the value was read; `0` when not found. |
| `due_date_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `amount_due` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `amount_due_input_page` | Evidence page used to derive the evidence state. |
| `amount_due_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `amount_due_page` | One-indexed source page where the value was read; `0` when not found. |
| `amount_due_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `po_number` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `po_number_input_page` | Evidence page used to derive the evidence state. |
| `po_number_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `po_number_page` | One-indexed source page where the value was read; `0` when not found. |
| `po_number_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `payment_terms` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `payment_terms_input_page` | Evidence page used to derive the evidence state. |
| `payment_terms_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `payment_terms_page` | One-indexed source page where the value was read; `0` when not found. |
| `payment_terms_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `supplier_name` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `supplier_name_input_page` | Evidence page used to derive the evidence state. |
| `supplier_name_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `supplier_name_page` | One-indexed source page where the value was read; `0` when not found. |
| `supplier_name_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `remit_to` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `remit_to_input_page` | Evidence page used to derive the evidence state. |
| `remit_to_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `remit_to_page` | One-indexed source page where the value was read; `0` when not found. |
| `remit_to_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `bill_to` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `bill_to_input_page` | Evidence page used to derive the evidence state. |
| `bill_to_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `bill_to_page` | One-indexed source page where the value was read; `0` when not found. |
| `bill_to_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `customer_account` | Value read from the document by the extraction operator; blank when the document does not state it. |
| `customer_account_input_page` | Evidence page used to derive the evidence state. |
| `customer_account_input_literal_match` | `true` when the value was tied to a positive evidence page. |
| `customer_account_page` | One-indexed source page where the value was read; `0` when not found. |
| `customer_account_evidence` | `cited`, `uncited`, or `not_found` according to the evidence rule. |
| `invoice_number_line` | One-indexed line (or `first-last` range) within `invoice_number_page` where the value was read; `0` when not found. |
| `invoice_date_line` | One-indexed line (or `first-last` range) within `invoice_date_page` where the value was read; `0` when not found. |
| `due_date_line` | One-indexed line (or `first-last` range) within `due_date_page` where the value was read; `0` when not found. |
| `amount_due_line` | One-indexed line (or `first-last` range) within `amount_due_page` where the value was read; `0` when not found. |
| `po_number_line` | One-indexed line (or `first-last` range) within `po_number_page` where the value was read; `0` when not found. |
| `payment_terms_line` | One-indexed line (or `first-last` range) within `payment_terms_page` where the value was read; `0` when not found. |
| `supplier_name_line` | One-indexed line (or `first-last` range) within `supplier_name_page` where the value was read; `0` when not found. |
| `remit_to_line` | One-indexed line (or `first-last` range) within `remit_to_page` where the value was read; `0` when not found. |
| `bill_to_line` | One-indexed line (or `first-last` range) within `bill_to_page` where the value was read; `0` when not found. |
| `customer_account_line` | One-indexed line (or `first-last` range) within `customer_account_page` where the value was read; `0` when not found. |

## Evidence rule

A cell is filled only when the extraction operator read the value from the document and recorded its page and line in the evidence CSV. A filled cell is `cited` when its evidence page is positive. Blank cells are `not_found`; a filled cell without a positive evidence page is `uncited` and is listed in `flagged.csv` rather than silently delivered.

## Reconciliation terms

`Rows conforming` counts rows with no `uncited` cell: every non-blank value in the row is tied to a positive source page, so nothing is delivered without a citation. A blank cell the document does not state is `not_found`, is disclosed in `flagged.csv`, and does not make the row non-conforming.

## Reference job: page and line numbering

This job reads each invoice where it is filed: inside a public U.S. court record. `<field>_page` is the one-indexed page of that linked court record where the value was read, counted the same way as the **Filing page** in `reference-job-provenance.md` (the page where the invoice begins), so a value on a continuation page carries that later page number; `0` when the cell is blank. `source_pages` is the invoice's own page count: `12-invoice.pdf` has 3 pages, `16-invoice.pdf` has 5, `19-invoice.pdf` has 2, and each other invoice has 1. The CourtListener filing can contain other pages before and after the invoice. Nothing from the filings is rehosted.

`<field>_line` is the one-indexed line (or `first-last` range) within `<field>_page` where the value was read, measured in the court record's layout-preserving text layer (`pdftotext -layout`), counting the court's header line as line 1. `0` when the cell is blank. So a reader can open the record at the filing page and find the value on the cited line.

`<field>_evidence` is `cited` when the value is non-blank and tied to a positive page, and `not_found` for a blank. `Rows conforming` counts rows with no `uncited` cell: every non-blank value is tied to a positive page, so nothing is delivered without a citation; a disclosed blank does not make a row non-conforming.

## Manual review flags

`reference-job-flagged.csv` lists blank-value reasons and manual review notes. The `18-invoice.pdf` `due_date` note records that the text layer reads `Jun21,2022` while the page image prints `Jun 21, 2022`; its `customer_account` value `D6811A` is printed beside `Bill To:` without an account label and is flagged for buyer confirmation. The `16-invoice.pdf` note records the competing remittance-copy `Balance Due` of `$805.20`; the delivered amount remains `$1,006.50` from `Total Due This Invoice`.
