Skip to content
All guides

Timecard CSV formats: what each payroll provider expects

7 minute read

Every payroll provider takes hours as a CSV, and no two of them take the same CSV. The differences are not cosmetic: they disagree on how a time of day is written, on whether a meal break is a duration or a pair of punches, and on who computes the overtime split. Here is what each one asks for.

Why the layouts differ at all

A payroll provider is not reading your timecard for its own sake. It is loading rows into a pay engine that already knows the contract, the union agreement and the account coding for the production. The CSV is the narrow part of that pipe, so each provider shaped it around whatever its engine needs first.

That produces three real splits. Time of day is written as military time by some and as ordinary punches by others. A meal break is captured as a duration in minutes by some and as an out-and-in pair by others, which is the difference between recording that a crew member took thirty minutes and recording exactly when. Overtime is computed by the provider in one case and expected pre-split in another.

The layouts side by side

These are the exact columns Breadshift writes for each provider, read from the export code itself:

Wrapbook hours import

Wrapbook's digital-timecard upload. Includes SSN4, loan-out FEIN, kit fees, and meal penalties.

19 columns

  1. Project Code
  2. Employee Email
  3. Employee Name
  4. SSN Last 4
  5. Loan-Out Company
  6. FEIN Last 4
  7. Department
  8. Position
  9. Union
  10. Work Date
  11. Call
  12. Wrap
  13. Meal 1 (min)
  14. Meal 2 (min)
  15. Hours Worked
  16. Rate Type
  17. Rate
  18. Kit Fee
  19. Notes

Cast & Crew Start+ / Hours+

Cast & Crew's Hours+ digital timecard import. Times in tenths of an hour, with project + account-number coding.

20 columns

  1. Project Number
  2. Account Number
  3. Employee ID (SSN4)
  4. Employee Name
  5. Loan-Out Co.
  6. Loan-Out FEIN Last 4
  7. Union Local
  8. Union ID
  9. Occupation Code
  10. Day Type
  11. Work Date
  12. Call (Military)
  13. Meal 1 Out (min)
  14. Meal 2 Out (min)
  15. Wrap (Military)
  16. Hours (Decimal)
  17. Rate
  18. Rate Basis
  19. Box Rental
  20. Comments

Entertainment Partners SmartTime / Hours+

EP SmartTime + Hours+ digital timecard layout. Six-punch times, guarantee + box-kit columns.

23 columns

  1. EP Project ID
  2. Account
  3. Employee SSN4
  4. Employee Name
  5. Loan-Out Co.
  6. Loan-Out FEIN4
  7. Union Local
  8. Union Card #
  9. Occupation
  10. Day Type
  11. Work Date
  12. In
  13. Meal 1 Out
  14. Meal 1 In
  15. Meal 2 Out
  16. Meal 2 In
  17. Out
  18. Worked Hrs
  19. Guarantee Type
  20. Rate
  21. Box Kit
  22. Mileage
  23. Notes

GreenSlate timecard import

GreenSlate's accounting-side CSV import. Straight-time hours; payroll house computes OT splits on ingest.

23 columns

  1. Project
  2. Account
  3. Employee
  4. SSN4
  5. Loan-Out Company
  6. FEIN4
  7. Union
  8. Union ID
  9. Position
  10. Day Type
  11. Date
  12. In
  13. Meal 1 Min
  14. Meal 2 Min
  15. Wrap
  16. ST Hours
  17. OT 1.5x
  18. OT 2x
  19. Rate Type
  20. Rate
  21. Box Rental
  22. Mileage
  23. Notes

Generic (wide)

Universal columns covering every payroll-adjacent field. Use this if your provider isn't listed.

31 columns

  1. Work date
  2. Production
  3. Project code
  4. Week ending
  5. Crew name
  6. Crew email
  7. SSN last 4
  8. FEIN last 4
  9. Loan-out (Y/N)
  10. Loan-out company
  11. W-9 on file (Y/N)
  12. I-9 on file (Y/N)
  13. Department
  14. Position
  15. Classification
  16. Cost center
  17. Union
  18. Union member ID
  19. Pay rate kind
  20. Pay rate ($)
  21. Kit fee daily ($)
  22. Call
  23. Wrap
  24. Wraps next day (Y/N)
  25. Meal 1 minutes
  26. Meal 2 minutes
  27. Meal late (Y/N)
  28. Hours worked
  29. Mileage miles
  30. Status
  31. Notes

Where they diverge

ProviderTime notationMealsOvertime
WrapbookCall and wrap as writtenDuration in minutes, two mealsProvider computes
Cast & Crew Start+ / Hours+Military timeMeal out in minutes, two mealsProvider computes from decimal hours
Entertainment Partners SmartTimeSix punches (in, two meal pairs, out)Out and in punches, two mealsProvider computes from worked hours
GreenSlateIn and wrapDuration in minutes, two mealsYou supply the split: ST, 1.5x, 2x

GreenSlate is the outlier worth planning for. Its import carries separate straight-time, time-and-a-half and double-time columns, so something upstream has to decide where the boundaries fall. Cast & Crew takes hours as a decimal, which means a wrap at 18:45 has to become 0.75 of an hour before it reaches the file rather than after.

EP asks for six punches rather than two. If your crew only ever record call and wrap, the meal punches have to be reconstructed from a duration, and a reconstruction is a guess about when the break started.

What every one of them wants

Despite the differences, four groups of field appear in all of them:

  • Project coding. A project number or code, and for three of the four an account or cost code alongside it. This is how the cost lands in the right budget line.
  • Identity, partially masked. Last four of the SSN, and for a loan-out the company name plus the last four of its FEIN. Full numbers are not in the file.
  • Union classification. Local and member ID, plus an occupation or position code. Dues and rate floors hang off this.
  • Rate basis. The rate itself is not enough; the provider needs to know whether it is daily, hourly or weekly, and whether a kit or box rental rides alongside it.

What makes an import bounce

In practice the rejections cluster:

  • A missing project or account code, which the provider cannot infer.
  • A loan-out marked yes with no FEIN, or a FEIN with no company name.
  • A union member with a local but no ID, or an ID with no local.
  • A wrap time earlier than the call time, which is a post-midnight wrap recorded without the day it belongs to.
  • A rate with no basis, which the engine will not assume.

The post-midnight case is the one that quietly produces wrong pay rather than a rejection. A wrap at 02:10 belongs to the previous work date, and a system that stores wrap as a bare time on the same date will read it as a negative day or a two-hour one, depending on how the arithmetic falls.

How Breadshift handles it

The five layouts above are built in, and the export screen checks the rows before it writes the file: it lists the fields a given provider needs that are missing, and how many rows are affected, so the gaps are visible before the accountant is the one to find them.

If your provider is not one of the four, the generic layout carries every payroll-adjacent field the app holds, which is usually a superset of what an unlisted provider or an accountant asks for.

Questions

Can I just send a spreadsheet?
Yes, and plenty of productions do. The generic layout exists for exactly that. The named layouts save the step where someone rearranges columns by hand every week, which is also the step where a column ends up shifted by one.
Who computes the overtime?
The payroll provider, in three of the four cases. GreenSlate expects the straight-time and overtime split to arrive already made. Breadshift does not compute pay in either case; it supplies the hours and the classification the provider computes from.
Are full Social Security numbers in the export?
No. The layouts take the last four digits, and the same is true of a loan-out FEIN. That is what the providers ask for.

See it on a real production

The demo runs the whole product in your browser against a seeded production. Sign in as a producer, a department head, an accountant or a crew member. No signup.