Service Purchase Item API
Create and manage services purchased from vendors (consulting, maintenance, support, etc.).
Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /record/v1/servicePurchaseItem | List service purchase items |
GET | /record/v1/servicePurchaseItem/{id} | Get specific item |
POST | /record/v1/servicePurchaseItem | Create item |
PATCH | /record/v1/servicePurchaseItem/{id} | Update item |
DELETE | /record/v1/servicePurchaseItem/{id} | Delete item |
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
itemId | string | Item name/number | Yes (if not auto) |
displayName | string | Display name | No |
description | string | Item description | No |
subsidiary | object | Subsidiary assignment | Yes (OneWorld) |
expenseAccount | object | Expense account | Yes |
purchaseDescription | string | Purchase description | No |
cost | number | Purchase cost | No |
vendor | object | Preferred vendor | No |
taxSchedule | object | Tax schedule | No |
department | object | Default department | No |
class | object | Default class | No |
location | object | Default location | No |
isInactive | boolean | Inactive flag | No |
Example: Create Service Purchase Item
POST /record/v1/servicePurchaseItem
Content-Type: application/json
{
"itemId": "CONSULTING-VENDOR",
"displayName": "Vendor Consulting Services",
"description": "Professional consulting services from external vendors",
"subsidiary": {
"id": "1"
},
"expenseAccount": {
"id": "650"
},
"purchaseDescription": "Consulting hours for system implementation",
"cost": 150.00,
"vendor": {
"id": "456"
},
"taxSchedule": {
"id": "1"
}
}
Response:
{
"id": "789",
"itemId": "CONSULTING-VENDOR",
"displayName": "Vendor Consulting Services",
"description": "Professional consulting services from external vendors",
"subsidiary": {
"id": "1",
"refName": "Parent Company"
},
"expenseAccount": {
"id": "650",
"refName": "Professional Fees"
},
"purchaseDescription": "Consulting hours for system implementation",
"cost": 150.00,
"vendor": {
"id": "456",
"refName": "ABC Consulting"
},
"taxSchedule": {
"id": "1",
"refName": "Tax Schedule"
},
"isInactive": false,
"lastModifiedDate": "2025-12-25T10:30:00Z"
}
Example: Update Service Purchase Item
PATCH /record/v1/servicePurchaseItem/789
Content-Type: application/json
{
"cost": 175.00,
"purchaseDescription": "Updated consulting services - system integration"
}
Response:
{
"id": "789",
"itemId": "CONSULTING-VENDOR",
"displayName": "Vendor Consulting Services",
"cost": 175.00,
"purchaseDescription": "Updated consulting services - system integration",
"lastModifiedDate": "2025-12-25T11:00:00Z"
}
Query Filters
Find Active Service Purchase Items
GET /record/v1/servicePurchaseItem?q=isInactive=false
Find by Item ID Pattern
GET /record/v1/servicePurchaseItem?q=itemId LIKE 'CONSULTING%'
Find by Vendor
GET /record/v1/servicePurchaseItem?q=vendor.id=456
Find by Expense Account
GET /record/v1/servicePurchaseItem?q=expenseAccount.id=650
Important Notes
- Service purchase items represent services you purchase from vendors, not services you sell
- These items will appear in purchase orders and vendor bills
- The expenseAccount is required and determines where the expense is posted when the service is received
- Unlike inventory items, service items do not track quantity or use costing methods
- Services can be marked as billable to track reimbursable services on customer invoices
- The vendor field is optional but recommended for setting a preferred vendor
- In OneWorld accounts, subsidiary assignment is mandatory
- Service purchase items can have default department, class, and location dimensions
See Also
- Service Resale Item - Services purchased and resold
- Service Sale Item - Services sold (not purchased)
- Non-Inventory Purchase Item - Non-service purchase items