Overview
Batch upload lets you queue up to 20 lab reports at once. BioPortal's AI extracts the lab number, site, vessel, dates, test values, and category grade from each document, then decides whether the result is safe to auto-approve or should be sent to the review queue.
Each file goes through two AI passes: extraction (reading the document) and verification (visually confirming the extracted fields match the source). The whole pipeline typically completes in 10–30 seconds per file.
Before you start
- RequiredYou must be signed in as a Technician, Manager, or Admin in the target company.
- RecommendedMake sure your sites, vessels, and test types are set up — the AI uses these to match extracted data. Unknown sites or vessels will flag the result for review.
- TipIf your lab emails reports directly, skip upload entirely — see Email ingestion below.
Supported formats & limits
File formats
- Images: JPEG, PNG, WebP
- Spreadsheets: XLS, XLSX
- Documents: DOC, DOCX
- Plain text: CSV, TXT
Limits per upload
- 10 MB maximum per file
- 20 files per batch
- Duplicate lab numbers are blocked automatically
Uploading files
Navigate to the upload page
From any dashboard page, go to /results/upload or click Upload Results in the main navigation. For the batch queue view, click View batch queue on that page to open /results/upload/batch.
Drag and drop, or browse for files
Drag files onto the drop zone, or click Browse Files to open a file picker. Unsupported formats are rejected immediately with a toast notification.
Wait for AI processing
Each file goes through two AI phases automatically. You can leave the page — processing continues server-side. Come back anytime to review the queue.
What happens next
Each queue item progresses through these statuses:
- 1Received — file uploaded to secure storage, queue item created.
- 2Extracting (Phase 1) — AI reads the document and pulls out structured fields.
- 3Verifying (Phase 2) — vision AI double-checks the extracted values against the source.
- 4Final status — depending on your approval mode: Auto-approved, Pending review, or Failed.
Approval modes
Your company's approval mode controls what happens after AI processing finishes. Admins can change this at /settings/ai-import.
Which mode should we use?
Reviewing results
When a result lands in Pending Review, click it to open the review interface at /results/upload/[uploadId]/review. You'll see the extracted fields side-by-side with the original document — edit anything that's wrong, then approve or reject.
What gets saved
approved. Rejecting marks the queue item as rejected (with an optional reason) and no result is created.Email ingestion alternative
If your lab already emails reports, you can skip the manual upload. Each company gets a dedicated inbound address — results-{company-slug}@submit.bioportal.io. Forward emails (or ask your lab to send direct) and attachments are processed exactly the same way as manual uploads.
Find your inbound address and manage the allowed-senders whitelist at /settings/email-ingestion. See the Advanced Settings guide for the full config.
Troubleshooting
- File shows as "Failed"
- Common causes: the document is password-protected, corrupted, or exceeds 10 MB. Check the error code —
FILE_UNREADABLE,UNSUPPORTED_FORMAT,FILE_TOO_LARGE, orEXTRACTION_FAILED. Fix the source file and re-upload. - Result sent for review with "Site not found"
- The AI couldn't match the site name on the report to any site in your company. Either add the site to BioPortal first, or edit the site field manually in the review screen.
- Duplicate lab number
- BioPortal blocks duplicate lab numbers within the same company to prevent double-ingestion. If the earlier result was wrong, delete it first; otherwise reject the new one.