Start form
Vendor onboarding
Filled in by whoever starts the process
Finance package
Screen new vendors for sanctions, registry and adverse media, tier the risk, review and verify bank details, then create the vendor in the ERP.
About this package
Vendor onboarding with KYC is a controlled path for adding a supplier. Procurement fills in the start form with the vendor's legal name, registration number, country, website, bank account, contact email, spend category and expected annual spend.
The workflow reads the country rating from the Country risk table and sends the company to your KYC screening service for sanctions, registry and adverse-media checks. The Vendor risk tier decision table turns the results and the expected spend into a tier (low, medium, high or blocked), the approvals needed and when to re-screen. Blocked vendors stop with an email to the requester. Medium and high risk vendors go to a compliance review, which can approve, approve with conditions or reject.
Every approved vendor then goes to finance to verify the bank account by calling a number from an independent source; the step repeats until the call-back is recorded. The vendor is created in the ERP with its tier and re-screen date, and the vendor contact gets a welcome email. Adapt the country ratings, the tier rules and the two API calls to your providers.
Starts from a form: procurement fills in the vendor details (Run dialog in the app, or your supplier request page posting to the start API).
Someone fills in a form to start it: the workflow inputs are the start form (Run dialog in the app, or your own portal posting to the API), and people complete User Task forms along the way.
The flow
Vendor requested
Procurement enters the legal name, registration number, country, website, bank account, contact, spend category and expected spend.
Screen the company
The country rating comes from the Country risk table; the KYC service checks sanctions, the registry and adverse media and returns a score.
Set the risk tier
The Vendor risk tier decision table returns low, medium, high or blocked, the approvals needed and the re-screen interval.
Compliance review
Medium and high risk vendors are reviewed: approve, approve with conditions or reject. Blocked vendors stop here.
Verify the bank account
Finance confirms the account by call-back on an independently sourced number; the step repeats until it is confirmed.
Create the vendor
The vendor is created in the ERP with its tier and re-screen date and the vendor contact gets a welcome email.
Forms
The workflow inputs are the start form: the Run dialog renders them, and your own portal can post the same fields. User Tasks show their fields and outcome buttons to the assignee.
Start form
Filled in by whoever starts the process
User Task
Review vendor {{legal_name}} ({{risk_tier}} risk, score {{risk_score}})
User Task
Verify bank details: {{legal_name}}
From your code
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{"legal_name":"Harbourline Logistics Limited","registration_number":"5123987","country":"NZ","website":"https://harbourline.example.com","iban":"NZ12-3456-7890123-00","contact_email":"accounts@harbourline.example.com","contact_phone":"+64 9 555 0142","spend_category":"Logistics","expected_annual_spend":120000,"requester_email":"casey.ng@example.com"}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input legal_name="Harbourline Logistics Limited" --input registration_number=5123987 --input country=NZ --input website=https://harbourline.example.com … --waitInbound webhook
usertasks webhooks create <workflow id> # prints the hook slug and secret once
curl -X POST "$USERTASKS_URL/api/webhooks/inbound?hook=<slug>" \
-H "Authorization: Bearer <webhook secret>" -H "Content-Type: application/json" \
-d '{"legal_name":"Harbourline Logistics Limited","registration_number":"5123987","country":"NZ","website":"https://harbourline.example.com","iban":"NZ12-3456-7890123-00","contact_email":"accounts@harbourline.example.com","contact_phone":"+64 9 555 0142","spend_category":"Logistics","expected_annual_spend":120000,"requester_email":"casey.ng@example.com"}'What's included
| Type | Name | Details |
|---|---|---|
| Email template | Vendor onboarding declined | Sent to the requester when screening blocks the vendor or a reviewer declines it. |
| Email template | Vendor welcome | Sent to the vendor contact when the vendor record is live. |
| Data table | Country risk | Country risk rating used by the vendor risk tier rules. Align it with your sanctions and anti-corruption policy; unlisted countries are treated as high risk. |
| Integration | ERP | |
| Integration | KYC screening service | |
| API reference | Company checks | POST /kyc/company-checks — Screen a company: sanctions and watch lists, the company registry and adverse media, returning a combined risk score and flags. |
| API reference | Create vendor | POST /vendors — Create the vendor master record in the ERP with its verified bank account and risk tier. |
| Decision table | Vendor risk tier | 9 rules — Risk tier and the approvals a new vendor needs, from country risk, screening results and expected spend. First matching rule wins. |
| Workflow | Vendor onboarding | 25 steps — Procurement submits a new vendor; the KYC service screens it, the risk tier rules decide the approvals, compliance reviews medium and high risk vendors, finance verifies the bank account by call-back, and the vendor is created in the ERP. |
Country risk · 11 sample rows
Country codeCountryRisk ratingNotes
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Integration “ERP”Required
Integration “KYC screening service”Required
Workflow “Vendor onboarding” assigneesRequired
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/vendor-onboarding-kyc-1.0.0.utpkg
usertasks packages inspect vendor-onboarding-kyc-1.0.0.utpkg # offline: checksum, hashes, signature
usertasks packages install vendor-onboarding-kyc-1.0.0.utpkg --dry-run
usertasks packages install vendor-onboarding-kyc-1.0.0.utpkg # prompts for each requirement
usertasks packages install vendor-onboarding-kyc-1.0.0.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete vendor-onboarding-kyc -f values.yamlVerify the download
shasum -a 256 vendor-onboarding-kyc-1.0.0.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
Finance
Employees submit a claim from a form; category limits and an approval policy route it, and approved claims are queued for reimbursement.
Needs:REST APIAssigneesEmail
Finance
Requesters submit a requisition; the purchasing policy sets approvals and quotes, and approved requests become a purchase order sent to the supplier.
Needs:REST APIAssigneesEmail
Finance
Match each incoming invoice to its purchase order and goods receipts, pay matches within tolerance and route exceptions to accounts payable.
Needs:REST APIAssigneesInbound webhook