How to Set Up a Per Diem Policy on a Project?
Set up project-level Per Diem Policies in SmartBarrel so per diem is applied automatically on punch-in/out, tied to the right expense/cost codes, and calculated using daily, weekly, or custom rules.
Overview
Per diem in SmartBarrel is a daily or weekly allowance paid to workers for meals, lodging, and incidentals as per company policy.
With Per Diem Policies at the project level, you can:
- Define consistent per diem rules for a project
- Automatically apply per diem when workers punch in
- Tie per diem to the right expense codes and cost code.
- Handle more complex weekly or custom rate structures
If you only need a simple per diem directly on a worker profile, see:
"How do I enable worker per diem for my project?"
This article explains how to set up and manage project-level Per Diem Policies.
Before You Start
To manage per diem at the project level, you need the following permissions:
- Project Settings > Manage Per Diem – to view and manage per diem settings
- Project Settings > View And Edit Per Diem Rates – to see and edit per diem rates
- Worker > Edit – to change settings on individual workers when needed
Your company may also have a Per Diem Policy feature flag that needs to be enabled by SmartBarrel support or your CSM before you can use project policies.
Where to Configure Per Diem Policies
- Go to Projects.
- Open the project you want to configure.
- Navigate to Per Diem Policies in the project settings menu.
This page is where you create and manage all Per Diem Policies for that project and assign workers to those policies.

Step 1 – Create a Per Diem Policy
- In Project > Per Diem Policies, click Add Policy (or similar “New Policy” button).
- Give your policy a clear name (for example, “Out-of-town crew – weekly $500”) and Description.
- Setup the Policy Configuration as described below.

- Set Automatically - When enabled, Per Diem is automatically added to a worker’s shift whenever they punch into the project.
-
- Auto-Assign from Worker’s Shift Cost Codes
- Uses the Cost Code assigned to the worker’s shift and applies it to the Per Diem (cannot be overridden).
- Auto-Assign from Worker’s Shift Cost Codes
-
-
- If multiple cost codes exist, SmartBarrel uses the cost code with the most hours for the day.
- If multiple cost codes exist, SmartBarrel uses the cost code with the most hours for the day.
- Expense Code - Assign a Per Diem Expense Code for reporting and exports.
-
-
- Default Cost Code - Set a default Cost Code for Per Diem (can be overridden on the shift if needed).
-
- Minimum Hours to Qualify (NEW) - Set the minimum hours a worker must work on this project to qualify for per diem
- Minimum Hours to Qualify (NEW) - Set the minimum hours a worker must work on this project to qualify for per diem

Step 2 – Choose the Per Diem Rate Structure
Under Default Policy Rate, choose how per diem is calculated for workers assigned to this policy.
You can choose Daily, Weekly, or Custom. See examples below.

Option A – Daily Per Diem
Use this if you want a simple fixed amount per day.
- Set a Daily rate (e.g., $100/day).
- The weekly total is:
- Example:
- Daily rate = $100
-
- Worker punches in 4 days that week
-
- Weekly total = $400
- Weekly total = $400
Option B – Weekly Per Diem
Use this if you want a fixed weekly amount regardless of how many days the worker punches in.
- Set a Weekly rate (e.g., $500/week).
- SmartBarrel automatically backs into an effective “per-day” amount based on the number of days worked, but the weekly total stays the same.
- Example (weekly rate = $500):
- Work 1 day → $500 total ($500/day effective)
-
- Work 4 days → $500 total (~$125/day effective)
-
- Work 5 days → $500 total ($100/day effective)
- In all cases, total weekly per diem = $500.
Option C – Custom Weekly Per Diem
Use this when your per diem changes based on how many days are worked in the week (for example, to include weekend coverage even if workers only work weekdays).
- Define a total weekly amount for each number of days worked (1–7 days).
- SmartBarrel automatically calculates the correct daily rate so the total per week matches your setup.
- Example:
- Days 1–4: Worker effectively earns $100/day
-
- On day 5: Total weekly per diem jumps to $700 (to include weekend)
-
- SmartBarrel adjusts the effective daily rate so that by the end of day 5, the total per diem equals $700.
- This lets you mirror more complex internal policies without manual calculations.
Step 3 – Assign Workers to the Policy
Once the policy is configured, you need to assign workers to it.

In the Workers – Manage section of the policy:
- Search or filter to find the workers you want to add.
- Add them to the policy.
Key points:
- A worker can only belong to one Per Diem Policy at a time on a project.
- The Autoperdiem column indicates if a worker can be reassigned to another policy based on eligibility rules.
- The Rate column indicates if the worker is getting the policy’s Default Policy Rate or a Custom rate that overrides the policy’s.

Use project-level policies for your standard, repeatable rules. For unusual cases or exceptions, you can still configure per diem directly on individual project workers.
How Per Diem Entries Are Created on Shifts
Once your policies and assignments are in place, per diem entries can appear on a worker’s shift in three ways:
- Automation
- If Set Automatically is enabled (via project policy or project worker settings), per diem is automatically added to the shift when a worker punches into the project and meets the qualifying rules.
- Manual
- You can manually add per diem entries from:
Project Overview → Timesheets → Expenses tab.
- You can manually add per diem entries from:
- SMS Response
- If you have configured SMS per diem messages under Project Settings → Worker SMS Services, workers can respond “Yes” to confirm per diem via SMS.
-
- Do not recommend to have both Automation and SMS Response active at the same time.

Reviewing and Confirming Per Diem
Regardless of how the per diem is added (automatic, manual, or SMS), a reviewer should:
- Review the quantity (number of per diem units/“days” applied).
- Confirm or set the Cost Code for the per diem (if not already auto-assigned).
- Verify the dollar amount is correct.
- Confirm the expense.
Note: A project can be configured to require all expenses to be confirmed be approving a worker’s shift. This setting is under Project/Shift Approval Settings > Expense Confirmation Requirements > Confirm All Expenses

Where Per Diem Appears in Reports
Per diem shows up across several standard SmartBarrel reports (often as optional columns you can turn on via Show Columns).
Examples include:
Payroll category
- Company Weekly Timesheet – Per Diem Rate, Per Diem Amount, and Per Diem Eligibility.
- Daily Project Timesheet – Per Diem Eligibility (and Per Diem amount when enabled).
- Payroll Detailed Enhanced – Per Diem QTY, Per Diem Rate, Per Diem Amount, and Wages (as optional columns).
- Worker Timesheet – Total Per Diem in the PDF worker summary.
Operations category
- Daily Company Timesheet – “Perdiem Elegibility” column (optional).
- Daily Report – “Perdiem Elegibility” column (optional).
Subcontractor category
- Classification Billing Timesheet – Per Diem Rate, Per Diem Eligibility, Per Diem Amount.
- Company Weekly Payment – Per Diem and Per Diem Breakout (optional).
- Invoice Calculator – Per Diem and Total Per Diem columns (always present).
Integrations
- Smart Labor Import – includes a Per Diem column.
If you use custom reports, they may need to be updated to fully support the new Per Diem Policy configuration. Your CSM or support team can help confirm this before you roll out policies widely.
When to Use Which Per Diem Setup
- Project-level Per Diem Policies
- Best for: Most customers
-
- Use when you want consistent, automated rules for many workers on a project.
- Use when you want consistent, automated rules for many workers on a project.
- Project Worker-level Per Diem
- Best for: Exceptions
-
- Use when only a few workers need special rates or rules that differ from the main policy.
- Use when only a few workers need special rates or rules that differ from the main policy.
- Worker Profile-level Per Diem
- Best for: Very simple setups
-
- Per diem must be manually added to shifts and cannot use expense codes or default cost codes.
- Per diem must be manually added to shifts and cannot use expense codes or default cost codes.