Use this article to download people data from your Perk account. You can export profile, organizational, travel policy, approval process, and spend information for all or a filtered set of people — then use the file to audit your setup, migrate data, or integrate with other tools.
Choosing an export option
People data exports in Perk give you three options that control which people and which columns are included in the file.
| Export option | Who’s included | Columns included |
|---|---|---|
| Everyone and table columns | All people in your account | The columns currently visible in your People page table |
| Filtered people and table columns | Only people matching the filters applied to your People page | The columns currently visible in your People page table |
| Everyone and extended columns | All people in your account | The full set of available columns, including fields not shown in the table |
You can export the data as an Excel spreadsheet (.xls) or a CSV file (.csv). The CSV includes values with UTF-8 encoding, separated by commas.
Tip: Use Everyone and extended columns when you need approval process details, spend delegation settings, or personal profile fields that aren’t visible in the People page table.
Note: If you haven’t applied any filters to your People page, Filtered people and table columns and Everyone and table columns produce the same output.
Exporting people data
Steps for exporting people data from Perk:
- Go to People.
- If you want to export a filtered set of people, apply your filters to the table before continuing.
- Select Manage data > Export data.
- Choose an export format:
- CSV file (.csv)
- Excel spreadsheet (.xls)
- Choose an export option:
- Everyone and table columns — all people, table columns only.
- Filtered people and table columns — filtered people, table columns only.
- Everyone and extended columns — all people, full extended column set.
- Select Export to start generating your file. You’ll receive an email when it’s ready.
Receiving your export by email
Because large exports can take time to generate, Perk doesn’t download the file immediately. Instead, we’ll email you with your exported data.
The email contains the file as an attachment, so if you don’t receive an email within a few minutes, check your spam folder or contact your IT department as at times, your company’s mail server may block attachments. For CSV files, if the people data occupies more than 10MB, Perk compresses it into a ZIP file.
Open the email and select the attachment to save your file.
What’s included in the extended export
The Everyone and extended columns option includes all the column groups below. The Everyone and table columns and Filtered people and table columns options include the columns set as visible in your People page table.
Core identity
| Column | What it contains |
|---|---|
| user_id | The unique ID assigned to the person in Perk. |
| first_name | The person’s first name. |
| last_name | The person’s last name. |
| username | The person’s Perk username, which is their email address. |
| login_email | The email address used to log in to Perk. |
| communication_email | The email address used for Perk notifications and travel communications. |
| state | Current account status. Possible values: active or inactive. |
| external_id | The most recent identifier that an external system (SCIM, SSO login, HR integration) assigned to the person. If multiple sources were used to update the person’s data, it takes the latest ID used. |
| roles | The roles assigned to this person. If multiple roles apply, they’re separated by a semicolon. Possible values: admin, finance, auditor, financial_reviewer, travel_manager, travel_admin, traveler, guest, no_access, hr, card_admin, invoice_processor, developer, company_admin. |
| assigned_people | The people this person can manage. Only travel_manager and finance roles support this field. Shows everyone, none, a semicolon-separated list of names — for example, John Doe;Jane Smith — or empty, if the role is scoped by company. |
| assigned_companies | The companies this person can manage, as a semicolon-separated list — for example, Acme Corp;Dunder Mifflin Paper Company. Applies to roles scoped by company. |
Personal profile
| Column | What it contains |
|---|---|
| date_of_birth | The person’s date of birth, in YYYY-MM-DD format. |
| gender | The person’s gender. Possible values: M for male, F for female. |
| phone | The person’s phone number. |
| currency | The person’s preferred currency. |
| language | The person’s preferred language. |
| time_format | The person’s preferred time format. Possible values: 12-hours or 24-hours. |
| last_login | Date and time of the person’s most recent login to Perk, in UTC. Format: YYYY-MM-DD HH:MM:SS.ffffff. |
Organization
| Column | What it contains |
|---|---|
| company | The company this person belongs to. The company name must already exist in Perk. |
| payment_profiles | Payment profiles available to this person. All listed profiles must already exist in Perk. |
| cost_center | Cost object assigned to this person. |
| erp_code | ERP code for this person, if applicable. |
| is_external | Whether this person is an external user. True if their login email is on a non-corporate domain. |
| non_editable_fields | Fields locked from manual editing because they’re synced from an external system — for example, SSO, SCIM, or BambooHR. Exported as a list of field names, or empty if no fields are locked. |
| welcome_email_sent | Whether the Perk welcome email has been sent to this person. |
Manager and reporting
| Column | What it contains |
|---|---|
| line_manager | The person’s line manager, shown as the line manager’s user name, i.e. an email address. |
| line_manager_first_name | Line manager’s first name. |
| line_manager_last_name | Line manager’s last name. |
| line_manager_profile_picture_url | URL linking to the line manager’s profile picture. |
| number_of_reports | Number of people who directly report to this person (immediate reports only, not the full reporting tree). |
| number_of_managed_travelers | Number of travelers this person manages. |
| managed_through | How this person’s management relationship is configured — for example, scim, bamboohr, or yokoy_api. |
| travel_managers | Travel managers assigned to this person, as a comma-separated list of names — for example, Jane Doe, John Smith. |
Travel policy
| Column | What it contains |
|---|---|
| travel_policy | The travel policy assigned to this person. |
| travel_document_status | Current status of the person’s travel document, based on its expiration date. Possible values: valid or expired, or empty if no travel document is on file. |
| has_travel_doc | Whether the person has a travel document on file. |
Travel approval process
| Column | What it contains |
|---|---|
| approval_process | The approval process assigned to this person. |
| num_approval_processes_assigned_to_user | Total count of active, non-default approval processes where this person is listed as an approver. |
| approval_process_member | The most specific active approval processes this person is a member of, as a semicolon-separated list of names — for example, Finance Approval;Travel Policy A. Precedence order: Manual > Automated > Account Default. |
| approval_process_member_sources | Where those approval processes originated, as a semicolon-separated list — for example, bamboohr, scim, or merge.dev variants. |
| no_approval_process_member | True if any of this person’s most-specific active approval processes doesn’t require approval. |
| always_approvers | Approvers set to always approve this person’s requests. |
| in_policy_approvers | Approvers assigned to review this person’s in-policy requests, as a semicolon-separated list of usernames. |
| out_of_policy_approvers | Approvers assigned to review this person’s out-of-policy requests, as a semicolon-separated list of usernames. |
| always_reviewers | Reviewers notified on all of this person’s trip requests, regardless of policy status, as a semicolon-separated list of usernames. |
| in_policy_reviewers | Reviewers notified when this person submits in-policy requests, as a semicolon-separated list of usernames. |
| out_of_policy_reviewers | Reviewers for out-of-policy requests. |
| approval_processes_as_approver | Approval processes where this person is a designated approver, as a semicolon-separated list of names. |
| approval_processes_as_member | All active approval processes where this person is a notification reviewer, as a semicolon-separated list of names. No precedence logic applied. |
Spend approval and policy
| Column | What it contains |
|---|---|
| employee_policy | The spend policy assigned to this person. |
| display_expense_auto_approval_limit | The auto-approval limit for expenses. |
| display_expense_escalation_threshold | The escalation threshold for expenses. |
| expense_delegates_approver | People who can approve expenses on this person’s behalf. |
| expense_delegates_submitter | People who can submit expenses on this person’s behalf. |
| invoice_delegates_approver | People who can approve invoices on this person’s behalf. |
| invoice_delegates_submitter | People who can submit invoices on this person’s behalf. |
Custom fields
| Column | What it contains |
|---|---|
| user_custom_fields | Any custom fields configured for your organization. Multiple custom fields are separated by a semi-colon (;) |