Skip to content

How to Partial Receive in NetSuite from Excel (No CSV Import Limits)

One of the biggest limitations of standard NetSuite CSV imports is partial receiving. If you receive against a purchase order in stages, which almost every warehouse does, the CSV Import Assistant cannot handle it cleanly, so you end up entering receipts manually, line by line, inside NetSuite.

Legacy Excel add-ons try to solve this, but they require downloading separate purchase order sheets, building VLOOKUP formulas, and toggling technical flags like ReplaceAll = FALSE.

NetXcel by Maayins removes that complexity with direct, line-level receiving control straight from your spreadsheet. Below is the complete workflow, including a real purchase order received in two stages, with serial and lot tracking handled inline.

Watch: How to process partial Item Receipts in NetSuite using NetXcel


Setting up the receipt template

Open the side menu and go to Data Source, then Data Management. Choose your data source, select Item Receipt as the record type, pick your template, and click Add Template (or Update Template) to pull it into the sheet.

Every picklist field loads live from NetSuite, so you can select values from dropdown menus or type and tab without memorizing internal IDs.

How to create and upload item receipts, step by step

1. Pull open purchase orders: query open PO numbers into Excel using NetXcel saved searches or SuiteQL to see the quantities remaining on each line.

2. Enter partial quantities and serial numbers: set Created From to the PO (for example PO449), which auto-fills the header. Enter the partial quantity for each line, attach any serial or lot numbers from the picklist, and put the same External ID on every row you want grouped into one receipt.

3. Upload to NetSuite: click Upload in the NetXcel side panel. NetXcel creates the Item Receipt in NetSuite immediately, links it to the original PO, and returns the new Item Receipt internal ID back to your sheet.


A real example: PO449 received in two stages

Here is a typical partial receipt where only part of a purchase order has arrived. PO449 mixes control types that standard CSV imports usually cannot handle in one pass, and it is received across two separate item receipts.

PO449 Line Control Type Ordered Qty Stage 1 Receipt Stage 2 Receipt
S1_SERVICE Service (no inventory detail) 1 1 N/A
SERIAL_TST_01 (Serial Test 01) Lot / Serial controlled 3 1 (SN00001) 2 (SN00002, SN00003)
SATB_5OZ Standard inventory 1 0 1

Stage 1: the first partial

Stage 1 covers three different control types where CSV imports typically fail: a service item (S1) that needs only quantity and location, a bin-controlled item that needs only a bin assignment, and the lot and serial item Serial Test 01, where you assign serial SN00001 with a quantity of 1 for a deliberate partial receipt.

Fill in the same External ID across every row to group them into one receipt, then click Upload. Within seconds the status turns green and internal IDs populate in the sheet. Refreshing PO449 in NetSuite moves the status from Pending Receipt to Pending Billing, Partially Received, and opening the new item receipt confirms every detail matches.

Stage 2: finishing the order

For the rest of the order, clear the sheet, redownload the template, and enter the PO number and date. This time the remaining serial units are split across separate rows for full line-level flexibility:

  • Serial number SN00002 on the first row.
  • Standard inventory item SATB 5 oz on the second row.
  • Serial number SN00003 for Serial Test 01 on the third row.

Copy the External ID down across all rows and click upload. PO449 is now fully Pending Billing, and the new item receipt confirms both SN00002 and SN00003 were logged accurately on separate lines.

Confirming the record in NetSuite

Open NetSuite and check purchase order PO449. The status updates automatically to Pending Billing, Partially Received after Stage 1 and to Pending Billing after Stage 2, with received quantities and serial numbers logged accurately on the transaction record.


Why NetXcel beats manual NetSuite entry and legacy add-ons

Feature / Capability Standard NetSuite CSV Legacy Excel Add-ons NetXcel by Maayins
Partial Receiving All-or-nothing limitation Manual formula mapping required Built-in PO reference auto-fill
PO Header Population Manual entry Manual lookup formulas Automatic upon entering PO ID
Multi-Line Serial/Lot Tracking Complex or unsupported Multiple tab setups Directly inline per row
Live NetSuite Picklists None (requires internal IDs) Static / periodic refresh Dynamic live picklist dropdowns

Bi-directional inventory sync

NetXcel lets warehouse and finance teams sync inventory status, track remaining line items, and update multi-stage receipts seamlessly from a single spreadsheet interface, with no manual CSV formatting. For any team that receives POs in stages, it turns a manual, time-consuming task into a simple spreadsheet upload.

NetXcel is a multi-platform spreadsheet connector for Excel and Google Sheets developed by Maayins Technologies LLC. It is available on Microsoft AppSource and the Google Workspace Marketplace. NetSuite is a registered trademark of Oracle; NetXcel is an independent solution and is not affiliated with or endorsed by Oracle.