Inspect the character and its role
Check the visible source before accepting the value so a small character error does not become a large downstream correction.
Test an invoice with the dates, quantities or amounts you find hardest to copy accurately. ParseMill puts extracted invoice fields beside the source for review and correction before export. Open the downloaded workbook in your usual spreadsheet application and check those values there too.
Record the field heading and neighboring content with the mark. A minus sign before a number behaves differently from a standalone dash in an otherwise empty result cell. Do not remove all punctuation as a numeric cleanup shortcut.
Use a character-review fixture
| Raw text | Source context | Expected treatment |
|---|---|---|
| −2.5 | Temperature result | Negative value if source confirms sign |
| — | Result cell; legend absent | Unresolved missing marker |
| 10–12 | Length interval | Range after context review |
| LOT-25 | Batch identifier | Text; preserve hyphen |
The synthetic strings use a Unicode minus sign, an em dash, an en dash and a hyphen. Their appearance can be similar at small sizes. A copied character code helps identify what was extracted, but only the source comparison establishes whether the extraction preserved the intended mark.
Unicode: Normalization forms distinguishes normalization forms and warns that compatibility distinctions can matter. Normalization should be an explicit derived operation, not a substitute for reading the source.
Perform a focused source comparison
- Zoom the source cell and compare the mark with known signs elsewhere in the same document. Note whether the PDF is a scan or has selectable text.
- Copy the raw string into a text-preserving field and, when needed, inspect its Unicode code points with a trusted text tool.
- Classify the role as sign, separator, missing marker, identifier punctuation or unresolved. Record the supporting heading or legend.
- Create a numeric value only after the sign and notation are confirmed. Keep the raw character sequence and the normalization rule for audit.
Microsoft: Number.FromText interprets supported numeric strings. A parse failure should prompt examination of the mark; it should not automatically trigger deletion of the character.
Test the dangerous repairs
Replacing every dash with a minus can turn an empty result into a negative expression. Removing every dash can turn −2.5 into a positive result and collapse a lot identifier. A narrow replacement may be appropriate for confirmed numeric signs, but it must be scoped to reviewed fields and retain the original.
If the rendered source is too blurred to distinguish a sign, mark the result unresolved. Magnitude plausibility or neighboring values cannot prove that a faint mark was absent. Request a clearer source when the sign affects use.
Accept meaning as well as characters
The fixture passes when only the confirmed temperature becomes a negative numeric observation. The missing marker stays unresolved, the interval stays a range and the lot identifier remains text. Reopen the export to check that its font and encoding still make the distinctions visible.
For the invoice trial, include a negative credit amount and product codes containing dashes. Check their source meaning and exported values before applying spreadsheet cleanup. That gives you a relevant test of the invoice workflow without assuming it interprets technical measurements.
Put it to work with ParseMill
Make one real invoice your buying test
Choose an invoice you would otherwise enter by hand. Upload it, inspect the extracted fields, correct what needs attention and download Excel. Include every checking minute in the comparison. Subscribe if the result and the time saved make sense for your recurring work.
Eligible new workspaces: 10 pages for 7 days after email verification. No card or automatic subscription.
Invoice processing: $49 USD/month · 500 PDF pages · one user. Buy only after you have checked the fit on your own invoices.
Sources and editorial notes
- Unicode: Normalization formsChecked 2026-10-25
- Microsoft: Number.FromTextChecked 2026-10-25
Written by ParseMill. Worked examples are illustrative process examples, not customer results. Software availability can vary by subscription and region; check the linked documentation for your account. Review decisions and approvals remain with your team.