Intercompany Assignments & Billing
Manage employees who work at a different company than their employer, and handle cross-company cost recharges
When your group has multiple companies, employees sometimes work at a location that belongs to a different entity than the one that hired them. Hopshift's intercompany feature handles this: the employee stays on their employer's payroll, but the company where they physically work is billed for the cost. This guide explains how to set up assignments, how payroll and clock-in behave, and how to manage the billing workflow.
What is an Intercompany Assignment?
An intercompany assignment is a formal record that says:
- Paid by (source company): The entity that hired the employee and runs their payroll.
- Works at (host company): The entity where the employee physically works day to day.
The source company pays the employee as part of its normal payroll. After finalization, Hopshift automatically generates a recharge record so the host company is billed for the employee's cost. This keeps payroll simple (one company pays) while ensuring the right entity bears the economic cost.
Common scenarios:
| Scenario | Example |
|---|---|
| Secondment | A chef from Restaurant A is sent to Restaurant B for three months to help with a new menu launch |
| Staff rotation | An employee rotates between two outlets on a regular schedule |
| Shared services | A finance team member is employed by HQ but works at a subsidiary |
An intercompany assignment is temporary or ongoing. The employee keeps a single employee record at their source company. For permanent moves where the employee changes employer, use an Employee Transfer instead.
Setting Up an Intercompany Assignment
Where to find it
In the group sidebar, under the Payroll section, click Intercompany. The page is titled Intercompany Assignments. It appears only when the group has more than one company, and only for group admins or users with the intercompany permission.
Creating an assignment
- Click Add Assignment. The Add Interco Assignment dialog opens.
- Fill in the assignment details:
| Field | Description |
|---|---|
| Employee | Type a name, company, or position to search. Once chosen, the dialog shows Paid by: [company] (the employee's payroll company). |
| Works at (host outlet) | The company where they will work |
| Start date | The date the assignment starts |
| End date | Optional. Leave blank for open-ended assignments. |
| Notes | Optional free text |
- Click Add Assignment. The assignment is now active and appears in the table (Employee, Paid by, Works at, From, Until). Use the Active and Ended tabs above the table to switch between current and past assignments.
Assignments created from the group Intercompany page always bill at Actual Cost. Fixed rate and cost-plus billing are set up from the company Interco Billing page (see below).
Cost basis options (Interco Billing page)
Each company has an Interco Billing page at /{group}/{company}/payroll/intercompany. Its Assignments tab has a New Assignment form ("Create Intercompany Assignment") for a completed secondment transfer, where you can choose how the host company is billed:
| Cost Basis | How it works |
|---|---|
| Actual Cost | The host is charged the exact payroll cost: base pay, overtime, allowances, and employer contributions (SSO). This is the default and the most common option. |
| Fixed Rate | A fixed monthly amount regardless of the employee's actual pay. Prorated automatically if the assignment starts or ends mid-month. |
| Cost + Markup | The actual payroll cost multiplied by a markup percentage. For example, actual cost + 10% to cover administrative overhead. |
On that form you can also choose which pay components are included in the recharge: basic pay, overtime, allowances, bonuses, and employer contributions. By default, all components are included.
Only one intercompany assignment can be active per employee at any time. To change an employee's host company, end the current assignment first, then create a new one.
Terminating an employee ends their active intercompany assignment on the termination date.
How Clock-In Works for Intercompany Employees
When an employee is on an intercompany assignment:
- They clock in at the host company's kiosk using their normal clock code.
- The system automatically recognizes the employee via their active intercompany assignment and records the clock entry under the host company.
- The employee does not need a separate account or clock code at the host company.
This means the host company's attendance records accurately reflect who is physically present, while the employee's payroll remains with their source company.
How Payroll Works
Intercompany assignments do not change where payroll is run. The process stays simple:
- The employee appears in the source company's payroll run (their employer).
- Payroll is calculated and paid by the source company as normal, including all earnings, deductions, tax withholding, and SSO contributions.
- When the payroll run is finalized, Hopshift automatically generates intercompany recharge records for every employee with an active assignment.
The recharge record captures the employee's full cost breakdown for that pay period and attributes it to the host company. No manual steps are needed during payroll.
Recharges are created automatically when the source company finalizes payroll. If recharge generation fails, payroll still finalizes; check the Billing tab afterwards.
If an assignment starts or ends mid-period, the recharge is prorated automatically based on the number of days the assignment was active during the pay period.
The Billing Workflow
After payroll finalization, intercompany recharges (called Billing in the app) follow a status workflow:
Status flow
| Status | Meaning |
|---|---|
| Draft | Recharge record was created automatically on payroll finalization. Ready for review. |
| Confirmed | An admin has reviewed the recharge and confirmed the amounts are correct. |
| Invoiced | An invoice has been issued to the host company. |
| Settled | Payment has been received and the recharge is closed. |
| Disputed | The host company has raised a dispute; a reason is recorded. |
| Cancelled | The recharge was cancelled. |
The Interco Billing page
Open the company's Interco Billing page (/{group}/{company}/payroll/intercompany). It has two tabs, Assignments and Billing, and summary cards for Active Assignments, Pending Bills and Outstanding Balance. The Billing tab lists each recharge with its status, amount and pay period. Click View Details on a row to see the line-item breakdown for each employee:
| Line item | Description |
|---|---|
| Basic Pay | The employee's base salary or hourly earnings for the period |
| Overtime | Overtime pay included in the recharge |
| Allowances | Housing, transport, meal, and other allowances |
| Bonuses | Bonus pay included in the recharge |
| Employer Contributions | Employer-side SSO contributions |
| Actual Cost / Markup / Billing Amount | The cost total, any markup, and the amount billed |
| Proration | The share of the period the assignment was active |
Advancing the status
To move a recharge forward:
- Open the recharge detail page.
- Review the line items and totals.
- Click the appropriate action button: Confirm, Mark as Invoiced (enter the invoice number and due date), Record Settlement (enter the settlement reference), or Dispute (enter the reason).
Each status change is logged with a timestamp and the user who performed it.
Balance Matrix
Click Intercompany Balance on the Interco Billing page to open the balance matrix: a summary grid of which companies owe what to each other across all open recharges. This gives you a quick overview of net intercompany balances across the group.
Exporting
Click Export CSV on a recharge detail page to download its line items for your accounting system.
Ending an Assignment
To end an intercompany assignment:
- Go to Intercompany in the group sidebar and find the assignment in the Active tab.
- Click End on the row. The assignment ends today and moves to the Ended tab.
From that date onward, the employee will no longer be recognized at the host company's kiosk, and no further recharges will be generated. Historical recharge records are preserved.
If you need to end an assignment on a specific past or future date, open the employee's profile, go to Employment, and use End assignment on the Intercompany Billing card, which asks for an Effective to date.
Intercompany Assignments vs. Employee Transfers
These two features serve different purposes. Choosing the right one matters:
| Intercompany Assignment | Employee Transfer | |
|---|---|---|
| Purpose | Employee works at another company temporarily or on an ongoing basis | Employee permanently moves to a new company |
| Employee records | One record. Employee stays at source company. | Two records. Old record is terminated, new record is created at the destination. |
| Payroll | Source company runs payroll. Host is billed via recharges. | New company runs payroll going forward. |
| Best for | Secondments, rotations, shared staff | Permanent relocations, organizational restructuring |
| Reversible? | Yes, end the assignment at any time | Only while no finalized payroll at the destination includes the employee |
If you are unsure which to use: if the employee will return to their original company or is splitting time between locations, use an intercompany assignment. If the move is permanent and the employee's employer is changing, use a transfer.
Frequently Asked Questions
Can an employee be assigned to more than one host company at the same time?
No. Only one intercompany assignment can be active per employee. To move them to a different host company, end the current assignment and create a new one.
What happens if I forget to end an assignment?
Recharges will continue to be generated each time the source company finalizes payroll. Review your active assignments periodically to ensure they are still current.
Can I edit a recharge after it is generated?
No. Recharge amounts are calculated from the finalized payroll data and cannot be manually edited. If the payroll figures were wrong, you will need to address the payroll data first and regenerate.
Do intercompany employees appear in the host company's reports?
Clock-in and attendance records are stored under the host company. Payroll reports show the employee under the source company. The Interco Billing page bridges the two views.
Who can manage intercompany assignments?
Group admins, and users who have been given the intercompany permission.