> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bindbee.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Timesheet

> Creates a Time sheet object with the given values.

import { Accordion, AccordionGroup } from "@mintlify/components";

This endpoint creates a Timesheet Entry in the connected HRIS via Bindbee's unified **Time Sheet Entry** model.

## Provider-specific behavior

Different HRIS systems can have slightly different requirements and behaviors when creating timesheet entries. Use the accordions below to see details for each provider.

<AccordionGroup>
  <Accordion title="Bamboo HR">
    <p>
      When the underlying HRIS is <strong>Bamboo HR</strong>, a Timesheet Entry can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "019ab506-66a2-7f6e-b8da-09d3579a534e",
      "date": "2025-11-24",
      "start_time": "2025-11-24T08:00:00Z",
      "end_time": "2025-11-24T17:00:00Z"
    }
    ```
  </Accordion>

  <Accordion title="Personio">
    <p>
      When the underlying HRIS is <strong>Personio</strong>, a Timesheet Entry can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "0198e59a-876f-748c-8e38-c56e6246f8aa",
      "break": 8,
      "date": "2025-08-04T08:00:00Z",
      "start_time": "2025-08-04T08:00:00Z",
      "end_time": "2025-08-04T16:00:00Z"
    }
    ```
  </Accordion>

  <Accordion title="Xero">
    <p>
      When the underlying HRIS is <strong>Xero</strong>, a Timesheet Entry can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "0198e59a-876f-748c-8e38-c56e6246f8aa",
      "start_time": "2025-08-04T08:00:00Z",
      "end_time": "2025-08-04T16:00:00Z"
    }
    ```
  </Accordion>

  <Accordion title="QuickBooks">
    <p>
      When the underlying HRIS is <strong>QuickBooks</strong>, a Timesheet Entry can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "0198e59a-876f-748c-8e38-c56e6246f8aa",
      "hours_worked": 8,
      "date": "2025-08-04T08:00:00Z",
      "start_time": "2025-08-04T08:00:00Z",
      "end_time": "2025-08-04T16:00:00Z"
    }
    ```
  </Accordion>

  <Accordion title="Workday">
    <p>
      When the underlying HRIS is <strong>Workday</strong>, a Timesheet Entry can be created using a payload like:
    </p>

    ```json theme={null}
    {
      "employee": "019d29f5-07cf-7396-9ae1-34e5b71ad42c",
      "date": "2026-03-26",
      "hours_worked": 7.5,
      "start_time": "2026-03-26T10:00:00Z",
      "end_time": "2026-03-26T17:30:00Z",
      "additional_attributes": {
        "worker_time_block_id": "TEST_BB",
        "time_entry_code_reference_wid": "c20c857a8cf41001aa4db119cb360000",
        "out_reason_reference_id": "Out"
      }
    }
    ```

    <p>
      <strong>Workday-specific requirements:</strong>
    </p>

    <ul>
      <li>
        <code>out\_reason\_reference\_id</code> must be one of: <code>Break</code>, <code>Meal</code>, or <code>Out</code>.
      </li>

      <li>
        For <code>time\_entry\_code\_reference\_wid</code>, search for <strong>All Time Entry Codes</strong> in the Workday portal and use the WID of any suitable code from the displayed list.
      </li>

      <li>
        The selected Time Entry Code must have <strong>Units = Hours</strong>.
      </li>

      <li>
        If the selected Time Entry Code has <strong>Entry Method = In/Out Only</strong>, <code>out\_reason\_reference\_id</code> is required.
      </li>

      <li>
        If the selected Time Entry Code has <strong>Entry Method = Hours Only</strong>, <code>out\_reason\_reference\_id</code> must not be passed.
      </li>
    </ul>
  </Accordion>

  <Accordion title="UKG Ready (Beta)">
    <p>
      Contact <strong><a href="mailto:support@bindbee.dev" target="_blank">Bindbee Support Team</a></strong> for additional details.
    </p>
  </Accordion>

  <Accordion title="ADP (Beta)">
    <p>
      Contact <strong><a href="mailto:support@bindbee.dev" target="_blank">Bindbee Support Team</a></strong> for additional details.
    </p>
  </Accordion>

  <Accordion title="Factorial (Beta)">
    <p>
      Contact <strong><a href="mailto:support@bindbee.dev" target="_blank">Bindbee Support Team</a></strong> for additional details.
    </p>
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml post /api/hris/v1/timesheet-entry
openapi: 3.1.0
info:
  title: Bindbee APIs
  version: 0.1.0
servers:
  - url: https://api.bindbee.dev
  - url: https://api-eu.bindbee.dev
security: []
paths:
  /api/hris/v1/timesheet-entry:
    post:
      tags:
        - Timesheet Entry
      summary: Create Timesheet
      description: Creates a Time sheet object with the given values.
      operationId: create_timesheet_api_hris_v1_timesheet_entry_post
      parameters:
        - name: x-idempotency-key
          in: header
          required: false
          schema:
            type: string
            description: Key to guarantee idempotent write execution.
            title: X-Idempotency-Key
          description: Key to guarantee idempotent write execution.
        - name: x-connector-token
          in: header
          required: true
          schema:
            type: string
            title: X-Connector-Token
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````