The Scenario
Month-end is in three days and your account manager just sent a message: 50 clients need invoices before the 31st. The amounts, descriptions, and email addresses are already in a Google Sheet — a tidy 50-row table someone put together last week. What's missing is the actual invoices.
Paystack calls them payment requests. You call them the thing you have to create one at a time in the dashboard.
The bad version:
- You open Paystack, go to Payment Requests, click Create, enter the customer email, the amount (in kobo — so you have to multiply by 100 first), the description, and send.
- You do this 8 times before realizing you forgot to copy the description for row 4 and just typed a placeholder. You go back and fix it.
- Halfway through you discover that three of the client emails don't have Paystack customer records yet, so those requests fail and you have to create the customers first, then come back.
50 invoices at roughly 3 minutes each is two and a half hours of form-filling. The account manager is already asking for confirmation.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your invoice data and creates each Paystack payment request through the API, writing the returned request code back into column D — so you have a record of every invoice without touching the dashboard.
Create a Paystack payment request for each row in this sheet: use column A for customer email, column B for amount (in kobo), and column C for description.
What You Get
- A Paystack payment request created for each row
- Returned payment request code written to column D for tracking
- Rows where creation fails — customer not found, invalid email — get an error note in column D
- All 50 requests issued in one run
What If the Data Is Not Quite Ready
Amounts are in naira and need to be converted to kobo
Create a Paystack payment request for each row using email from A, amount from B multiplied by 100 to convert to kobo, and description from C — write the returned request code to column D.
Some emails don't have Paystack customer records yet
For each row, first check if a Paystack customer exists for the email in column A — create a new customer if not — then create a payment request using the email, amount in kobo from column B, and description from column C, writing the returned request code to column D.
Descriptions need a standard prefix added
Create a Paystack payment request for each row using email from A, amount from B in kobo, and description from C prefixed with 'Invoice - May 2025: ' — write the returned request code to column D.
Normalize amounts, ensure customers exist, add prefix, and create in one shot
Multiply amounts in column B by 100 to convert to kobo, check that a Paystack customer exists for each email in column A (create one if not), then create a payment request for each row with the converted amount and a description from column C prefixed with 'Invoice - May 2025: ' — write the returned request code to column D.
Running the whole chain in one prompt means you send the account manager a "done" message before the end of the day — not a "working on it."
Try It
Open the Google Sheet where your invoice or billing data lives, then Get the 7-day free trial of SheetXAI and ask it to create your Paystack payment requests in bulk. You can also look at how to bulk-create customers before running invoices, or how to export your transaction history once payments come in.
