LEDES · e-billing
LEDES billing format conversion
How time entries become a LEDES 1998B file a corporate client will accept, where conversions fail, and what to check before you submit.
What "LEDES conversion" actually means
Converting to LEDES is not a file-format problem. It is a data-completeness problem. A LEDES 1998B line is just a pipe-delimited row, but every row has to carry identifiers and codes that the client's e-billing platform already knows about. If a time entry in your system lacks a client matter ID, a timekeeper classification, or a UTBMS activity code, no converter can invent them, and the platform will reject the invoice no matter how clean the file looks.
So the work of conversion happens before the export: at intake, when matters and timekeepers are set up with the client, and at time entry, when the codes are attached to the work.
What you need before you convert
- Client and matter identifiers as the client's platform has them: CLIENT_ID and CLIENT_MATTER_ID, plus your own LAW_FIRM_MATTER_ID.
- Approved timekeepers, each with an ID, a name, a classification (partner, associate, paralegal, and so on), and a rate the client has accepted.
- UTBMS codes on every line: a task code and an activity code for fees, an expense code for disbursements. The billing codes reference lists them.
- Invoice metadata: invoice number and date, billing period start and end, and an invoice description.
- One task per line. Block-billed entries have to be split before conversion, not after.
Mapping a time entry to a LEDES line
The table below shows how the fields most billing systems store map onto the 24 LEDES 1998B fields. The full field list, in order, is in the LEDES format guide.
| In your billing system | LEDES 1998B field | Notes |
|---|---|---|
| Entry date | LINE_ITEM_DATE | YYYYMMDD, no separators |
| Hours | LINE_ITEM_NUMBER_OF_UNITS | Decimal hours for fees, quantity for expenses |
| Rate | LINE_ITEM_UNIT_COST | The approved rate, not your standard rate |
| Amount | LINE_ITEM_TOTAL | Units × unit cost, less any line adjustment |
| Narrative | LINE_ITEM_DESCRIPTION | No pipe characters; keep the client's length rules |
| Task code / activity code | LINE_ITEM_TASK_CODE / LINE_ITEM_ACTIVITY_CODE | Fees only; leave the expense code blank |
| Expense code | LINE_ITEM_EXPENSE_CODE | Expenses only; task and activity codes blank |
| Timekeeper | TIMEKEEPER_ID, TIMEKEEPER_NAME, TIMEKEEPER_CLASSIFICATION | Must match the client's approved list |
| Fee or expense | EXP/FEE/INV_ADJ_TYPE | F, E, IF or IE |
| Invoice header | INVOICE_NUMBER, INVOICE_DATE, BILLING_START_DATE, BILLING_END_DATE, INVOICE_TOTAL | Repeated on every line |
Converting from Excel or CSV by hand
- Add a column for every LEDES field, in LEDES order, and fill the invoice-level fields on every row.
- Normalize dates to YYYYMMDD and amounts to plain decimals with no currency symbols or thousands separators.
- Strip pipe characters and line breaks from narratives.
- Export as text with
|as the delimiter, then add the two header lines (LEDES1998B[]and the field-name line) and the[]terminator at the end of every data line. - Check that the line totals sum to INVOICE_TOTAL before you upload.
This works for an occasional invoice. It does not scale, and the terminators and encoding are easy to get subtly wrong. Once a client requires LEDES every month, produce it from the billing system.
Automated conversion
Most practice management and legal billing systems export LEDES 1998B directly, and many support 1998BI or an XML version. The export is only as good as the data behind it, which is why the identifier and code setup above matters more than the button. Before relying on an export, run one invoice through the client's platform in test or with a small first submission, keep the rejection reasons, and fix the setup rather than the file.
Validation checklist
- Version header matches what the client requested.
- Every fee line has a task code and an activity code; every expense line has an expense code.
- Client, matter, timekeeper and rate values match the client's platform records exactly.
- No line combines more than one task.
- Narratives meet the client's guidelines for detail and length.
- Line totals reconcile to the invoice total.
- File is plain text, pipe-delimited, every data line ends with
[].
Frequently asked questions
Can I convert an Excel spreadsheet to LEDES?
Yes, if every row carries the fields a LEDES line needs: invoice and matter identifiers, a timekeeper ID and classification, a UTBMS task and activity code (or an expense code), units, rate, and a narrative. Most conversions fail on missing identifiers, not on the file format.
Which LEDES version should I produce?
The one the client asked for, exactly. LEDES 1998B is the most common. 1998BI adds tax and currency fields for international billing. LEDES 2000 and XML 2.0 and 2.1 carry more structure and are required by some corporate programs and insurers.
Why does my LEDES file keep getting rejected?
The usual causes, in order: a client or matter ID that does not match what the e-billing platform has on file, a timekeeper or rate that was never approved, an invalid or missing task or activity code, totals that do not reconcile, and block-billed lines.
Does IntelliBill generate LEDES files?
Not in the current Founding Firm Pilot. IntelliBill drafts time entries from Microsoft 365 email on your Mac, holds each one for human review, and exports a reviewed CSV that your billing system turns into invoices and LEDES files.
Do I need special software to create LEDES 1998B?
No. A 1998B file is plain text with pipe-delimited fields. Most practice management and billing systems export it directly, and a careful spreadsheet-to-text export can produce a valid file if the fields and terminators are exactly right.
Where IntelliBill fits
IntelliBill works one step earlier than LEDES. Its Mac pilot reads the Microsoft 365 Inbox and Sent Items you authorize, drafts a client, matter, duration and narrative for likely billable email work with UTBMS classification support, holds every draft for human review, and exports a reviewed CSV. Your billing system still produces the invoice and the LEDES file. The difference is what goes in: entries that would otherwise never have been recorded, already coded and reviewed.
Upstream of the invoice
Capture the work first. Then bill it correctly.
See the email-to-entry workflow on sample data, or request a Founding Firm Pilot on your own Microsoft 365 mailbox.