Give bonus to contractors
Step-by-step guide to adding bonus payments to contractor invoices
Overview
This guide walks you through the complete process of paying a bonus to a contractor using the invoice adjustments API. You will learn how to create, review, and track a bonus payment from start to finish.
When to use this workflow
Use this workflow when you need to:
- Reward contractors for exceptional performance
- Pay project completion bonuses
- Add end-of-year or holiday bonuses
- Include sales or performance-based incentives
- Compensate for work delivered ahead of schedule
Prerequisites
Before you begin, ensure you have:
- A valid API token with
invoice-adjustments:writescope - The
contract_idof the contractor receiving the bonus - The bonus amount and reason for payment
Bonus payments are tied to payment cycles. Make sure the contract has an active payment cycle when creating the adjustment.
Step-by-step workflow
This example demonstrates paying a $1,500 performance bonus to a contractor who exceeded quarterly targets.
Identify the contract
First, retrieve the contract ID if you don’t already have it. You can list contracts and filter by worker email or external ID.
Response:
Save the id field - this is your contract_id.
Create the bonus adjustment
Create the bonus adjustment with a clear description explaining why the bonus is being paid.
Always include specific details in the description. This helps with approval tracking and provides context for the contractor and finance teams.
Response:
The adjustment is now created with a pending status, waiting for review and approval.
Verify the adjustment
Check that the adjustment was created correctly by retrieving its details.
Response:
The adjustment is associated with the correct contract and payment cycle.
Approve the bonus
Review and approve the bonus adjustment. This step moves it from pending to approved status.
The reason field is optional but recommended. It creates an audit trail and helps explain
approval decisions.
Response:
Alternative: Auto-approved bonus
For pre-authorized bonuses or recurring bonus programs, you can skip the manual approval step by using auto-approval.
Create and auto-approve in one step
Response:
The adjustment is created with approved status immediately, bypassing the manual review workflow.
Only use auto-approval for bonuses that have already been authorized or are part of a standard program. Manual review provides an important control point for ad-hoc or large bonus payments.
Adding supporting documentation
For bonuses based on performance metrics or contract terms, attach supporting documentation.
Create bonus with performance report
The attached document will be available to reviewers and will be linked to the adjustment for audit purposes.
Handling recurring bonuses
For bonuses that repeat every payment cycle, such as monthly sales commissions or standard performance incentives, use recurring adjustments.
Create recurring monthly bonus
This creates a recurring rule that automatically generates a new bonus adjustment for each payment cycle.
Recurring adjustments continue until you delete them. Each cycle creates a new adjustment with a unique ID that can be reviewed independently.
Stop recurring bonus
When the recurring bonus is no longer needed, delete the original adjustment to stop future occurrences.
Common scenarios
Scenario 1: Year-end bonus for all contractors
If you need to pay bonuses to multiple contractors, create separate adjustments for each contract.
Automate this process by iterating through your contractor list and creating adjustments programmatically. Use batch processing to handle large numbers of contractors efficiently.
Scenario 2: Tiered performance bonus
For bonuses based on performance tiers, calculate the amount before creating the adjustment.
Scenario 3: Correcting a bonus amount
If you need to correct a bonus amount before it is paid, update the pending adjustment.
You can only update adjustments in pending status. Once approved or paid, adjustments cannot
be modified. If you need to correct an approved adjustment, create a new adjustment with the
difference amount.
Tracking bonus payments
List all bonuses for a contractor
Retrieve all bonus adjustments for a specific contract to track historical payments.
List bonuses by status
Filter bonuses by status to see what is pending approval or already paid.
List bonuses by date range
Track bonuses paid within a specific time period for reporting purposes.
Best practices
Clear descriptions
Always include:
- The reason for the bonus (performance, completion, sales, etc.)
- The time period or achievement being rewarded
- Any relevant metrics or benchmarks met
Good examples:
- “Q4 2025 performance bonus - exceeded sales targets by 140%”
- “Project completion bonus - delivered MVP 3 weeks ahead of schedule”
- “Annual loyalty bonus - 2 years of exceptional service”
Bad examples:
- “Bonus”
- “Extra payment”
- “Additional compensation”
Timing considerations
- Create bonuses early in the payment cycle to ensure they appear on the current invoice
- Late submissions may roll over to the next payment cycle
- Check payment cycle dates before creating adjustments
Documentation
- Attach performance reports, project completion documents, or contract references
- Keep records of approval decisions for compliance and audit purposes
- Document the bonus calculation methodology for recurring programs
Approval workflow
- Use manual approval for one-time or large bonuses
- Use auto-approval only for pre-authorized standard bonuses
- Assign appropriate reviewers with authority to approve bonus payments
- Include clear approval reasons for audit trails
Troubleshooting
Bonus not appearing on the invoice
Check that the bonus is approved and that the payment cycle includes the submission date. If the invoice has already been generated, the bonus will appear on the next invoice.
Cannot update bonus amount
Bonuses can only be updated while in pending status. If already approved, you must create a
new adjustment for the difference amount or decline the original and create a new one.
Recurring bonus creating duplicate payments
Each recurring cycle creates a new adjustment. If you see duplicates, check if multiple recurring rules were created. Delete extra rules to stop duplicate generation.
Bonus paid in wrong currency
Bonuses use the contract currency and cannot be changed. If you need to pay in a different currency, use off-cycle payments instead of invoice adjustments.
Contractor did not receive bonus notification
Notifications are sent when the invoice is generated, not when the adjustment is created. Check the invoice generation date and ensure the adjustment was approved before that date.
Next steps
- Review the complete invoice adjustments documentation for other adjustment types
- Learn about off-cycle payments for immediate payments outside the regular cycle
- Set up webhooks to monitor adjustment status changes automatically
- Explore contractor contract creation to understand payment structures