11. タイムカードトランザクション

タイムカードは臨時社員およびコントラクタに関連した発注に使用されます。これらは、バイヤーまたはサプライヤによって生成および送信されます。どちらであるかは、タイムカード情報がどちらのシステムで取得されるかによります。

11.1 TimeCard Request

11.1.1 サプライヤからバイヤーへの Request
11.1.2 バイヤーからサプライヤへの Request

11.2 TimeCard 要素

11.2.1 OrderInfo
11.2.2 Contractor
11.2.2.1 ContractorIdentifier
11.2.2.2 Contact
11.2.3 ReportedTime
11.2.3.1 Period
11.2.3.2 TimeCardTimeInterval
11.2.3.3 経費
11.2.3.4 ExpenseAmount
11.2.3.5 TimeRange
11.2.4 SubmitterInfo
11.2.4.1 Contact
11.2.5 ApprovalInfo
11.2.6 DocumentReference

11.3 TimeCard の例

11.1 TimeCard Request

タイムカードには双方向の性質があるため、TimeCard 要素に関する Request には、TimeCardRequest およびTimeCardInfoRequest の 2 つが存在します。該当する臨時社員として業務を行うコントラクタは、状況によってバイヤーまたはサプライヤのいずれかのシステムにタイムカード情報を入力します。したがって、バイヤーまたはサプライヤのどちらも TimeCard ドキュメントを送信でき、また、TimeCard ドキュメントはいずれの方向にも転送されます。このように、タイムカードは、通常はサプライヤからのみ送信される請求書とは異なります。

図 15: タイムカードドキュメントのフロー

11.1.1 サプライヤからバイヤーへの Request

TimeCardRequest には、人材派遣会社などのサプライヤからバイヤーに送信される TimeCard ドキュメントが記述されます。from および sender はサプライヤの認証情報で、to はバイヤーの認証情報です。タイムカードが承認されると、バイヤーはタイムカードが承認されたか却下されたかを示す DocumentApprovalStatus 要素とともにStatusUpdateRequest を送信します。

11.1.2 バイヤーからサプライヤへの Request

TimeCardInfoRequest には、バイヤーからサプライヤへ送信される TimeCard ドキュメントが記述されます。fromはバイヤーの認証情報で、to はサプライヤの認証情報です。

11.2 TimeCard 要素

TimeCard 要素は、コンストラクタやその他の臨時社員が作業した時間を取得するために使用されます。次の例では、Fulfill.dtd からの TimeCard の要素宣言を示しています。

TimeCard 要素には以下の属性が含まれます。

属性説明
type指定可能な値は、new、update、および delete です。元のタイムカードが更新されない場合、通常の値は new です。
status指定できる値は submitted、approved、denied. です。通常の値は submitted です。
timeCardID
(必須)
バイヤーおよびサプライヤシステムにおけるこのタイムカードの一意の識別子を表します。

11.2.1 OrderInfo

OrderInfo 要素はオーダーの参照に使用されます。1 つのタイムカードで 1 つのオーダーのみ参照します。

11.2.2 Contractor

Contractor 要素では、臨時社員のコンテキストで使用されるコントラクタが定義されます。

11.2.2.1 ContractorIdentifier

ContractorIdentifier では、バイヤーおよびサプライヤ両方のシステムでコントラクタが一意に識別されます。これはオーダーまたはタイムカードの送信前に、バイヤーおよびサプライヤによって合意されています。ContractorIdentifier 要素には次の属性が含まれます。

属性説明
domain
(必須)
ContractorIdentifier が示されるドメインです。指定できる値は、ContractorIdentifier が定義されたシステムを示す supplierReferenceID または buyerReferenceID です。
11.2.2.2 Contact

一般的な Contact 要素には、コントラクタが記述されます。

11.2.3 ReportedTime

ReportedTime 要素では、タイムカードの明細が取得されます。

11.2.3.1 Period

Period では、タイムカードが提出された期間が定義されます。

11.2.3.2 TimeCardTimeInterval

TimeCardTimeInterval 要素は、タイムカードで報告される時間間隔を表します。この要素には、次の属性があります。

属性説明
duration
(必須)
明細について報告される期間は、ISO 8601 形式 PnYn MnDTnH nMnS で表します。ここで、nY は年数、nM は月数、nD は日数、 T は日付/時刻の区切り記号、nH は時間数、nM は分数、nS は秒数です。たとえば、1 年、2 か月、3 日、10 時間、30 秒の期間を示すには、P1Y2M3DT10H30M と記述します。duration および TimeRange が一致しない場合、duration が優先されます。たとえば、duration が 2 時間で、TimeRange が午後 4 時から午後 8 時の場合、2 時間の duration が優先されます。ただし、duration が存在しない場合、TimeRange から計算されます。
payCode
(必須)
使用される支給コードです。以下の支給コードの使用を推奨します。
● Regular
● Overtime
● Doubletime
● Mealbreak
● Tripletime
● WeeklyRestDay
● HolidayWorked
● RegularNightShift
● OvertimeNightShift
● DoubletimeNightShift
● TripletNightShift
● WeeklyRestDayNightShift
● RegularMixedShift
● OvertimeMixedShift
● DoubletimeMixedShift
● TripletimeMixedShift
● WeeklyRestDayMixedShift
isNonBillable指定した時間が請求可能かどうかを示す暗黙の属性です。通常は請求可能です。
11.2.3.3 経費

Expense 要素では、コンストラクタがタイムカードで報告した経費が定義されます。この要素には、次の属性があります。

属性説明
expenseDate
(必須)
経費の日付です。
expenseType経費の種類です。推奨される経費の種類は以下のとおりです。
● mileage
● airfare
● fuel
● taxi
● perDiem
● hotel
isNonBillable
(必須)
指定した経費が請求可能かどうかを暗黙的に示す属性です。通常は請求可能です。
11.2.3.4 ExpenseAmount

ExpenseAmount 要素は、コンストラクタがタイムカードで報告した経費の金額および通貨を表します。

11.2.3.5 TimeRange

TimeRange 要素では、開始日と終了日に制約がない期間が定義されます。TimeRange 要素には次の属性が含まれます。

属性説明
startDate請求可能期間の開始日です。
endDate請求可能期間の終了日です。

11.2.4 SubmitterInfo

SubmitterInfo 要素には、タイムカード提出者の情報が含まれます。この要素には、次の属性があります。

属性説明
submittedDate
(必須)
タイムカードが提出された日時。
11.2.4.1 Contact

Contact 要素が存在しない場合、コントラクタが提出者であるとみなされます。

11.2.5 ApprovalInfo

ApprovalInfo 要素には、タイムカードの承認者の情報が含まれます。この情報は、情報提供のためだけにサプライヤによって送信され、チェーン内のすべての承認者を含めることができます。該当するタイムカードに多くの承認者を必要とする場合もあるため、複数の承認者情報が定義できます。ApprovalInfo 要素には以下の属性が含まれます。

属性説明
approvedDate
(必須)
タイムカードが承認された日時。

11.2.6 DocumentReference

DocumentReference は、更新操作で以前の TimeCardRequest または TimeCardInfoRequest. を参照するために使用されます。

11.3 TimeCard の例

次の例は、サプライヤへ提出するために送信される TimeCardInfoRequest を示しています。

次の例は、承認時にサプライヤへ送信される更新の例です。