API

Sales APIs

POST sales/project-orders/{projectOrderId}/items/{itemId}/expenses

Creates a new entry of a expense log for a project order item of type expense

HTTP method POST
URI https://api.rambase.net/sales/project-orders/{projectOrderId}/items/{itemId}/expenses
Supported formats Xml, Html, Json (ex. $format=json)
- URI parameter {projectOrderId} Project order identifier
Integer, minimum 100000
- URI parameter {itemId} Project order item identifier
Integer, minimum 1
Successful HTTP status code 201
API resource identifier 5743, version 6

The following body must be added to the request. Mouse over fieldnames for description and other useful information about the fields. Note that fields in bold are required/mandatory.

Format:
1
<Expense>
2
     <Quantity
Quantity

Required/mandatory field

Quantity of the expenses

Minimum value: 0

>
{Decimal}</Quantity>
3
     <IncurredDate
IncurredDate

Required/mandatory field

The date the expense incurred (e.g. the date the kilometers was driven)

>
{Date}</IncurredDate>
4
     <InternalNote
InternalNote

Note for internal use

This field is optional.

>
{String}</InternalNote>
5
     <ExternalNote
ExternalNote

Note to customer, may be added to reports or details attached to the invoice

This field is optional.

>
{String}</ExternalNote>
6
     <Cost>
7
          <Price
Price

Required/mandatory field

Price of the expense in sales currency

Minimum value: 0

>
{Decimal}</Price>
8
     </Cost>
9
     <RegardingEmployee
RegardingEmployee

Personal identifier of the employee who logged the expense

This field is optional.

>
10
          <EmployeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

>
{Integer}</EmployeeId>
11
     </RegardingEmployee>
12
</Expense>
1
{
2
     "expense": {
3
          "quantity
Quantity

Required/mandatory field

Quantity of the expenses

Minimum value: 0

":
"{Decimal}",
4
          "incurredDate
IncurredDate

Required/mandatory field

The date the expense incurred (e.g. the date the kilometers was driven)

":
"{Date}",
5
          "internalNote
InternalNote

Note for internal use

This field is optional.

":
"{String}",
6
          "externalNote
ExternalNote

Note to customer, may be added to reports or details attached to the invoice

This field is optional.

":
"{String}",
7
          "cost": {
8
               "price
Price

Required/mandatory field

Price of the expense in sales currency

Minimum value: 0

":
"{Decimal}"
9
          },
10
          "regardingEmployee
RegardingEmployee

Personal identifier of the employee who logged the expense

This field is optional.

":
{
11
               "employeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
12
          }
13
     }
14
}

The query string is placed after the resource URL, seperated with a questionmark (?). The query string is composed of a series of query parameters with values. See the page about query parameters on how to use these parameters.

$access_token String, optional After successful login you get an access token which needs to be provided in all API requests. Even though it is possible to pass this token as query parameter, we recommended passing it using the HTTP request header as described in Authorization. Note that all access tokens have an expiration time.
$db String, optional Set the database/company for the request
$useMinimumVersion Integer, optional Used to run a new version of an API resource when your API client is running a deprecated API resource. See the Breaking changes page for more information.
$showDomainDescriptions Boolean, optional Set to "true" to include domain descriptions for fields using domain values. See the Domain values page for more information. Default value is false.
$lang String, optional Specifies the language used in the response, following the 3-letter ISO-639-1 [lll]

Read more about filters and sorting on how to use filter parameters and named filters.

Read more about filters and sorting on how to use sortable parameters

Requesting this resource will yield the following response. Mouse over fieldnames (or fieldgroups) for descriptions and other useful information about the fields.

Please note that some fields may be removed from the response, based on user roles/duties/permissions.

Format:
1
<Expense>
2
     <ExpenseId
ExpenseId

Expense identifier

>
{Integer}</ExpenseId>
3
     <AddedAt
AddedAt

Date and time of creation

>
{Datetime}</AddedAt>
4
     <Status
Status

Expense status

Possible domain values can be found here

>
{String}</Status>
5
     <InternalNote
InternalNote

Note for internal use

>
{String}</InternalNote>
6
     <ExternalNote
ExternalNote

Note to customer, may be added to reports or details attached to the invoice

>
{String}</ExternalNote>
7
     <Quantity
Quantity

Quantity of the expenses

>
{Decimal}</Quantity>
8
     <Cost>
9
          <Price
Price

Price of the expense in sales currency

>
{Decimal}</Price>
10
          <Total
Total

Cost of the expense in sales currency (QTY * COSTPRICE)

