Vendor Prequalification
Vendor prequalification helps your organization assess suppliers before they receive high-value work. Waqti ties together questionnaire templates, per-vendor prequalification records, document uploads, scoring, review and approval, and a parallel certifications ledger on the vendor profile.
Feature availability
The dashboard and start flows require the tenant feature vendor_prequalification. Without it, requests return 403 with a feature-unavailable message. Confirm with your administrator that your subscription or tenant flags include this module.
Dashboard (index)
The prequalification home shows:
- A paginated list of prequalification records with vendor, template, reviewer, and status (filterable by status query).
- A summary from
VendorPrequalificationService::getSummary. - Expiring soon (default 30 days) with vendor name, valid_until, and days_remaining.
Permissions
- Review — Owners, tenant administrators, or users with
review_prequalificationspermission. - Manage templates — Owners or tenant administrators only.
Templates
Templates define the questionnaire: name, description, ordered questions (structure stored per template), and a passing_score used when computing results.
Administrators manage templates from the Templates screen (templates action). Templates are listed in pages of 10, ordered by name. Starting a prequalification without a resolved template results in a 404 “template not found” on the fill screen—always pick or default a template when starting.
Starting prequalification
From a vendor context, start creates a new prequalification via startPrequalification($vendor, $template). You may pass template_id on the query string; otherwise the service applies its default resolution. After start, you are redirected to fill with a success flash.
Filling the questionnaire (Fill)
The fill view loads:
- Prequalification id, status, status_label, responses (JSON), documents (JSON), score, and vendor snapshot.
- Template id, name, description, questions, passing_score.
Saving responses
Save responses accepts a responses payload (array/object). Allowed only while status is draft or rejected; other states return “Cannot modify a submitted prequalification.”
Uploading documents
Upload document requires:
- question_id — string key tying the file to a template question.
- file — required upload, max 10 MB.
The service stores the file and associates it with the prequalification’s documents collection for reviewer visibility.
Submitting for review
Submit is allowed from draft or rejected. Other states error with “Cannot submit this prequalification.” Successful submit routes back to the index with a confirmation flash; the service moves the record through submitted / under-review states per business rules.
Review and decision (Review)
Reviewers see the same responses and documents plus submitted_at and any reviewer_notes.
Approve
Approve validates:
- notes — optional, max 1000 characters.
- validity_months — required integer 1–36 (approval validity window).
review(..., true, approverId, notes, validityMonths) records approval and sets validity on the vendor record per service logic.
Reject
Reject requires notes (mandatory, max 1000 characters). The service records rejection and returns the vendor to a path where they may edit and resubmit (draft/rejected fill permissions).
Only owners and tenant administrators may approve in the default UI gate (can.approve for statuses submitted or under_review).
Vendor certifications
Certifications are per vendor records tracked separately from the questionnaire.
Listing
The certifications screen lists entries ordered by expiry_date with:
- Name, certificate number, issuing authority
- Issue and expiry dates
- document_path when a file was stored
- Flags: is_verified, is_expired, is_expiring_soon, days_until_expiry
Add certification
Add accepts:
- name (required)
- Optional certificate number, authority, issue date, expiry date (expiry after issue when both set)
- Optional document upload (max 5 MB)
Verify certification
Verify certification marks a VendorCertification as verified via verifyCertification($certification, auth id)—use this after manual checks against the issuing authority or document.
Status reference (prequalification)
| Status | Meaning |
|---|---|
| draft | Being completed by the vendor side / requester. |
| submitted | Waiting in queue for review. |
| under_review | Actively being assessed. |
| approved | Passed; subject to valid_until / expiry rules. |
| rejected | Failed; may revise and resubmit when allowed. |
| expired | Validity lapsed; renew per process. |
Operational tips
- Align template questions with legal, HSE, and finance policies before inviting vendors.
- Use question-bound uploads so reviewers know which evidence supports which requirement.
- Track certifications for ISO, chamber of commerce, or trade licenses separately from the questionnaire for quick expiry reporting.
- Combine dashboard expiring soon with certification is_expiring_soon to plan renewals.
Related topics
- Vendors — master vendor records and onboarding.
- Purchase Orders — trading after qualification.