Skip to main content

Timesheet for SAP® solutions

Timesheet for SAP® solutions turns your tracked time into import files for two targets: SAP SuccessFactors® Employee Central, and the Cross-Application Time Sheet (CATS) in SAP S/4HANA® software or SAP ERP. You download CSV files and import them on the SAP side. Nothing is sent to your SAP system directly, and no interface or API user is needed there.

Timesheet is not affiliated with or certified by SAP.

Pro plan

Timesheet for SAP solutions requires the Pro plan or higher. See the Plans page for the full comparison.

Choose your target​

One installation writes files for one target. You choose it in the settings.

TargetFilesHow they get into SAP
catsOne CSV with hours per person, day, cost object and activity typeYour SAP team loads the file with their own load program
successfactorsExternal Time Data (worked time) and, if you switch it on, Employee Time (approved absences)You upload them in Admin Center under Import and Export Data

Before you start​

  • A Timesheet account on the Pro plan or higher.
  • For an organization: admin rights in that organization. The export then covers every member.
  • For a personal profile: your personnel number in your client's SAP system. A profile installation exports only your own time and supports the CATS target only. It is meant for consultants who book their hours into a client's CATS.
  • The SAP keys you want in the file: personnel numbers or SuccessFactors user IDs, WBS elements, cost centers or internal orders, and activity types or time types. All values are typed in, because the integration does not read anything from SAP.
  • For CATS: a contact in your SAP team. CATS has no standard file import, so the file needs a load program on the SAP side. See Load the CATS file.

Install the integration​

In the web app, open Integrations, select Browse Marketplace, and install Timesheet for SAP® solutions for your organization or your personal profile. There is no connection step, because the files are downloaded rather than sent.

The integration has four tabs: SAP® export, Settings, Mappings and Logs.

Enter your settings​

On the Settings tab, choose the target first. Every option shows for both targets, and its title says which target it belongs to.

Both targets

  • Target system: cats or successfactors.

CATS

  • Your personnel number: personal profile only. The personnel number your client's SAP system uses for you. Organizations map their members on the Mappings tab instead.
  • Company code: written into every row. Leave empty if your load program does not need it.
  • Cost object of a project: what you enter for each project on the Mappings tab. wbs for a WBS element, costCenter for a receiver cost center, order for an internal order. The value decides which column is filled.
  • Default activity type: the activity type for tasks without a mapped tag.
  • Rows: day writes one row per person, day, cost object and activity type. task writes one row per task and day.
  • Field separator, Decimal mark, Date format, Character set, Header row with column names, Text in quotes: the file format. Match these to your load program. The defaults are semicolon, comma, YYYYMMDD, UTF-8, a header row and no quotes. Choose windows-1252 for older SAP ERP systems that cannot read UTF-8.

SuccessFactors

  • Time recording: duration writes hours per day, for employees who record a duration. clock writes start and end times plus breaks, for employees who record clock times.
  • Attendance time type: the external code of the time type for tasks without a mapped tag. Leave empty to use the default import attendance type of the employee's time profile.
  • Clock format: 12h if the person who uploads the file is signed in to SuccessFactors in US English, otherwise 24h.
  • Export approved absences: also writes an Employee Time file. Leave this off if your employees request leave in SAP SuccessFactors Time Off, or absences are booked twice.

Select Save to apply.

Map your data​

On the Mappings tab, enter the SAP key for your Timesheet data.

  • Employees: the personnel number of each member for CATS, or the user ID for SuccessFactors. The SuccessFactors user ID is not always the personnel number. If you leave a member out, the integration uses the employee ID from their Timesheet profile.
  • Projects to cost objects (CATS): the WBS element, cost center or internal order each project books onto, matching Cost object of a project in the settings.
  • Tags to activity or time types: the CATS activity type or the SuccessFactors attendance time type a tag stands for. A task with several mapped tags uses the first one. The list shows the tags you can see yourself.
  • Absence types (SuccessFactors): the Time Off time type of each absence type. Only used when you export approved absences.

You do not have to map everything before the first export. The export lists what is missing as a warning:

  • A member without a personnel number or user ID is skipped.
  • A project without a cost object is exported with an empty cost object.
  • An absence type without a time type is skipped.

Add the missing value and run the export again.

Run an export​

On the SAP® export tab, select Create import file and enter the first and last day of the period as YYYY-MM-DD.

Each run shows:

  • Download links for the files. The links are valid for a short time, so download the files right away.
  • Count: the number of rows across the files, without header rows.
  • Warnings: members, projects or absence types the export could not map, and other notes about the result.

The table Previous exports lists your last twelve runs with target, period, files, rows and number of notes.

How time is counted​

  • Hours are net: breaks are subtracted.
  • A task that runs past midnight is split at midnight, and each part is booked on its own day. Days outside the period are left out.
  • Days follow the time zone the task was recorded in.
  • Running timers and deleted tasks are skipped.

What is in the files​

CATS​

File name: CATS_<from>_<to>.csv. Worked time only. Absences are not part of the CATS file.

