Accept Quote
After creating an EOR contract, the contract must be signed by three parties to become legally valid. This guide explains the signature workflow and how to sign the contract between your organization and Deel.
Overview
EOR contracts involve two separate agreements:
- Client-Deel Contract - Between your organization and Deel, establishing employment costs and responsibilities
- Employment Agreement - Between Deel (as employer of record) and the worker, formalizing employment terms
This guide focuses on the Client-Deel Contract and the three-party signature process.
Three-Party Signature Flow
The contract requires signatures in this sequence:
- Deel signs - Deel reviews and signs the contract (automatic or within 24 hours)
- Your organization signs - You accept the quote and sign via API
- Worker signs - Worker completes onboarding and signs the employment agreement
Step 1: Deel Signs the Contract
After you create the contract, Deel reviews it, issues a cost quote, and signs the contract.
Automatic Signature:
- Available in select countries with validated job scopes
- Contract is signed immediately after creation
- Status changes from
under_reviewtowaiting_for_client_sign
Manual Signature:
- Required when automatic signature is unavailable
- Takes up to 24 hours to review and sign
- You’ll be notified when ready for your signature
Automatic signature depends on country-specific requirements and job scope validation. If you used a pre-validated job scope template or validation ID, the contract is more likely to be signed automatically.
Check Contract Status
Monitor the contract status to know when it’s ready for your signature.
API Endpoint: GET /eor/contracts/{contract_id}/details
Status Values:
under_review- Deel is reviewing and preparing to signwaiting_for_client_sign- ✅ Ready for your signaturewaiting_for_employee_contract- Waiting for worker onboardingactive- Fully signed and active
Step 2: Review the Quote
Before signing, review the cost quote to ensure it matches your expectations.
Quote Breakdown:
- Salary - Monthly salary for the employee
- Benefits - Cost of selected benefits (health, pension, etc.)
- Employer Costs - Taxes and statutory contributions
- Deel Fee - Deel’s service fee
- Total Monthly Cost - Sum of all costs
The quote is included in the contract details response from Step 1.
Step 3: Sign the Contract
Once the status is waiting_for_client_sign and you’ve reviewed the quote, sign the contract to proceed.
API Endpoint: POST /contracts/{contract_id}/signatures
Request Parameters:
If you want to use a custom employee agreement template instead of the default, include the contract_template_id. You can retrieve available templates from the contract templates endpoint. Custom templates can only be created from the Deel UI.
After Signing:
- Contract status changes to
waiting_for_employee_contract - Deel prepares the employee agreement
- Worker receives a welcome email to begin onboarding
Step 4: Worker Onboarding Begins
After you sign the contract, Deel sends a welcome email to the worker with instructions to:
- Sign up to the Deel platform
- Complete identity verification (KYC)
- Provide banking and tax information
- Review and sign the employment agreement
The worker must complete onboarding before the employment agreement can be signed and the contract becomes active.
See the Worker Onboarding guide for detailed information about the worker’s onboarding process.
Best Practices
- Use webhooks instead of polling - More efficient and provides real-time updates
- Review quotes carefully - Verify total costs match your budget before signing
- Store contract IDs - Keep a record of contract IDs for future amendments or queries
- Set up notifications - Alert your finance team when contracts are ready for signature
- Automate where appropriate - For standard contracts within budget, consider auto-signing
- Track signature timestamps - Monitor how long contracts spend in each status
- Handle errors gracefully - Implement retry logic for failed signature attempts
Troubleshooting
Contract Stuck in under_review
If a contract remains in under_review for more than 24 hours:
- Check if the job scope requires manual validation
- Verify all required fields were provided during contract creation
- Contact Deel support with the contract ID
Signature Request Fails
Common reasons for signature failures:
- Contract is not in
waiting_for_client_signstatus - Invalid contract ID
- Missing required signature name
- Invalid template ID (if using custom templates)
Worker Not Receiving Onboarding Email
After signing:
- Verify the worker’s email address in the contract
- Check spam/junk folders
- Allow up to 30 minutes for email delivery
- Contact Deel support if the email doesn’t arrive
Next Steps
- Set up Webhooks for contract status updates