Principles7 min read
LEDES 1998B format: all 24 fields and a sample
The LEDES 1998B format has 24 pipe-delimited fields: find their official order, types and limits, a worked sample and portal checks.
Raf Mevis
The LEDES 1998B format is a plain-text, pipe-delimited ASCII invoice format with 24 fields in fixed order. Its [first line is LEDES1998B[]](https://ledes.org/wp-content/uploads/2017/11/Ledes98B-Sample-File-Rev-7-2014.txt), followed by field names and then line items. Every record ends with []; invoice-level fields repeat on each item. Portal requirements can be stricter than the standard.
Before invoice preparation, Sixminute automatically captures the lawyer’s working day and writes one entry per task, matched to its client and matter, with duration and a client-ready narrative for review.
LEDES 1998B format uses two header records
The LEDES Oversight Committee’s sample starts with LEDES1998B[], then the 24 field names in order. Each later record is a fee, expense or adjustment, ending with the [] line terminator. Empty fields retain their pipes; a pipe inside a narrative creates another field. One file can contain multiple invoices.
LEDES 1998BI is a separate international format, currently V5 with 52 fields. Its official specification adds tax and purchase-order fields. LEDES XML 2.0 is another format, currently version 2.0.4. The LEDES billing guide explains the choices.
The 24 fields stay in this order
The LEDES 1998B fields list below follows the official specification. Numeric types retain its size.precision notation, allowing up to four decimal places. Amounts use decimal points, with no spaces, thousands separators or currency symbols.
Fields 1 to 8 describe the invoice
- INVOICE_DATE. Date, eight digits; required. Use YYYYMMDD. Example: 20261108.
- INVOICE_NUMBER. Character, maximum 20; required. Use the firm’s invoice identifier. Example: DEMO-001.
- CLIENT_ID. Character, maximum 20; required. Use the firm’s client code. Example: DEMOCLIENT.
- LAWFIRMMATTER_ID. Character, maximum 20; required. Use the firm’s matter code. Example: DEMOMATTER.
- INVOICE_TOTAL. Currency 12.4; required. Sum LINEITEMTOTAL across this invoice. Example: 510.00.
- BILLINGSTARTDATE. Date, eight digits; required. Use YYYYMMDD for the billing period’s start. Example: 20261101.
- BILLINGENDDATE. Date, eight digits; required. Use YYYYMMDD for the billing period’s end. Example: 20261107.
- INVOICE_DESCRIPTION. Character, maximum 15 KB; optional. Summarise the invoice’s work. Example: Fictional litigation advice.
Fields 9 to 19 describe the line item
- LINEITEMNUMBER. Character, maximum 20; required. Identify each line uniquely within its invoice; consecutive numbering is optional. Example: 1.
- EXP/FEE/INVADJTYPE. Character, maximum two; required. F means fee, E expense, IF invoice-level fee adjustment and IE invoice-level expense adjustment. Example: F.
- LINEITEMNUMBEROFUNITS. Numeric 10.4; required except for invoice-level adjustments, where ignored. Give hours for fees or quantity for expenses; zero is invalid. Example: 1.5.
- LINEITEMADJUSTMENT_AMOUNT. Currency 10.4; optional. Positive means premium, negative means discount; empty or zero means no adjustment. Example: -10.00.
- LINEITEMTOTAL. Currency 10.4; required. For fees and expenses, calculate units × unit cost + adjustment. Example: 290.00 from 1.5 × 200.00 - 10.00.
- LINEITEMDATE. Date, eight digits; required. Use YYYYMMDD for the work or expense date, typically within the billing period. Example: 20261103.
- LINEITEMTASK_CODE. Character, maximum 20; required for task items, with usage set by the receiving client. Usually empty for expenses. Example: L120.
- LINEITEMEXPENSE_CODE. Character, maximum 20; required for expense items. Usually empty for fees. Example: E101.
- LINEITEMACTIVITY_CODE. Character, maximum 20; marked required for task items, with usage set by the client. Task codes can stand alone; activity codes should accompany task codes. Example: A103.
- TIMEKEEPER_ID. Character, maximum 20; required for fee items. Use a unique timekeeper identifier; usually empty for expenses. Example: DEMOTK01.
- LINEITEMDESCRIPTION. Character, maximum 15 KB; required for task items. May be empty for expenses carrying an expense code. Example: Draft liability assessment for disputed delivery clause.
Fields 20 to 24 identify the firm and timekeeper
- LAWFIRMID. Character, maximum 20; required. Use the firm’s Federal Taxpayer ID if it has one. Example: DEMOFIRM, a fictional placeholder.
- LINEITEMUNIT_COST. Currency 10.4; required except for invoice-level adjustments, where ignored. Give the undiscounted hourly rate or expense unit cost; zero is invalid. Example: 200.00.
- TIMEKEEPER_NAME. Character, maximum 30; required for fee items. Use Last name, First name; usually empty for expenses. Example: Example, Alex.
- TIMEKEEPER_CLASSIFICATION. Character, maximum ten; required for fee items. Use the separate LOC classification reference; usually empty for expenses. Example: PARTNR.
- CLIENTMATTERID. Character, maximum 20; required unless the client assigns no matter identifiers. Use the client’s matter code. Example: DEMO-CM01.
The current classification reference includes PARTNR for partner, ASSOC for associate, OFCOUN for of counsel, LGLAST for legal assistant and PARALG for paralegal. PT, AS, OC, LA and OT appear as former codes. The portal’s accepted mapping determines which to use. Field names and order must match the header exactly.
This sample contains two fees and one expense
The sample contains two fees and one copying expense in the official record structure. Its identifiers are fictional. Each paragraph represents one physical file line, with no blank lines between records. It uses L120 analysis/strategy, A103 drafting and A104 review and E101 copying from the original ABA code sets.
LEDES1998B[]
INVOICEDATE|INVOICENUMBER|CLIENTID|LAWFIRMMATTERID|INVOICETOTAL|BILLINGSTARTDATE|BILLINGENDDATE|INVOICEDESCRIPTION|LINEITEMNUMBER|EXP/FEE/INVADJTYPE|LINEITEMNUMBEROFUNITS|LINEITEMADJUSTMENTAMOUNT|LINEITEMTOTAL|LINEITEMDATE|LINEITEMTASKCODE|LINEITEMEXPENSECODE|LINEITEMACTIVITYCODE|TIMEKEEPERID|LINEITEMDESCRIPTION|LAWFIRMID|LINEITEMUNITCOST|TIMEKEEPERNAME|TIMEKEEPERCLASSIFICATION|CLIENTMATTERID[]
20261108|DEMO-001|DEMOCLIENT|DEMOMATTER|510.00|20261101|20261107|Fictional litigation advice|1|F|1.5|-10.00|290.00|20261103|L120||A103|DEMOTK01|Draft liability assessment for disputed delivery clause|DEMOFIRM|200.00|Example, Alex|PARTNR|DEMO-CM01[]
20261108|DEMO-001|DEMOCLIENT|DEMOMATTER|510.00|20261101|20261107|Fictional litigation advice|2|F|1|0|200.00|20261104|L120||A104|DEMOTK01|Review liability assessment against delivery evidence|DEMOFIRM|200.00|Example, Alex|PARTNR|DEMO-CM01[]
20261108|DEMO-001|DEMOCLIENT|DEMOMATTER|510.00|20261101|20261107|Fictional litigation advice|3|E|100|0|20.00|20261104||E101|||Copy delivery evidence bundle|DEMOFIRM|0.20|||DEMO-CM01[]
Fee line one identifies DEMOCLIENT, firm matter DEMOMATTER, client matter DEMO-CM01 and timekeeper DEMOTK01. Its 1.5 hours at 200.00, less 10.00, produce 290.00. The other lines add 200.00 and 20.00: invoice total 510.00. Each fee has a specific narrative.
Portal errors identify the fields to repair
Portal rejections identify structural errors or failures to meet client requirements. The following checks address documented failures.
Totals disagree
Report: Legal Tracker errors 006, 007 or 018, or an invoice-total mismatch in Brightflag. Cause: incorrect arithmetic or inconsistent totals. Fix: calculate fee and expense totals as units × rate + adjustment. For IF/IE records, the line total equals the adjustment amount; units and rate are ignored. Sum the lines and repeat the invoice total consistently.
Dates or numeric values are invalid
Report: Legal Tracker errors 003 or 004. Cause: impossible dates, dates outside YYYYMMDD or forbidden numeric characters. Fix: use valid eight-digit dates and plain decimal amounts. Check out-of-period work against client rules; the specification describes dates within the period as typical.
Headers, terminators or field counts differ
Report: Corridor header error or Legal Tracker error 010. Cause: altered headers, missing delimiters or stray pipes. Fix: restore the sample’s exact version and field names, keep their order and count 23 pipes per data record. Restore [] at each record’s end.
Codes, classifications or descriptions fail validation
Report: missing required data, invalid classification or excessive field length, including Legal Tracker errors 005, 012 and 013. Cause: missing or unsupported values. Fix: confirm client-authorised UTBMS codes for each line type and use accepted classifications. Apply portal limits: Brightflag requires descriptions below 1,024 characters, despite the standard’s larger allowance.
Repeated invoice information differs
Report: inconsistent invoice data. Cause: records contain different invoice descriptions or totals. Fix: repeat invoice-level values consistently; Brightflag expressly requires identical invoice descriptions. Keep the client and matter identifiers aligned with the invoice being submitted.
How Sixminute fills the time behind each fee line
Sixminute automatically captures the work behind fee lines and writes the time entries for review. It records the lawyer’s whole working day: work in every application on the computer, phone calls through its mobile app and meetings through Outlook and Google Calendar. It writes one entry per task, each matched to its client and matter, with duration and a client-ready narrative. The lawyer reviews and releases entries into the firm’s existing practice-management or billing system.
Computer Event Reconstruction (CER) reconstructs the working day across every application, with no integrations to set up. Work in a court portal or PDF reader is covered automatically, so a new application needs no separate connection.
Sixminute takes no screenshots and logs no keystrokes. It filters on the device, and only what the timesheet needs leaves it. Entries stay private to the lawyer until released.
Setup takes about 5 minutes. Lawyers using Sixminute spend about 6 minutes a day reviewing and releasing their timesheet. In Sixminute’s tests, lawyers billed 9 to 15% more hours for the same work.
Validate against the client’s portal before submission
The client’s portal determines which version and validation rules apply. Brightflag documents that some clients require 98BI V2, even though the LOC publishes V5.
- Confirm the exact LEDES version, client matter identifiers, UTBMS code sets and timekeeper classifications.
- Recompute totals and compare repeated invoice fields.
- Inspect the plain-text file’s header, pipes and terminators.
- Use the portal’s validator or test upload, where available, within the billing process. Resolve its reported errors before submission.
