Document Uploads (Subscription Step)
Document Uploads (Subscription Step)
How to collect, validate, and store verification documents during subscription
Collect required attachments, guide users through valid uploads, and reduce rejected verifications with practical UX and file-handling guidance.
Short intro This page explains, in practical steps, how to collect and store verification documents during the subscription flow. It covers which documents you should request for common verification types, client-side validations (size / type / format), recommended upload naming and storage patterns, and UX guidance for handling missing or invalid attachments — including retry flows and helpful messaging. Use this as an operational guide for product owners, designers, and support teams to ensure users can complete identity checks reliably.
Covered features
Upload verification documents
Let users attach images or PDFs required by identity, bank, and health-card verifications.
Client-side validation & guidance
Immediate checks and clear UI feedback to prevent obvious rejections (wrong type, too large, missing sides).
Upload naming & storage patterns
Practical recommendations for organizing uploaded files so they’re easy to trace, review, and link to a subscription.
Retry & error UX
Design for common failures: network errors, provider rejections, incomplete uploads and resubmissions.
Multi-document workflows
Support front/back photos, multi-page PDFs, and multiple required attachments per verification type.
Support-ready metadata
Include simple metadata and clear inbox messages that help support troubleshoot rejected verifications.
Who should use this page
This guide is for product managers, UX designers, and support teams implementing the subscription-step document upload experience — and for anyone writing user-facing copy or support scripts related to verification uploads.
Workflow: Define required documents for each verification type
Step 1 — Map verification types to exact attachments
List each verification type (e.g., National ID, Passport, Driver’s Licence, Bank Statement, Health Card) and the exact attachments required. For each type, specify:
- Which sides are required (front, back, both).
- Whether a selfie or a live face photo is required.
- Whether a recent document is required (issued/expiry dates).
- Any additional documents (address proof, bank statement) and date windows (e.g., last 3 months). Make a short human-readable checklist for each verification type to show to users.
Step 2 — Decide acceptable file formats
For each document type decide allowed formats:
- Images: JPEG, PNG (common).
- Documents: PDF (single- or multi-page), sometimes TIFF (if provider accepts). Record any provider-specific restrictions (some verification partners accept only JPEG/PNG, others accept PDF).
Step 3 — Set size & quality thresholds
Define maximum file sizes and recommended minimum quality/resolution:
- Typical recommendation: image files <= 10 MB; PDFs <= 20 MB.
- For mobile photos encourage 1–5 MB images at 1500–3000 px on the long side for legibility. Document these limits in the UI and test with your verification provider’s requirements.
Step 4 — Make the requirements visible in the subscription flow
Add a concise requirements panel (checklist) at the upload step that shows:
- Required items in order (e.g., “1. ID front, 2. ID back, 3. Selfie”).
- Allowed formats and file-size limits.
- Example images of acceptable vs unacceptable photos. This reduces user mistakes and saves review time.
Step 5 — Provide a fallback & support path
If a user can’t provide an item (e.g., no scanner, brittle card), show alternatives:
- Take a mobile photo with in-app camera.
- Upload a multi-page PDF if supported.
- Contact support or request manual review if the provider rejects the automated check. Document who in support to contact and what information to collect.
Request front and back images for card-style IDs. For passports request the identity page. Also ask for:
- A recent selfie if face-match is required.
- Optional: a proof of address if the verification level requires address confirmation. Show a clear checklist and require both sides when necessary.
Tip: Show great examples
Show one good and one bad example image for each required document. Visual examples cut down on blurry uploads, cropped edges, and missing details.
Workflow: End-user upload experience (what users do)
Step 1 — Present clear pre-upload instructions
When users land on the upload step show:
- Which documents are required.
- Allowed formats and size limits.
- Live examples labeled “Acceptable” and “Not acceptable”.
- An estimate of how long verification usually takes after a successful upload.
Step 2 — Let users choose capture method
Offer two paths:
- Take a photo with their device camera (preferred for mobile).
- Choose an existing file (desktop or mobile gallery). Make the camera option crop/guide for card edges and allow re-taking a photo before upload.
Step 3 — Enforce client-side validations before upload
Immediately validate:
- File type (MIME / extension) matches allowed types.
- File size is within your limits.
- Required number of files are provided (e.g., front + back).
- For images: detect obvious issues like extreme rotation, very low resolution, or heavy compression (use a resolution check). If a check fails, show a clear, friendly error with one-sentence guidance (see examples below).
Step 4 — Let users preview and confirm
Display thumbnails or PDF previews with labels (e.g., “ID — front”). Allow:
- Rotate / crop adjustments for images.
- Replace or remove an uploaded file.
- A final “Confirm & Submit” button that remains disabled until validations pass.
Step 5 — Provide upload feedback and progress
Show progress indicators (percentage or spinner) and a cancel button. If upload is slow, show an ETA and allow the user to continue other steps while upload completes in the background, when possible.
Step 6 — Show immediate post-upload status
After successful upload show a friendly confirmation page that lists what was uploaded and the next steps. If the verification is automated and instant, show the result; otherwise show “Pending verification” with an estimated timeframe and support contact info.
Step 7 — Allow re-submission if needed
If a verification is rejected, allow users to re-upload the specific failed documents without repeating the whole subscription. Make it obvious which file failed and why.
Tip: Keep error messages user-focused
Avoid technical language. Instead of “Invalid MIME type”, say “We only accept JPEG, PNG or PDF. Please upload a photo or scan of your document in one of these formats.”
Workflow: Client-side validations and suggested UI copy
Step 1 — File type checks
Validate formats and show these messages:
- Acceptable: “JPEG, PNG, or PDF”
- If invalid: “That file type isn’t supported. Please upload a JPEG, PNG, or PDF.”
Step 2 — File size checks
Enforce size limits and show:
- If too large: “This file is too large. Please upload files smaller than 10 MB. Tip: take a picture with lower resolution or save as PDF.”
- If borderline: show a compression tip and recommend using the camera in recommended mode.
Step 3 — Required pieces check
Ensure all required pieces (front, back, selfie) are provided. If missing: “We need both the front and back of your ID to proceed. Please upload the back side.”
Step 4 — Legibility & orientation hints
Detect and warn about common issues:
- Blurry/low-contrast photo: “Try taking the photo again in daylight or with more light.”
- Cropped edges: “Make sure the entire document is visible.”
- Rotated images: “Rotate the image so the text is horizontal.” Provide an inline “Retake” button for camera captures.
Step 5 — Multi-page PDF guidance
If a PDF is accepted and multiple pages are required, instruct users to:
- Put page 1 = front, page 2 = back, etc.
- Name pages logically (if the UI allows). If the PDF is a scanned image, recommend a 300 DPI scan.
Step 6 — Accessibility & language
Offer translations for upload instructions and ensure the flow is keyboard- and screen-reader-friendly. Caption each step (e.g., “Upload front of ID”) and provide alt text for example images.
Warning: Missing or incorrect attachments will cause rejected verifications
Verification providers require specific attachments and formats. If a required side is missing, or files are illegible, verifications can be rejected. Make requirements explicit and prevent submission until required files pass client-side validation.
Workflow: Naming and storage pattern guidance (operational best practice)
Step 1 — Use a predictable, human-readable naming pattern
Adopt a consistent naming scheme that links each file to the subscription and document purpose. Example pattern (human-readable): [subscription-id] / [document-type] / [timestamp]-[original-filename] This makes it easy for support and reviewers to find files. Keep names short and avoid special characters.
Step 2 — Store minimal metadata for support
For each uploaded file, capture these metadata fields and make them visible in the reviewer/support UI:
- Subscription ID (or user ID)
- Document type (ID-front, ID-back, selfie, bank-statement)
- Upload timestamp
- Original filename and file size
- Upload status (pending, uploaded, failed, verified)
- If relevant: device type (mobile/desktop) and browser/app version (helps debugging) This metadata helps support triage without asking the user for the same file again.
Step 3 — Use versioning for resubmissions
When a user re-uploads a replacement document, keep previous versions for audit and support. Mark the latest as the active submission but keep a clear history entry indicating who uploaded it and when.
Step 4 — Retention & deletion guidance
Decide retention windows (e.g., keep documents for X months after rejection/acceptance) in line with privacy rules and provider obligations. Provide a link in support copy explaining how long files are retained and how users can request deletion.
Step 5 — Tag files that require manual review
If automated verification fails and a human needs to step in, add clear reviewer flags and short notes explaining why the provider rejected or flagged the file (e.g., “Photo too dark”).
Tip: Keep variant copies small
Store a high-resolution original for audit, but also generate an optimized preview (smaller file) for the UI so reviewers can open documents quickly without downloading a large file.
Before: Users upload without clear guidance. They submit blurry photos or single-sided IDs — leading to frequent rejections and support tickets.
After: The flow shows exact requirements, in-app camera guides, immediate validations, and clear options to re-upload — reducing rejections and support load.
Workflow: Retry, error handling, and support flows
Step 1 — Classify error types for UX
Prepare specific UX behaviors for:
- Validation errors (wrong format, too large, missing side)
- Upload failures (network timeout, interrupted upload)
- Provider rejections (document illegible, mismatch, expired) Each type should show distinct messages and actions the user can take.
Step 2 — Present clear immediate actions
For each error state, show a succinct message and two clear actions:
- Fix now (re-take or replace file)
- Get help (contact support / chat / FAQ) Example copy for provider rejection: “We couldn’t verify this document because the text was unreadable. Please re-upload a clearer photo of the front of your ID.”
Step 3 — Allow granular re-uploads
If verification requires multiple attachments, let users replace only the failed document(s). Highlight the failed item with a short reason and keep the successful uploads intact.
Step 4 — Retry & back-off for intermittent network errors
If upload fails due to network issues, allow:
- Immediate retry button that reattempts the upload.
- Automatic retry attempts in the background with a friendly toast: “Upload failed. We’ll retry automatically — or you can try again now.” If the upload repeatedly fails, provide an option to upload via a different method (desktop if on mobile) and a path to contact support.
Step 5 — Provide support context in rejection emails/tickets
When notifying a user (or support) about a failed verification, include:
- Which document failed and why (legibility, missing side, expired).
- A link to re-upload just that document.
- Suggested capture tips (lighting, distance, full frame).
- If applicable, a request for alternative documents and an estimated turnaround time for manual review.
Step 6 — Escalation path
If the user cannot provide acceptable documents after repeated attempts, provide a documented escalation path: secondary verification options (video call, in-branch verification), and instructions for support to initiate them.
Warning: Don’t accept workarounds that compromise verification
Avoid asking users to crop out or digitally alter documents to hide parts (e.g., partially remove numbers). That will likely cause provider rejection and can breach provider rules. If sensitive data must be masked for privacy in your system, do it after verification, not before submission.
Frequently Asked Questions
Next steps
Use the checklists and copy examples in this guide to create the upload screens and support scripts. Test with real devices and the verification provider before releasing to users.