>
{Decimal}</Total>
11
          <Currency
Currency

Three character code following the ISO 4217 standard

Possible domain values can be found here

>
{String}</Currency>
12
     </Cost>
13
     <IncurredDate
IncurredDate

The date the expense incurred (e.g. the date the kilometers was driven)

>
{Date}</IncurredDate>
14
     <ApprovedAt
ApprovedAt

The date and time the expense was approved

>
15
          <EmployeeId
EmployeeId

Employee identifier

>
{Integer}</EmployeeId>
16
          <LastName
LastName

Last name of employee

>
{String}</LastName>
17
          <FirstName
FirstName

First name of employee

>
{String}</FirstName>
18
          <EmployeeLink
EmployeeLink

Employee reference

>
{String}</EmployeeLink>
19
          <EmployeeId
EmployeeId

Employee identifier

>
{Integer}</EmployeeId>
20
          <LastName
LastName

Last name of employee

>
{String}</LastName>
21
          <FirstName
FirstName

First name of employee

>
{String}</FirstName>
22
          <EmployeeLink
EmployeeLink

Employee reference

>
{String}</EmployeeLink>
23
     </ApprovedAt>
24
</Expense>
1
{
2
     "expense": {
3
          "expenseId
ExpenseId

Expense identifier

":
"{Integer}",
4
          "addedAt
AddedAt

Date and time of creation

":
"{Datetime}",
5
          "status
Status

Expense status

Possible domain values can be found here

":
"{String}",
6
          "internalNote
InternalNote

Note for internal use

":
"{String}",
7
          "externalNote
ExternalNote

Note to customer, may be added to reports or details attached to the invoice

":
"{String}",
8
          "quantity
Quantity

Quantity of the expenses

":
"{Decimal}",
9
          "cost": {
10
               "price
Price

Price of the expense in sales currency

":
"{Decimal}",
11
               "total
Total

Cost of the expense in sales currency (QTY * COSTPRICE)

":
"{Decimal}",
12
               "currency
Currency

Three character code following the ISO 4217 standard

Possible domain values can be found here

":
"{String}"
13
          },
14
          "incurredDate
IncurredDate

The date the expense incurred (e.g. the date the kilometers was driven)

":
"{Date}",
15
          "approvedAt
ApprovedAt

The date and time the expense was approved

":
{
16
               "employeeId
EmployeeId

Employee identifier

":
"{Integer}",
17
               "lastName
LastName

Last name of employee

":
"{String}",
18
               "firstName
FirstName

First name of employee

":
"{String}",
19
               "employeeLink
EmployeeLink

Employee reference

":
"{String}",
20
               "employeeId
EmployeeId

Employee identifier

":
"{Integer}",
21
               "lastName
LastName

Last name of employee

":
"{String}",
22
               "firstName
FirstName

First name of employee

":
"{String}",
23
               "employeeLink
EmployeeLink

Employee reference

":
"{String}"
24
          }
25
     }
26
}

List of available operations/actions for this resource.
See the operations documentation for more information about API operations.

Possible error codes the response might return:

Error 104486 HTTP 400 Unit production is only allowed for measurment units (UNI) of type QTY
Error 100316 HTTP 400 Quantity cannot exceed {0} on UNIT productions
Error 100050 HTTP 403 No admittance as customer {0}
Error 102189 HTTP 400 Missing mandatory parameter for goods reception item id
Error 105416 HTTP 400 Project order item can only be paused if it is active (status 4) and of category 'Hours'
Error 105412 HTTP 400 This change of status is not allowed in a project order item
Error 101047 HTTP 400 The purchase quote item has too low available quantity
Error 105091 HTTP 400 Forward is not allowed because there exists an order change request in edit status
Error 106088 HTTP 400 You can not forward just a part of the quantity for products of this type (WP)
Error 102483 HTTP 400 Finance project is required for general ledger account {0}
Error 102484 HTTP 400 Asset is required for general ledger account {0}
Error 102485 HTTP 400 Dimension {0} ({1}) is required for general ledger account {2}
Error 101313 HTTP 400 Department number is not valid: {0}
Error 101320 HTTP 400 The project number is not valid: {0}
Error 101500 HTTP 400 Project {0} could not be used : Check project FromPeriod and ToPeriod.
Error 101501 HTTP 400 Asset is not allowed on general ledger account {0}
Error 101326 HTTP 400 The asset number is not valid : {0}
Error 109539 HTTP 400 Dimension value {0} could not be used : Check its FromPeriod and ToPeriod.
Error 102486 HTTP 400 Invalid value for dimension {0}