ColumnContent
PersonnelNumberThe employee mapping, or your personnel number on a personal profile
CompanyCodeCompany code from the settings
TimeSheetDateThe day, in the date format from the settings
RecordedHoursNet hours with two decimals
WBSElementThe project mapping, when the cost object is wbs
ReceiverCostCenterThe project mapping, when the cost object is costCenter
InternalOrderThe project mapping, when the cost object is order
ActivityTypeThe tag mapping, or the default activity type
TimeSheetNoteThe task descriptions of the row, joined with ; and cut to 40 characters

All three cost object columns are always present, and only the one you chose is filled. This way the layout stays the same when you change the setting. Keys are never shortened.

SuccessFactors External Time Data​

File name: ExternalTimeData_<from>_<to>.csv. Comma separated, UTF-8, dates as MM/DD/YYYY.

Columns: userId, startDate, endDate, startTime, endTime, hours, timeType, category.

  • With duration, each row holds the hours of one person, day and time type.
  • With clock, each task is one row with its start and end time, and each break is one extra row with the category Break. Tasks are assigned to the day they start on.
  • When no time type is set, the row has the category Attendance and SuccessFactors uses the default import attendance type.
  • In clock mode, a task that runs past midnight carries an endDate. SuccessFactors imports such rows only with the Time Tracking subscription. The export lists them as a warning.

SuccessFactors Employee Time​

File name: EmployeeTime_<from>_<to>.csv. Comma separated, UTF-8, dates as MM/DD/YYYY.

Columns: externalCode, userId, timeType, startDate, endDate, approvalStatus, fractionQuantity.

  • Only approved absences are exported, each with its full start and end date.
  • An absence belongs to the period it starts in, so a monthly export never contains the same absence twice.
  • externalCode is timesheet- plus the absence ID in Timesheet. Importing the same absence again updates it and does not create a second one.
  • fractionQuantity holds the hours of a part-day absence on a single day. A part-day absence that spans several days is exported as full days and listed as a warning.

The monthly run​

On the first day of each month at 06:00 UTC, the integration creates the files for the previous month and records the run in Previous exports. Open the tab and download the files. You can turn the schedule off on the Triggers tab.

Import into SAP SuccessFactors​

  1. In SuccessFactors, open Admin Center and go to Import and Export Data.
  2. Download the import template for External Time Data from your tenant and compare its columns with the file from Timesheet. Do the same for Employee Time if you export absences.
  3. Import the External Time Data file with the date format MM/dd/yyyy.
  4. Import the Employee Time file, if you export absences.

The column sets follow SAP's documentation. Tenants can differ, so run the first import with a small period and check the result before you import a whole month.

Load the CATS file​

CATS has no standard file import. Your SAP team loads the file with a program on their side, which they build once. Timesheet provides the file and the field reference, not the load program.

Give your SAP team one exported file and this field reference. The column names follow the SAP S/4HANA Cloud API API_MANAGE_WORKFORCE_TIMESHEET. For on-premise systems, the table lists the matching field of BAPI_CATIMESHEETMGR_INSERT (structure CATSRECORDS_IN).

ColumnField in CATSRECORDS_IN
PersonnelNumberEMPLOYEENUMBER
CompanyCodeUsually comes from the data entry profile
TimeSheetDateWORKDATE
RecordedHoursCATSHOURS
WBSElementWBS_ELEMENT
ReceiverCostCenterREC_CCTR
InternalOrderREC_ORDER
ActivityTypeACTTYPE
TimeSheetNoteSHORTTEXT

Ask your SAP team to confirm the field names against your system and to load one test file before the first real import. If their program expects another separator, date format or character set, change the file format in the settings.

SAP licensing

Records created in an SAP system from another system's data can count as documents under SAP's Digital Access model. Whether this applies depends on your SAP contract. Ask your SAP account team if you are unsure.

Remove the integration​

Use the Actions menu in the header, or the Uninstall Integration option on the integration page. This removes the integration and its mappings in Timesheet. Files you already downloaded are not affected.

Troubleshooting​

The export asks for your personnel number. On a personal profile, enter it under Your personnel number on the Settings tab.

The export says SuccessFactors needs an organization. The SuccessFactors target works on an organization only. On a personal profile, choose cats as the target.

An employee is missing from the file. Add their personnel number or user ID under Employees on the Mappings tab, or enter an employee ID in their profile.

The cost object column is empty. Map the project under Projects to cost objects (CATS) and run the export again.

An absence is missing. Check that it is approved, that it starts in the period, and that its absence type has a time type under Absence types (SuccessFactors).

A tag is missing from the mapping list. The list shows the tags you can see yourself. Tags of teams you are not a member of do not appear.

SuccessFactors rejects the times. Check Clock format. Use 12h only if the person who uploads the file is signed in in US English.

Umlauts look wrong after the CATS load. Change Character set to what your load program expects.

For anything else, contact support@timesheet.io with your Timesheet account email and organization name.

See also​

  • Integrations: install integrations and manage API keys and webhooks.
  • DATEV: payroll and invoice export for DATEV in Germany.
  • BMD NTCS: payroll and invoice export for BMD NTCS in Austria.
  • Plans: compare what each plan includes.

SAP, SAP S/4HANA and SAP SuccessFactors are trademarks or registered trademarks of SAP SE or its affiliates in Germany and in other countries.