SETU: the standard for digital timesheets in the staffing industry

The SETU standard for e-timecards: digital time reporting in the staffing industry via the Peppol network.

The SETU standard (Stichting Elektronische Transacties Uitzendbranche) enables the structured, electronic exchange of worked hours and expenses for temporary workers. Since June 2024, SETU messages are available on the Peppol network, allowing staffing agencies, hirers and subcontractors to exchange timesheets via the same infrastructure already used for e-invoices and e-orders. eConnect supports the SETU format as a certified Peppol Access Point.

In brief SETU is the Dutch standard for the digital exchange of time registrations and expenses in the staffing industry. The timecard message contains worked hours, surcharges, expenses and project information. Approved timecards form the basis for automatic invoicing.

What is the SETU standard?

SETU stands for Stichting Elektronische Transacties Uitzendbranche. The foundation develops and manages standards for electronic data exchange in the staffing and temporary employment sector. The standards describe when and what information is exchanged in the hiring process, from vacancy and selection to time reporting and invoicing.

The SETU standards were originally based on HR-XML, an international XML schema for HR-related data exchange. With version 2.0, the standard has been modernised and prepared for international use via the Peppol network.

The standard is intended exclusively for the temporary employment sector and related hiring processes. It is not a generic standard for time registration outside this domain.

The e-timecard: the digital timesheet

The core message in the SETU standard is the Timecard (also called e-timecard or digital timesheet). An e-timecard contains all the information needed to pass on worked hours and incurred expenses in a structured way from hirer to staffing agency.

What does an e-timecard contain?
DataDescriptionPersonal identification (IdValue)Unique code of the temporary workerReported hours (ReportedTime)Worked hours per day, including start and end timesHour type (TimeInterval type)Regular hours, overtime, shift workRate information (RateOrAmount)Hourly rates, surcharge percentages (multiplier)Surcharges and expenses (Allowance)Travel expenses, expense allowances and other benefitsProject information (ProjectCode)Assignment to a specific project or cost centreSubmitter and approver (SubmitterInfo, ApprovalInfo)Who submitted and approved the timecardReferences (ReferenceInformation)References to the assignment, hirer and staffing agency

Hours are typically recorded and submitted weekly. An approved timecard then directly forms the basis for creating the invoice.

Process from timecard to invoice

The hiring process includes multiple steps, with the timecard and invoice being the last:

  1. Placement (Assignment): the temporary worker is placed at the hirer's site.
  2. Time registration: the temporary worker records daily worked hours and expenses.
  3. Approval: the hirer reviews and approves the timecard.
  4. Submission: the approved timecard is sent electronically to the staffing agency.
  5. Invoicing: based on the approved timecard, the staffing agency automatically creates an invoice.

Because the hirer and staffing agency work with the same approved timecard, hours do not need to be re-entered. This reduces errors and significantly speeds up the invoicing process.

Secondary hiring (subcontracting)

In secondary hiring, a staffing agency supplies personnel from another party (the subcontractor) to the hirer. The SETU standard supports three variants for forwarding timecards in this situation:

Direct forwarding. The hirer sends the timecard to the staffing agency, which forwards it unchanged to the subcontractor. This requires additional agreements on identification codes.

Adjust and forward. The staffing agency receives the timecard, adjusts the references, rates and identification codes to match the agreement with the subcontractor and forwards the adjusted version. This is the most common variant.

Simultaneous sending. The hirer sends the timecard simultaneously to both the staffing agency and the subcontractor. Here too, additional agreements on identification are needed.

SETU messages on the Peppol network

Since June 2024, SETU messages are available on the Peppol network, thanks to a collaboration between SETU and the Dutch Peppol Authority (NPa). The following message types are supported:

Message typeVersionDescriptionTimecardv1.4Report hours and expensesAssignmentv1.4.1Exchange placement informationAssignment Statusv1.4Report placement statusStaffingOrderv1.4Staff request/orderStaffingOrder Statusv1.4Status of a staff requestHumanResourcev1.4Temporary worker dataHumanResource Statusv1.4Temporary worker status

Additionally, there is a SETU-specific invoice format: SETU Invoice v2.2, which builds on NLCIUS and contains additional fields for the staffing industry.

Tip: the complete list of supported DocumentTypeIds for SETU messages can be found in the overview of DocumentType IDs.

SETU and eConnect

eConnect supports the SETU format as part of the Procurement Service Bus (PSB). Via the PSB, SETU messages can be sent and received over the Peppol network, with the same reliability and security as e-invoices.

In concrete terms:

Sending and receiving timecards. Organisations connected to Peppol via eConnect can exchange SETU timecards with other Peppol participants. The PSB validates the message, routes it to the receiver and confirms delivery.

From timecard to invoice. An approved timecard forms the basis for automatic invoicing. The invoice can then also be sent via Peppol, in NLCIUS, BIS Billing V3 or the SETU Invoice format.

All SETU message types. In addition to the timecard, the PSB also supports the other SETU messages for placements (Assignment), staff requests (StaffingOrder) and personal data (HumanResource).

Version 1.4 versus version 2.0

The current SETU messages on the Peppol network use version 1.4, based on the HR-XML schema. Version 2.0 is under development and introduces several important changes:

Aspectv1.4v2.0BasisHR-XML 2.5Renewed information modelInternationalisationNetherlands-focusedInternationally usable (documentId, legalId, taxId)FormatXML (HR-XML schema)XML and JSON (Open API Specifications)Peppol integrationAvailable since June 2024Designed for the Peppol network

The most important change in v2.0 is the focus on internationalisation. New fields such as documentId, schemeAgencyId, legalId and taxId align with international standards and regulations. This makes the timecard suitable for use outside the Dutch staffing industry, on the international Peppol network.

Note: version 1.4 is currently the active version on the Peppol network. Migration to v2.0 is guided by SETU with a detailed mapping between both versions.

Technical details
DocumentTypeIds

SETU messages are identified on the Peppol network with specific DocumentTypeIds:

Message typeDocumentTypeIdTimecard v1.4.1http://ns.hr-xml.org/2007-04-15::TimeCard##[email protected]::2.5StaffingOrder v1.4http://ns.hr-xml.org/2007-04-15::StaffingOrder##[email protected]::2.5HumanResource v1.4http://ns.hr-xml.org/2007-04-15::HumanResource##[email protected]::2.5Assignment v1.4.1http://ns.hr-xml.org/2007-04-15::Assignment##[email protected]::2.5SETU Invoice v2.2urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:nen.nl:nlcius:v1.0#compliant#urn:fdc:setu.nl:invoice:v2.2::2.1
XML structure (Timecard v1.4)

A SETU Timecard v1.4 is an XML document based on the HR-XML schema. The key elements are:

<TimeCard xmlns="http://ns.hr-xml.org/2007-04-15">
    <Id idOwner="StaffingCustomer">
        <IdValue>TC00123456</IdValue>
    </Id>
    <ReportedResource>
        <Person>...</Person>
    </ReportedResource>
    <ReportedTime>
        <PeriodStartDate>2024-01-08</PeriodStartDate>
        <PeriodEndDate>2024-01-12</PeriodEndDate>
        <TimeInterval type="Regular" billable="true">
            <Duration>8.00</Duration>
            <RateOrAmount currency="EUR" type="hourly"
                         multiplier="100">0.00</RateOrAmount>
        </TimeInterval>
        <Allowance type="102B" billable="true">
            <Amount currency="EUR">3.50</Amount>
            <Quantity>5</Quantity>
        </Allowance>
    </ReportedTime>
    <ApprovalInfo>
        <ApprovedDateTime>2024-01-14T09:00:00</ApprovedDateTime>
    </ApprovalInfo>
</TimeCard>

The TimeInterval element contains the worked hours per part of the day, with the type (Regular, Overtime, Shift), the duration and the rate. The multiplier attribute indicates the surcharge percentage: 100 for regular hours, 150 for overtime, and so on. The Allowance element records expenses such as travel costs.

Validation

SETU provides Schematron validation files for all message types. The PSB automatically validates incoming SETU messages upon receipt. Messages that do not comply with the schema are rejected with a clear error message.

The full specifications, sample messages and validation artefacts are available at standard.setu.nl and in Semantic Treehouse.


Want to exchange SETU timecards via the Peppol network?

Get in touch