Staffing Organization
Recommendation, 2007 April 15
Editors:
Kim Bartkus, HR-XML Consortium
Contributors:
Gail Bubsey (Kelly Services ), Kim Bartkus (HR-XML Consortium), Barbara Johnson (Adecco NA), Tara Ryan (Adecco), Kazuko Sugamura (Manpower Japan), Takahiro Fujiwara (EAST Co., Ltd.), Magali Munoz (Manpower France), Bruno Alcotte (Manpower France), Rémy Bailly (Randstad), Yves Berdah (VidiorBis), Serguei Dounaevetski (Manpower France), Patrice Aranega (Adecco France)
Copyright © 2007 HR-XML Consortium, Inc.
Abstract
The HR-XML SIDES Workgroup has produced 7 major schemas and several reusable modules to allow for transmission of Staffing Industry information between trading partners. This document describes the Staffing Organization schema, its expected usage, and the business processes meant to be supported.
Table of Contents
4 Implementation Considerations
4.3 Associating Information to an Organization
5 Appendix A - Document Version History
6 Appendix B – Related Documents
Changes were made to the base SIDES specification based on feedback from the European and Japanese Chapters. If available, localized items are documented in section 4 Implementation Considerations or in individual country documentation. Refer to Appendix A - Document Version History for details.
The Staffing Organization schema is used to describe the staffing supplier (company), staffing customer, or intermediary organization.
StaffingOrganization is not required to implement the core processes enabled by SIDES. However, this schema may be useful to trading partners in setting up front or back office systems or otherwise in setting up trading partner arrangements, order routing or distribution transactions.
Also, initial implementations have revealed a desire to enable some levels of electronic payment functionality. This specification will provide improved global use of the standard, and better integration points with back office systems.
· StaffingOrganizationType with extensible enumerations of Customer, Supplier and Intermediary. This would be the primary way to distinguish the nature of the organization being sent
· A new global type called “StaffingReferenceIdInfo” that contains the full complement of SIDES related ids. It is necessary to create a new structure at the global level, to avoid conflicts with the variety of local “ReferenceInformation” elements used throughout SIDES. They will still all be EntityIdType, so ids that were established in a 1.0 environment can still be referenced.
· An include of the CPO Organization schema, which includes Worksite and WorksiteEnvironment
· PaymentInfo which is a new module based on requirements to include an organization’s banking and financial detail (depending on the business process).
· Ability to capture detailed hierarchical and organizational structure and contact information about a staffing supplier, customer or intermediary, primarily for the purpose of setup, qualification and reporting among trading partners.
· Capturing details about contractual terms and conditions between a staffing supplier and another staffing supplier, staffing customer or intermediary.
· Capturing customer-specific workflow data (approval, authorization structure, etc.)
· Capturing details about contractual terms and conditions between a staffing customer and staffing supplier or intermediary.
The following scenarios show some of the ways that the StaffingOrganization schema may be used:
· A staffing supplier may send the XML document to one or more of its own branches or subsidiaries to facilitate efficient and consistent setup in their front or back office system.
· A staffing supplier may send the XML document to an intermediary or job board to facilitate initial setup as a new trading partner.
· A staffing supplier may send the XML document to an intermediary, staffing customer or other staffing supplier to streamline the distribution of orders in need of filling.
· An intermediary may use the data from the StaffingSupplier schema to identify whom payment should be remitted to.
· A staffing supplier sends the document to one or more of its own branches or subsidiaries to facilitate efficient and consistent setup in their front or back office system.
· A staffing customer sends the document to a staffing supplier or intermediary to facilitate the quote or credit approval process.
· A staffing customer sends the document to a staffing manager (job advertising entity) as a part of a job posting document.

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
- StaffingOrganizationType
- (1/1) |
Contains information about the staffing customer, supplier, or intermediary. |
|
/
[StaffingOrganizationType] / |
- TypeOfOrganization - |
Specifies
the role or context of the organization in the transaction. |
|
/ StaffingOrganization/ |
- PaymentInfoType - S (0/*) |
A collection of information about the financial entities and accounts necessary to enable the electronic payment of one or more invoices. |
|
/ StaffingOrganization/ |
- StaffingReferenceIdType - S (0/*) |
A group of identifiers used to
reference specific HR-XML documents that relate to the transaction. |
|
/ |
xsd:restriction base: xsd:string [Enumerations]: Customer, Supplier, Intermediary |
Globally scoped data type. See element or attribute declaration for definition. |
|
/ |
- [Union]: StaffingOrganizationTypes, xStringPatternExtensionType |
Globally scoped data type. See element or attribute declaration for definition. |

|
/ StaffingOrganization/ |
- PaymentInfoType - S (0/*) |
A collection of information about the financial entities and accounts necessary to enable the electronic payment of one or more invoices. |
|
/ StaffingOrganization/
PaymentInfo/ |
- EntityIdType - S (0/1) |
Unique identifier for the organization. It may be an internal identifier assigned by the sender. |
|
/ StaffingOrganization/
PaymentInfo/ |
- EntityIdType - S (0/1) |
Unique identifier for the organizational unit. This may be an internal identifier assigned by the sender. |
|
/ StaffingOrganization/
PaymentInfo/ |
- xsd:decimal - S (0/1) |
Value Added Tax rate. Standard
tax rate applicable to most consumer goods in many Western European counties.
|
|
/ StaffingOrganization/
PaymentInfo/ |
TaxType - xsd:string - S (1/1) |
Contains information as to what taxes are being applied and how the rounding method is used in their calculation. |
|
/ StaffingOrganization/
PaymentInfo/ TaxEvaluation/ |
- xsd:string - S (1/1) |
The classification or name of the tax or the taxing entity. |
|
/ StaffingOrganization/
PaymentInfo/ TaxEvaluation/ |
- xsd:string - S (0/1) |
Describes the contextual information relating to a specific element. |
|
/ StaffingOrganization/
PaymentInfo/ TaxEvaluation/ |
- RoundingRuleType - S (0/1) |
Contains rounding requirements to round the tax evaluation. |
|
/ StaffingOrganization/
PaymentInfo/ |
Structured - [complexType] - S (0/1) |
Contains information about the terms expected for payment of a related outstanding debt. |
|
/ StaffingOrganization/
PaymentInfo/ PaymentCondition/ |
PaymentMode - xsd:string - S (1/1) |
Contains structured details about payment terms. |
|
/ StaffingOrganization/
PaymentInfo/ PaymentCondition/ Structured/ |
- xsd:string - S (1/1) |
Specifies the method of payment. |
|
/ StaffingOrganization/
PaymentInfo/ PaymentCondition/ Structured/ |
- xsd:decimal - S (1/1) |
Specifies the amount of time
allowed, generally from the invoice date, for the payment to be received
before being considered late. |
|
/ StaffingOrganization/
PaymentInfo/ PaymentCondition/ Structured/ |
- xsd:string - S (1/1) |
Identifies the particular time or
calendar event to which the payment is associated. |
|
/ StaffingOrganization/
PaymentInfo/ PaymentCondition/ Structured/ |
- xsd:decimal - S (1/1) |
Indicates the specific day that
the payment is due. |
|
/ StaffingOrganization/
PaymentInfo/ PaymentCondition/ |
- xsd:string - S (0/1) |
Describes the contextual information relating to a specific element. |
|
/ StaffingOrganization/ PaymentInfo/ |
- BankAccountInfoType - S (0/1) |
Contains information about the bank account of the person or organization being referenced in the transaction. |
|
/ StaffingOrganization/
PaymentInfo/ |
xsd:extension base: xsd:decimal |
Money available for the start of the business endeavor. |
|
/ StaffingOrganization/
PaymentInfo/ Capital/ |
- CurrencyCodeType - |
A three-letter code identifying
the currency of a monetary amount. |
|
/ StaffingOrganization/
PaymentInfo/ |
Name - xsd:string
- S (0/1) |
Contains information about the
insurer and the amount through which an organization has an insurance. |
|
/ StaffingOrganization/
PaymentInfo/ FinancialGuarantee/ |
- xsd:string - S (0/1) |
A descriptive identifier within
the given context. |
|
/ StaffingOrganization/
PaymentInfo/ FinancialGuarantee/ |
xsd:extension base: xsd:string |
The monetary value of the
associated item. |
|
/ StaffingOrganization/
PaymentInfo/ FinancialGuarantee/ Amount/ |
- CurrencyCodeType - |
A three-letter code identifying
the currency of a monetary amount. |
|
/ StaffingOrganization/
PaymentInfo/ |
- xsd:string - S (0/1) |
A formal agreement between the employers' organization and employees within that organization. |
|
Global
types |
ContentModel* |
Definition |
|
/ |
xsd:restriction base: xsd:string [Enumerations]: RoundDown, RoundHalfDown, RoundUp, RoundHalfUp, RoundHalfEven, RoundCeiling, RoundFloor |
Globally scoped data type. See element or attribute declaration for definition. |
|
/ |
resultDigit - xsd:integer
- |
Globally scoped data type. See element or attribute declaration for definition. |
|
/ [RoundingRuleType] / |
- xsd:integer - |
The position of the digit to
which the rounding methodology is applied. |
|
/ [RoundingRuleType]/ |
- RoundingRuleEnumType - S (0/*) |
The methodology used for
rounding. |

|
Global
types |
ContentModel* |
Definition |
|
/ |
BankInfoByJurisdiction - [complexType] - S (0/*) |
Globally scoped data type. See element or attribute declaration for definition. |
|
/ [BankAccountInfoType]/ |
bankJurisdiction - xsd:string
- required |
Contains identifying information about a particular bank account associated with a particular branch, governed by the laws for a particular regulatory area (jurisdiction). |
|
/ [BankAccountInfoType]/
BankInfoByJurisdiction/ |
- xsd:string - |
Indicates the jurisdiction that
governs the regulatory requirements of a particular bank account. |
|
/ [BankAccountInfoType]/
BankInfoByJurisdiction/ |
- xsd:string - S (1/1) |
A unique identifier for the specific financial institution that is considered to be primary in relation to a particular account. |
|
/ [BankAccountInfoType]/
BankInfoByJurisdiction/ |
- xsd:string - S (1/1) |
A unique identifier for a
particular teller or counter (referred to as window) in conjunction with a
particular bank branch location. |
|
/ [BankAccountInfoType]/
BankInfoByJurisdiction/ |
- xsd:string - S (1/1) |
Indicates the number of a bank account. |
|
/ [BankAccountInfoType]/
BankInfoByJurisdiction/ |
- xsd:string - S (1/1) |
A collection of the separate parts of a bank number. This control key is also referred to as an RIB (Repository in a Box) key. |
|
/ [BankAccountInfoType]/
BankInfoByJurisdiction/ |
- xsd:string - S (0/1) |
Indicates type of account. |
|
/ [BankAccountInfoType]/
BankInfoByJurisdiction/ |
- xsd:string - S (0/1) |
Name of the person or institution that is the holder of the bank account. |
|
/ [BankAccountInfoType]/ |
- xsd:string - S (0/1) |
Used to reference bank account information for a bank that resides outside of local jurisdiction in the context of the transaction. Also referred to as IBAN (International Bank Account Number). |

|
Elements and Attributes [Global types listed alphabetically in following table.] |
ContentModel* |
Definition |
|
/ |
- StaffingReferenceIdType - S (0/*) |
A group of identifiers used to
reference specific HR-XML documents that relate to the transaction. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify the staffing customer. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify a particular organizational unit of the staffing customer. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify the staffing supplier. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify a particular organizational unit of the staffing supplier. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique identifier for a staffing order. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Reference to a specific HumanResource. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique identifier for a Vendor Management System or 3rd party responsible for staffing management |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Reference to a uniquely identifiable position. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify the billing information. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Identifier of the assignment
eventually agreed to by the trading partners. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify the time card. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify the Invoice. |
|
/ ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Reference to a master order or project. Used to link multiple orders. |
|
/
ReferenceIdInfo/ |
- EntityIdType - S (0/*) |
Unique id used to identify the staffing organization. |
Human resources data, by its very nature, is personal data. The laws of many jurisdictions as well as codes of fair information practice require organizations to handle personal data in a way that protects individuals from loss of privacy.
The data exchange specifications developed by the HR-XML Consortium are designed to be useful across many jurisdictions and within a variety of business contexts. It is not feasible for the HR-XML Consortium to develop specific privacy guidance for every jurisdiction or business context in which the Consortium's specifications might be implemented. When implementing data exchanges using the HR-XML Consortium's data definitions (or, for that matter, using any other type of data exchange mechanism), organizations are advised to examine the privacy protections that may be required under applicable law and codes of fair information practice.
For information on protecting personal data, general references include: European Union Data Protection Directive (95/46/EC); the Association Computing Machinery Code of Ethics (1992); Canadian Standards Association Model Code for the Protection of Personal Information (1995 – PIPEDA); and U.S.-EU Safe Harbor Principles and FAQs (2000).
In many countries, financial institutions use groupings of numbers to indicate particular branches and account numbers. Different countries use different quantities of groupings, but most range between 2-5 groups of identification/routing numbers. In every day use, terms like BankWindow and BankAccountKey as stand alone fields are not well known. It is more likely that each country would think in terms of Bank Account Number Group 1, Group 2, Group 3, etc.
Examples of this "by country" variance include:
Group One (in France: Bank Code, in the US: Bank routing number), Group Two: (In France the branch number (BankWindow), in the US a personal account number, etc. In a future version, these terms will likely be genericized more, but they can still be used flexibly in the interim, or you can elect not to use the BankAccountInfo module and build to suit in the UserArea.
When transmitting staffing organization information, multiple organizations may be exchanged within one instance as long as they are of the same organization type (supplier, customer, intermediary, etc). Since multiple payment information and reference information is also allowed in a single instance, the following recommendations are made to associate the payment and reference information with the correct organization or organizational unit.
The following example illustrates how to associate a reference identifier to a specific organization. The example includes two supplier organizations, Merry Staffing and Perfect People. The first reference Id connects an assignment to Merry Staffing. The second reference id ties a timecard to Perfect People.
<StaffingOrganization typeOfOrganization="Supplier">
<OrganizationName>Merry Staffing</OrganizationName>
<OrganizationId>
<IdValue>845</IdValue>
</OrganizationId>
</Organization>
<Organization>
<OrganizationName>Perfect People</OrganizationName>
<OrganizationId>
<IdValue>200156</IdValue>
</OrganizationId>
</Organization>
<ReferenceIdInfo>
<StaffingSupplierId>
<IdValue>845</IdValue>
</StaffingSupplierId>
<AssignmentId>
<IdValue>1244876</IdValue>
</AssignmentId>
</ReferenceIdInfo>
<ReferenceIdInfo>
<StaffingSupplierId>
<IdValue>200156</IdValue>
</StaffingSupplierId>
<TimeCardId>
<IdValue>20041015-1819</IdValue>
</TimeCardId>
</ReferenceIdInfo>
</StaffingOrganization>
The following example illustrates how to associate payment information to a specific organization and an organizational unit. The example includes one customer organization (Polycorp Distributor) and its business unit (Macco Warehouse). Polycorp Distributor pays by bank draft due on receipt of invoice. Macco Warehouse’s payment method is by credit card due on the 30th of each month.
<StaffingOrganization typeOfOrganization="Customer">
<Organization>
<OrganizationName>Polycorp Distributor</OrganizationName>
<OrganizationId>
<IdValue>24-1819</IdValue>
</OrganizationId>
<OrganizationalUnit typeOfGroup="BusinessUnit" hierarchicalRole="Logical">
<OrganizationalUnitName>Macco Warehouse</OrganizationalUnitName>
<OrganizationalUnitId>
<IdValue>122-233</IdValue>
</OrganizationalUnitId>
</OrganizationalUnit>
</Organization>
<PaymentInfo>
<OrganizationId>
<IdValue>24-1819</IdValue>
</OrganizationId>
<PaymentCondition>
<Structured>
<PaymentMode>Bank Draft</PaymentMode>
<PaymentTimeAllowed>0</PaymentTimeAllowed>
<PaymentEvent>on receipt</PaymentEvent>
<PaymentDay>1</PaymentDay>
</Structured>
</PaymentCondition>
<BankAccountInfo>
<BankInfoByJurisdiction bankJurisdiction="NY">
<BankCode>123456</BankCode>
<BankWindow>789</BankWindow>
<BankAccountNumber>11223344</BankAccountNumber>
<BankAccountKey>556677</BankAccountKey>
</BankInfoByJurisdiction>
</BankAccountInfo>
</PaymentInfo>
<PaymentInfo>
<OrganizationId>
<IdValue>122-233</IdValue>
</OrganizationId>
<PaymentCondition>
<Structured>
<PaymentMode>Credit Card</PaymentMode>
<PaymentTimeAllowed>15</PaymentTimeAllowed>
<PaymentEvent>end of month</PaymentEvent>
<PaymentDay>30</PaymentDay>
</Structured>
</PaymentCondition>
<BankAccountInfo>
<BankInfoByJurisdiction bankJurisdiction="CA">
<BankCode>112233</BankCode>
<BankWindow>456789</BankWindow>
<BankAccountNumber>01020304</BankAccountNumber>
<BankAccountKey>98567</BankAccountKey>
</BankInfoByJurisdiction>
</BankAccountInfo>
</PaymentInfo>
</StaffingOrganization>
|
Date |
Description |
|
2004-03-01 |
Initial Draft |
|
2004-03-29 |
Updated definitions |
|
2004-05-13 |
Added implementation guideline (banking). |
|
2004-05-27 |
Updated example |
|
2003-06-15 |
Changed bankaccountinfo to be localized. This didn’t affect the instance. Moved payment info to be a peer of organization and added org ids. Changed referenceidinfo to multiple occurrence. These modifications allow the payment info and reference id’s to be associated with a particular organization. |
|
2003-06-16 |
Updated section 4.3 examples. Clarified use of localized BankAccountInfo. |
|
2004-Aug-02 |
Approved by membership. |
|
2006-Feb-28 |
Approved by Consortium |
|
2006-Mar-01 |
Added Reference Id's to match other SIDES schemas: MasterOrderId and StaffingOrganizationId. Added TaxEvaluation structure to PaymentInfo. Changed BankAccountInfo to not be localized. Added BankAccountType and BankAccountHolder to BankAccountInfo. |
|
2007-Apr-15 |
Approved by Consortium |