Acumatica Serial Number Tracking Complete Guide
February 12, 2024
•
15 min read
Introduction
Serial number tracking in Acumatica provides complete traceability for individual items. This is essential for industries with regulatory requirements, warranty tracking, or high-value inventory management.
Configuration
Configure items for serial number tracking:
// Enable serial tracking on item
POST /api/data/IN202500
{
"InventoryID": { "value": "ELECTRONIC-ITEM-001" },
"ItemType": { "value": "Stock Item" },
"TrackSerials": { "value": true },
"AutoGenerateSN": { "value": false },
"SerialClass": { "value": "SERIALIZED" }
}
Serial Number Classes
// Create serial number class
POST /api/data/SN201000
{
"ClassID": { "value": "ELECTRONICS" },
"Description": { "value": "Electronics Serial Numbers" },
"Format": { "value": "ELEC-{SEQ:6}" },
"StartNumber": { "value": 1000 },
"Validation": { "value": "Unique" }
}
Receiving Serial Numbers
// Receive items with serial numbers
POST /api/data/PO301000
{
"VendorRefNbr": { "value": "PO-2024-001" },
"Lines": [
{
"InventoryID": { "value": "ELECTRONIC-ITEM-001" },
"Qty": { "value": 5 },
"SerialNumbers": [
{ "value": "SN-10001" },
{ "value": "SN-10002" },
{ "value": "SN-10003" },
{ "value": "SN-10004" },
{ "value": "SN-10005" }
]
}
]
}
Tracking Transactions
Track serial numbers through inventory movements:
// Transfer with serial tracking
POST /api/data/IN304000
{
"FromWarehouse": { "value": "MAIN" },
"ToWarehouse": { "value": "WAREHOUSE2" },
"Lines": [
{
"InventoryID": { "value": "ELECTRONIC-ITEM-001" },
"SerialNumbers": [
{ "value": "SN-10001" },
{ "value": "SN-10002" }
]
}
]
}
Traceability
// Get serial number history
GET /api/data/SN203000?$filter=SerialNumber eq 'SN-10001'
class SerialNumberManager {
constructor(api) {
this.api = api;
}
async getSerialHistory(serialNumber) {
return await this.api.get('SN203000', {
'$filter': `SerialNumber eq '${serialNumber}'`
});
}
async getCurrentLocation(serialNumber) {
const history = await this.getSerialHistory(serialNumber);
return history[0]; // Most recent transaction
}
async transferSerialNumbers(serials, fromWh, toWh) {
return await this.api.post('IN304000', {
FromWarehouse: { value: fromWh },
ToWarehouse: { value: toWh },
Lines: [{
SerialNumbers: serials.map(s => ({ value: s }))
}]
});
}
}
Summary
Serial number tracking in Acumatica provides comprehensive traceability throughout the inventory lifecycle. By implementing proper serial tracking, you can meet regulatory requirements, manage warranties, and maintain complete visibility into your inventory.
For more information, check out our other tutorials on Lot Number Tracking and Quality Control.