Convert PDF bank and card statements to QBO for QuickBooks Online or Desktop so optical lab job costs, lens inventory, and wholesale receivables post right.
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF
Uploading...
Independent optical labs and their bookkeepers can upload a PDF bank or credit card statement to the converter at the top of this page and download a .qbo (Web Connect) file to import into QuickBooks Online or QuickBooks Desktop, plus Excel and CSV copies to check first. It reads a PDF or an image, so a scanned statement works too. The core problem is that a lab's bank statement mixes three very different things: blank and frame purchases that are really inventory, ACH deposits from practices that are payments on jobs you already invoiced, and an equipment draft that hides a principal and interest split. Post them all as plain expense and income and your job costs, margins, and receivables stop meaning anything.
Last updated July 2026.
Built for the statements US banks actually send, checked before it exports.
The converter adds up the transactions it parsed and matches that to the statement total before you export, so nothing is silently dropped.
Valid OFX 1.02 with QuickBooks Web Connect headers. Online and Desktop import it as a standard bank feed.
OCR runs before parsing, so a scanned or photographed paper statement comes out the same as a digital PDF.
Bulk upload for catch-up and cleanup work. Each file gets its own reconciliation check and its own exports.
Enter the password on upload. Multi-column and multi-page statement layouts are parsed too.
One conversion, three files: the .qbo for QuickBooks, an XLSX to review, and a CSV for everything else.
Three steps. No column-mapping wizard.
Drag in a PDF, a scan, or a phone photo. Password-protected and multi-page files are fine.
Every transaction is extracted and checked against the statement total. You see the parsed rows before exporting.
Download the .qbo and import it as a Web Connect bank feed. Excel and CSV are in the same download.
The specifics that decide whether the import is clean. If your case is not here, email [email protected].
A wholesale optical lab is a factory. You buy lens blanks and pucks, then surface, coat, tint, and edge them into finished prescription jobs that ship to optometry practices and opticians on account. Your customers are businesses, not patients, and there is no vision-plan billing at the lab level. The accounting that matters is inventory, work in process, and job cost, not contractual allowances. The converter gives you a clean, dated record of every supplier draft, card charge, and practice deposit to build those numbers on. Start with the PDF to QBO converter.
When you buy finished single-vision stock, semi-finished blanks, or free-form pucks from a supplier such as Essilor, Hoya, Shamir, Zeiss, or a VSP Optics private-label line, that is inventory: a balance-sheet asset the day the ACH draft clears. It does not become cost of goods sold until a job that uses it is finished and shipped. Post the purchase to an inventory asset account, then relieve it to COGS as jobs complete. Expense every blank order the month it hits the bank and your margin swings wildly, heavy when you restock and thin when you ship, while the profit on any single job stays invisible.
Coating chemistry, AR and hardcoat materials, tint dyes, edging supplies, and stock frames follow the same logic. Larger stock orders are inventory you draw down; small consumables can be expensed as bought when tracking them by unit costs more than it is worth. Set that threshold once with your CPA.
A job that has been surfaced but not yet coated, edged, or shipped is work in process. It already carries real value, the blank plus the lab labor consumed so far, but it is not COGS until the job ships and you invoice the practice. Think of WIP as partially completed inventory: material plus lab labor on unfinished jobs sits in a WIP account and moves to cost of goods sold when the job ships. Carrying WIP at month end keeps the timing of cost and revenue lined up.
Per-job costing is optional but worth it. Tie the blank, coating, and any outside service to a specific job number and gross margin per job becomes visible, so you can see which lens designs and which accounts actually make money. The imported statement is the source for the material and outside-service side of each job.
You invoice a practice when its job ships and carry the balance as accounts receivable, usually net 30. When that practice's ACH or check deposit lands on your bank statement, it is a payment against AR for jobs already invoiced, not fresh income at deposit time. If your system already booked revenue at invoice, recording the deposit as income again double-counts it: once at invoice, once at deposit. Receive the payment against the open invoice instead, so income is stated once. The guide to importing a statement into QuickBooks Online walks through matching those deposits after the .qbo import.
Labs routinely farm out certain steps: a specialty AR coating, a digital free-form surface, or a drill-mount, sent to another lab or back to the manufacturer. That outside-processing invoice is a direct cost of the specific job, not office overhead. Post it to an outside services or subcontracted lab account inside cost of goods sold, and tie it to the job number. Bury it in general expenses and your in-house margin looks better than it is, while the true cost of the jobs you outsource disappears.
Inbound freight on blanks and frames is part of the cost of that inventory, so it belongs with the goods it delivered, not a catch-all shipping expense. Outbound shipping, the daily UPS and FedEx runs that send finished jobs to your accounts, is a fulfillment expense (or a cost you bill back to the practice). Inbound freight quietly raises the cost of every job you make, so collapsing the two into one line hides both.
Generators and surfacing equipment, edgers, AR and coating chambers, blockers, and tracers are the capital core of the lab. Bought outright, each is a fixed asset you capitalize and depreciate over its useful life, not an expense in the month of purchase. When you finance or lease equipment, the monthly draft is one number with two parts: the principal portion pays down the loan liability, and the interest portion is an expense. A genuine operating lease is simply rent. Book the whole draft as one expense and your costs are overstated while the loan balance never moves. A converted Desktop statement gives you the exact draft dates to build that recurring split against.
For the few practices that pay by card, the processor batches charges into one payout that is net of its fee, so the deposit never equals the invoices it covers. Record it in parts: the gross the practices paid as a payment against their receivables, and the processor fee as a merchant fee expense, so the two net to the deposit line. Say a practice paid 1,000 and the processor kept 29: book 1,000 to AR and 29 to merchant fees, and the 971 deposit ties out. Post only the net and your fee expense vanishes while receivables never clear to the right balance.
Surfacing, finishing, and coating technicians, edging techs, QC staff, and delivery drivers are almost always W-2 employees, and their pay runs through payroll, not a contractor account. The narrow exception is a genuine independent contractor, for example a courier who sets their own terms and serves other clients; track that pay in a contract labor account so it totals cleanly at year end. The 1099-NEC reporting threshold is $2,000 for payments made on or after January 1, 2026, and is indexed after that. Classification follows the IRS control test, so confirm any close call with your CPA.
Wholesale sales of finished lens jobs to a practice for resale are generally exempt when you hold a valid resale or exemption certificate from that account, because the practice, not your lab, collects tax from the end wearer. That is not automatic. Any direct-to-consumer sales you make, and the treatment of certain materials, vary by state. Collect resale certificates where your state requires them and verify your treatment with a CPA rather than assuming any sale is exempt. Your customers, the optometry practices you sell to, face their own tax and payer rules downstream.
| What appears on the bank statement | What it actually is | Where it belongs in QuickBooks |
|---|---|---|
| ACH to Essilor, Hoya, or Zeiss | Lens blanks and semi-finished pucks | Inventory asset, to COGS as jobs finish |
| Free-form puck or stock order | Surfacing inventory | Inventory asset, relieved to COGS |
| Coating chemistry or tint dye buy | AR, hardcoat, and tint materials | Inventory or lab supplies (COGS) |
| Stock frame order from a wholesaler | Frame inventory | Inventory asset, to COGS on sale |
| Inbound freight on blanks or frames | Cost of getting inventory in | Added to inventory cost |
| Daily UPS or FedEx charge | Shipping finished jobs to accounts | Outbound freight expense |
| Practice ACH or check received | Payment on an invoiced job | Receive payment against accounts receivable |
| Card batch (net of fees) | Practice payments minus processing fee | Split: payment on AR plus merchant fee |
| Outside lab or manufacturer invoice | Specialty coating or free-form surfacing | Outside services (COGS) |
| Equipment loan or lease draft | Generator, edger, or coater financing | Split: loan liability plus interest expense |
| Lab management or LMS software | Subscription | Software or dues and subscriptions expense |
| Sales tax remittance | Paying tax you already collected | Reduces sales tax payable (liability) |
Convert the PDF or image statement to a .qbo file with the converter at the top of this page, then import it. In QuickBooks Desktop, go to File, then Utilities, then Import, then Web Connect Files. In QuickBooks Online, go to Transactions, then Bank transactions, then Upload from file, and map the columns before you categorize.
Lens blanks and semi-finished pucks are inventory, a balance-sheet asset, the day you buy them. Post the purchase to an inventory asset account, then relieve it to cost of goods sold as jobs that use the blanks are finished and shipped. Expensing blanks at purchase distorts your margin and hides the true cost of each job.
Assign a job number, then tie the blank, coating materials, any outside service, and lab labor to it. Carry unfinished jobs in work in process and move the cost to cost of goods sold when the job ships. The converted statement feeds the material and outside-service side so gross margin per job becomes visible.
No. If you invoiced the job when it shipped, the deposit is a payment against accounts receivable, not new income. Receive it against the open invoice so revenue is counted once. Booking the deposit as fresh income double-counts the job, once at invoice and again when the ACH or check arrives, and inflates your sales.
Work in process is the value of jobs still on the bench: blanks that have been surfaced but not yet coated, edged, or shipped, plus the lab labor spent on them. It is partially completed inventory that sits in a WIP account until the job ships, then moves to cost of goods sold. Carrying WIP keeps cost and revenue timed together.
Usually not, because a wholesale sale to a practice for resale is generally exempt when you hold a valid resale or exemption certificate from that account. Rules and any direct-to-consumer sales vary by state, and some materials are treated differently. Collect resale certificates where your state requires them and confirm your exact treatment with a CPA.
Upload a PDF, get a QuickBooks-ready .qbo back in seconds. No card to try it.
Once your statements convert cleanly, the workflow scales across the whole lab or a book of clients. Firms can standardize it with our QBO converter and the guide for accountants, and a multi-site lab can run every location's supplier and card statements at once through bulk statement conversion. Upload a statement to the converter at the top of this page to get your first .qbo file.
Same converter, tuned for the layout each bank uses. Find yours:
For one bookkeeper running monthly close.
USD
per month
billed as
$288 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
For an accounting firm or finance team with steady volume. Adds QuickBooks .qbo export and bulk conversion.
USD
per month
billed as
$888 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
For lenders, audit firms and analysts running thousands of statements a month.
USD
per month
billed as
$ yearly
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |