Skip to main content

Set up cost objects

Create cost objects in Yokoy to determine cost allocation for expenses and invoices.

Yokoy Team avatar
Written by Yokoy Team
Updated over 4 months ago

🌐 Web | 👤 Yokoy admin with Cost object setup permissions

Cost objects provide a way to charge costs to a part of an organization. Cost objects are used in Yokoy for cost accounting and cost-object based approval flow.

You set up cost objects for a specific company. You can create a cost object manually, import multiple cost objects via CSV file, or via the Yokoy API. Depending on the method you use to create a cost object, the information required may vary.

Cost object fields

A cost object in Yokoy is comprised of these fields.

Field

Description

Name

Enter the name of the cost object, which can be a cost center or a team.

Code (ERP)

The external reference to identify the cost object. This may be the code that is needed for the accounting booking journal in your company’s ERP system. If a code is not needed for your ERP system, enter a code that identifies the cost object.

Parent cost object (optional)

Choose the direct parent cost object, which is placed one level higher, if applicable.

Approval limit

The approval limit for the cost object. If an expense or an invoice exceeds this approval limit, the document is forwarded to the approver of the parent cost object.

Approver

Choose the approver for this cost object.

Scopes

Restrict the cost object for use in Yokoy Expense or Invoice. By default, the cost object can be used in either. See Cost object scopes.

Auto approval threshold

Only visible when Activate auto approval is activated in the Admin > Company menu; optional. The approval limit for the cost object.
If an expense or invoice exceeds this approval limit, the document is forwarded to the approver of the parent cost object.

Delegate (optional)

Choose the approver’s delegate for this cost object, if applicable.

Delegate expiry (optional)

Choose the expiry date for the approver’s delegate, if applicable.

Description (optional)

Include a description for the cost object, if necessary.

Cost object access

By default, cost objects can be used by all employees (everyone). You can restrict the cost object to finance users. If restricted to Finance users, the cost object is not visible to users (in the expense form, in invoices or in HR > User management).


Depending on your organization‘s plan, you can choose to restrict the cost object to specific users by selecting Custom access, and selecting the names of the users who can use the cost object in expenses and trips.

Create a cost object manually

  1. Go to Admin > Cost Objects.

  2. Create a new cost object by clicking + New Cost Object option.

  3. Enter all required data, depending on the purpose of your cost object.

  4. Press Activate for direct enablement (or Save to keep the changes without activating the cost object for use).

Import cost objects via CSV

You can use the CSV file-based option to import all cost objects initially, or to update specific properties of a group of cost objects:

  1. Go to Admin > Cost objects.

  2. Click Import file.

  3. Select the Appropriate template in this entity.

  4. Select the Appropriate document format for this entity, cost object upload can have multiple formats.

The file can use either commas (,) or semi-colons (;) as a column separator. The column header must be that specified in the file specifications; otherwise, it is ignored. The order of the columns doesn‘t matter; any optional columns can be omitted as required.

Any empty entries are interpreted as empty strings. Incomplete rows (i.e. approverId missing for cost object-based approval flow) are imported as inactive cost objects. They can be activated once entered in Yokoy or through a subsequent import.

✏️ Note - Encoding format

Yokoy supports CSV files with UTF-8, UTF-16, and ISO/IEC 8859-1:1998 (Latin1) encoding.

You can also download a template CSV file that can be used for upload after all necessary information is saved in the file.

CSV file specification

CSV column

Description

Example and comments

code

Required. External reference of the cost object

1234

This is used as unique identifier of existing cost objects (if not id is provided) and therefore required to update existing records.

name

Required. Name of the cost object as shown in the Yokoy application

Sales

description

Optional. Description of the cost object

Sales & Revenue

Cost object for the sales department

parentCode

Optional. Code of the parent cost object in case a cost object hierarchy needs to be reflected in Yokoy

C1

Required if the cost object hierarchy should be used for the approval flow.

approverId

Optional. Email address of the owner of the cost object

jan.approver@yokoy.ai

Required for cost object based approval flow

approvalLimit

Optional. Limit up to which the cost object owner is entitled to allow an expense. For any amount exceeding this limit the approver of the parent cost object needs to approve the expense

10000

delegateId

Optional. Email address of the delegate to the owner of the cost object

tam.delegate@yokoy.ai

scopes

Optional. Module for which the cost object should be available. See Cost object scopes.

expenses / invoices

Leave empty for cost objects that are applicable to both the expense and invoice module

On export, if both modules are selected in the Yokoy application, this field will be exported as empty

status

Optional. Defines the status of the of the employee: active (1) or inactive (2)

Incomplete cost objects (missing approverId in the case of cost object based approval flow) are set to draft (0)

1

customInformation

Optional. Yokoy enables customers to define custom fields to enrich cost object data with additional information.

{"costObjectType":"salesOrder” }
Multiple values are supported and can be listed as shown in the example:

  • costObjectType: key

  • salesOrder: value

Yokoy supports the data types:

  • text input (string): free text field

  • checkbox (boolean): true/fals

Example of a standard cost object import:

code,"name","parentCode","approvalLimit","description","approverId","delegateId","status","scopes"
C1,"Cost Center C1",,,"Root cost center C1","jan.approver@yokoy.ai","tam.delegate@yokoy.ai","1",
C11,"Cost center C11","C1","1000","First level cost center C11","jan.approver@yokoy.ai","tam.delegate@yokoy.ai","1","expenses"
C12,"Cost center C12","C1","1000","First level cost center C12","jan.approver@yokoy.ai","tam.delegate@yokoy.ai","1","invoices"

🚧 Warning - Cost object import limitation

The import file can support up to 2,000 items per upload. If you want to import more than 2000 cost objects, split your import file.

Once you have selected the file to upload, click Start import. After the process has completed, you can view details on how many cost objects were imported, any cost objects that could not be imported, and an error log to facilitate troubleshooting.

In Admin > Import log, Yokoy provides a complete log of all file-imports stating the type of import (in this case, cost objects), the number of entries imported and a downloadable import report.

The report contains the uploaded file enhanced with three columns ('ImportStatus', 'ErrorList', 'WarningList'), showing either the successful import of this row or an error message and its corresponding reason. If you encounter issues with importing files, please check this report first.

Import cost objects via API

The Yokoy API lets you manage cost objects in Yokoy via HTTP request. You can use a GET, POST, DEL and PATCH/PUT requests to retrieve, create, delete, and update cost objects.

Disable cost object selection in expenses

For expenses, you can choose to prevent submitters from selecting the cost objects.

For example, you can choose to make cost objects in expenses and trips non-editable so submitters cannot select them, even though they are mandatory.

Cost object in the expense form

The cost object field is automatically populated with the value set in the user profile, as the default cost object.

For expenses, if the user profile doesn’t contain a default value, Yokoy automatically assigns the cost object from the last submitted expense and triggers a warning that the expense’s cost object doesn’t match the user’s cost object (empty value):

Users can still submit the expense with the cost object warning. If no expenses have been submitted previously, Yokoy leaves the cost object field empty. In this case, submitters cannot submit the expense since the cost object is mandatory.

For trips, Yokoy is unable to determine the cost object if there is no default cost object set in the user profile. Therefore, the trip cannot be created. In other words, if you don't want to display the cost object field in trips, you must make sure that all submitters have a default cost object assigned. Otherwise, they cannot create trips.

To disable the display of cost objects to submitters:

  1. Go to Admin > Company settings

  2. In Expense form definition, select Disable cost object selection (Trips) and ignore cost objects (Expenses).

  3. Press Save.

🚧 Warning

If you choose not to display the cost object field when creating expenses and trips, make sure to set up a default cost object for all users. Otherwise, trips cannot be created.

For trips, in addition you can choose to make cost objects optional. This means submitters can submit trips without a cost object.

To make cost objects optional for trips:

  1. Go to Admin > Company settings

  2. In Expense form definition, select Disable cost objects (Trips).

  3. Press Save.

Did this answer your question?