Back to Coupa in Excel
SheetXAI logo
Coupa logo
Coupa · Excel Guide

Bulk-Create Coupa Purchase Orders From an Excel Workbook of Approved Requisitions

The Scenario

You are a procurement coordinator. It is 2:30 PM on a Wednesday and your manager just approved a batch of 50 requisitions that have been sitting in the queue since Monday.

Each requisition is in your Excel workbook, one row per request on the Requisitions tab, with supplier ID in column A, item description in column B, quantity in column C, and unit price in column D. Coupa needs an external purchase order created for every one before end of day.

The slow version of this afternoon:

  • You open Coupa in one window, your workbook in another
  • You create PO number one manually, copy the supplier ID, type the description, enter quantity and price
  • You save, note the PO number, go back to the workbook and paste it into column E
  • You repeat this fifty times
  • By row eighteen your eyes are crossing and you have already made two typos you will not find until the vendors call
  • The last ten POs go out the next morning, and three suppliers miss their production window.

The fast version is one prompt.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent inside your Excel workbook that reads each row and creates the Coupa purchase orders for you.

Open the SheetXAI sidebar and type:

Create a Coupa external purchase order for each row in the Requisitions tab using the supplier ID from column A, item description from column B, quantity from column C, and unit price from column D. Write the new Coupa PO number back into column E for each row. Flag any rows where the supplier ID was not found in Coupa.

SheetXAI reads all fifty rows, calls the Coupa API per requisition, creates each external PO, and writes the confirmation numbers back into column E. Rows where the supplier ID fails validation get flagged rather than silently skipped.

What You Get

Fifty Coupa external purchase orders created from a single prompt:

  • PO per row — each requisition becomes its own Coupa PO with the right supplier, item, quantity, and price
  • Confirmation written back — each new PO number lands in column E of the Requisitions tab
  • Exception flags — any row that failed gets marked so you can fix and rerun just those rows
  • Audit trail — your workbook becomes the record of what was created and when

The confirmation in column E means your workbook and Coupa are in sync from the moment the job finishes, not after a separate reconciliation step later in the week.

If some POs need a delivery date or cost center, tell SheetXAI which column holds it and it adds those fields to the PO creation call.

What If the Data Is Not Quite Ready

Requisition workbooks come from many sources and are rarely perfectly clean. SheetXAI normalizes, filters, and creates in the same prompt.

When supplier IDs are missing and only names are available

Your workbook has supplier names in column A but you need Coupa supplier IDs to create the POs.

For each row in the Requisitions tab, look up the Coupa supplier ID by the supplier name in column A. Write the supplier ID into column F. Then create a Coupa external PO for each row using that supplier ID, item from column B, quantity from column C, and unit price from column D. Write the PO number into column G.

When some rows are not yet approved

Column E has status values: Approved, Pending, Rejected. You only want to create POs for the Approved rows.

Filter the Requisitions tab to rows where column E says Approved. For each of those rows, create a Coupa external PO using supplier ID from column A, item from column B, quantity from column C, and unit price from column D. Write the PO number into column F. Skip all other rows and leave column F blank.

When unit prices have inconsistent formatting

Some rows have prices as $1,200.00, others as 1200, others as 1,200. Coupa expects a clean number.

Normalize all values in column D of the Requisitions tab to plain decimal numbers with no currency symbols or commas. Then create a Coupa external PO for each row using supplier ID from column A, item from column B, quantity from column C, and the normalized price from column D. Write each PO number into column E.

When you need to handle the full pipeline: filter, normalize, create, confirm

Your raw requisition export has status mixed in, prices formatted inconsistently, and a handful of rows with missing supplier IDs that need lookup first.

Filter the Requisitions tab to rows where column E says Approved. For rows where column A has a supplier name instead of a numeric ID, look up the Coupa supplier ID by name and write it into column F. Normalize all prices in column D to plain decimals. Then create a Coupa external PO for each filtered row using the supplier ID (column F if populated, else column A), item from column B, quantity from column C, and normalized price from column D. Write the PO number into column G and flag any failures in column H.

The pattern: instead of cleaning the workbook first, then filtering, then creating POs one by one, you describe the whole pipeline in one prompt.

Try It

Get the 7-day free trial of SheetXAI and open any workbook with approved requisitions, then ask it to create the Coupa POs and write the confirmation numbers back. The Coupa integration is included in every SheetXAI plan. For related workflows, see how to bulk-create invoices against POs in Excel or the Coupa in Excel overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more