Complete Guide to Acumatica Advance Shipping Notices (ASN)
Introduction
Advance Shipping Notices (ASN) are electronic documents that inform recipients about incoming shipments before they arrive. In Acumatica ERP, ASNs play a crucial role in warehouse receiving operations, inventory management, and supply chain visibility.
This guide covers everything you need to know about creating, managing, and integrating ASNs in Acumatica.
What is an ASN?
An Advance Shipping Notice (ASN) is a document that contains detailed information about a shipment, including:
- Shipper and receiver information
- Shipment date and expected arrival
- Carrier details and tracking numbers
- Item quantities and lot/serial numbers
- Packaging information and weights
ASNs help receiving teams prepare for incoming goods, reduce inspection time, and improve inventory accuracy.
Creating an ASN in Acumatica
Acumatica provides multiple ways to create ASNs. You can generate them from sales orders, purchase orders, or create them manually.
From Purchase Orders
// Creating ASN from Purchase Order via API
POST /api/data/PO302000
{
"OrderNbr": { "value": "PO-2024-001" },
"ShipmentTerms": { "value": "FOB Destination" },
"ShippingSettings": {
"CarrierID": { "value": "FEDEX" },
"TrackingNumber": { "value": "789456123" }
}
}
Manual ASN Creation
// Creating standalone ASN
POST /api/data/PO302000
{
"ShipmentType": { "value": "ASN" },
"VendorID": { "value": "VENDOR001" },
"VendorName": { "value": "ABC Suppliers" },
"ShipTo": { "value": "WAREHOUSE1" },
"ExpectedDate": { "value": "2024-02-01" }
}
Processing ASNs
When an ASN arrives, warehouse staff can process it in Acumatica to receive inventory. Here's the workflow:
- Verify ASN - Check that shipment details match the expected goods
- Receive Items - Record quantities received against the ASN
- Inspect Quality - Perform quality checks if required
- Update Inventory - Post received items to inventory
- Generate Receipt - Create the purchase receipt document
Receiving Against ASN
// Process ASN receipt
POST /api/data/PO301000
{
"ReceiptType": { "value": "Normal" },
"VendorRefNbr": { "value": "ASN-2024-001" },
"Lines": [
{
"InventoryID": { "value": "ITEM001" },
"Qty": { "value": 100 },
"UnitCost": { "value": 25.00 }
}
]
}
API Integration
Integrate ASNs with your external systems using the Acumatica REST API:
class ASNManager {
constructor(api) {
this.api = api;
}
async createASNFromPO(poNumber) {
const po = await this.api.get(`PO302000/${poNumber}`);
const asn = {
OrderNbr: { value: po.OrderNbr.value },
ShipmentTerms: po.ShipmentTerms,
Details: po.Details.map(line => ({
InventoryID: line.InventoryID,
OrderQty: line.OrderQty,
ShippedQty: line.OrderQty
}))
};
return await this.api.post('PO302000', asn);
}
async getPendingASNs() {
return await this.api.get('PO302000', {
'$filter': 'Status eq "Open"'
});
}
async processReceipt(asnNumber, receivedLines) {
const receipt = {
VendorRefNbr: { value: asnNumber },
Lines: receivedLines
};
return await this.api.post('PO301000', receipt);
}
}
Best Practices
- Automate ASN generation - Generate ASNs automatically from sales orders
- Use EDI - Implement EDI 856 for automated ASN exchange
- Track exceptions - Monitor for discrepancies between ASN and actual receipts
- Integrate with WMS - Connect with warehouse management systems
- Real-time updates - Use API webhooks for instant notification
Summary
Advance Shipping Notices are essential for efficient warehouse operations and inventory management in Acumatica. By leveraging the API and following best practices, you can automate receiving processes and improve supply chain visibility.
For more information, check out our other tutorials on Acumatica REST API and Quality Control.