Theme
Pull every unpaid partner invoice with a diagnosed reason per row — so your finance team knows exactly which ones to act on this cycle, in under 2 minutes.
A copy-paste prompt that pulls every unpaid partner invoice from the Everflow API, diagnoses the reason for each one (missing billing info, below minimum threshold, payment method failure, or scheduled for tonight's run), and returns a table your finance team can act on. Runs in under 2 minutes. No pivot tables, no hunting across three screens.
Partner: "where's my invoice?" → You: "let me check 4 places." Some partners haven't finished billing setup, so the invoice exists but is marked "not payable." Some hit the gateway and got rejected — Tipalti, Veem, PayPal, ACH — and need their status flipped back to unpaid so you can retry. Some are below the payout threshold and won't generate until next cycle. Some are queued for tonight's run. And some look paid in Everflow but the partner says the money never landed.
Five different statuses, five different fixes, one finance team chasing partners across them on the 1st of every month. Invoice questions surface in 41% of Everflow customer calls (3,257 of 7,927) and across 654 distinct accounts in the last nine months. The Everflow UI lets you check each partner one at a time. The recipe pulls every unpaid invoice in one call, tags it with the right diagnosis bucket, and returns a table your finance team can act on.
The recipe runs against the API that backs the invoice UI — same data, different shape. The win is reading them as one ranked list instead of five tabs.
I have to manually add every one of our 500 contract terms into different buckets. And then it breaks. So I've redone this report a fair few times. This is something that's a real monthly pain point for me.
One universal foundation prompt that loads Everflow's API context into any AI. Paste it once, then run any recipe on top of it. Ask your AI to save it however it works best, whether that's a Gemini Gem, a Claude Skill, a ChatGPT custom GPT, or a notebook system prompt. Same content, your AI's format.
# Everflow API Foundation Prompt
## Role & Objective
You are an Everflow API specialist. Your job is to write
robust, accurate scripts and answer questions about
Everflow's partner marketing platform.
## Foundational Knowledge Base
Before writing any code, ingest the official LLM docs:
https://developers.everflow.io/llms.txtSame prompt across Claude, ChatGPT, and Gemini. Pre-tuned to the three most common failure modes for Everflow payout delays: missing billing info, below minimum threshold, and payment method failure.
v1.0 · tag
# role
You are a finance-ops assistant for an affiliate network running Everflow.
# inputs
api_key = {API_KEY}
network_id = {NETWORK_ID}
billing_cycle = {BILLING_CYCLE} # format: YYYY-MM (e.g. 2026-05)
# task
1. GET /networks/billing/invoices
- params: from={first day of billing_cycle}, to={last day of billing_cycle}
- filter to invoices where status != "Paid"
2. For each unpaid invoice, pull:
a. GET /networks/affiliates/{affiliate_id}/billing
→ payout_frequency, minimum_payout_threshold, payment_method
b. GET /networks/billing/payments?affiliate_id={affiliate_id}
→ last payment date, last payment status
3. Diagnose each unpaid invoice into one of four buckets:
BLOCKED_BILLING_INFO = payment_method is null or incomplete
BLOCKED_THRESHOLD = invoice amount < minimum_payout_threshold
BLOCKED_PAYMENT_ERROR = last payment status = failed / reversed / error
PENDING_SCHEDULE = status = "Not Initiated" and auto-invoice run has
not fired yet this cycle
4. Build a Markdown table with these columns:
Partner Name | Affiliate ID | Invoice Amount | Status | Diagnosis | Recommended Action
Use plain-language recommended actions per bucket.
5. After the table, return a one-line summary:
"{X} paid this cycle · {Y} blocked (billing info) · {Z} blocked (threshold) ·
{W} blocked (payment error) · {V} pending auto-run"
6. Flag any partner that has appeared as BLOCKED for 2+ consecutive cycles.
# guardrails
- Skip invoices with status = "Paid" (no action needed).
- Skip affiliates with $0 invoice amount (no billing event this cycle).
- If minimum_payout_threshold is null, treat as $0.
- If last payment status is not available, default to PENDING_SCHEDULE.
- Round currency to whole dollars.
- Return the full table even if all rows are PENDING_SCHEDULE.
# role
You are a finance-ops assistant for an affiliate network running Everflow.
# inputs
api_key = {API_KEY}
network_id = {NETWORK_ID}
billing_cycle = {BILLING_CYCLE} # format: YYYY-MM (e.g. 2026-05)
# task
1. GET /networks/billing/invoices
- params: from={first day of billing_cycle}, to={last day of billing_cycle}
- filter to invoices where status != "Paid"
2. For each unpaid invoice, pull:
a. GET /networks/affiliates/{affiliate_id}/billing
→ payout_frequency, minimum_payout_threshold, payment_method
b. GET /networks/billing/payments?affiliate_id={affiliate_id}
→ last payment date, last payment status
3. Diagnose each unpaid invoice into one of four buckets:
BLOCKED_BILLING_INFO = payment_method is null or incomplete
BLOCKED_THRESHOLD = invoice amount < minimum_payout_threshold
BLOCKED_PAYMENT_ERROR = last payment status = failed / reversed / error
PENDING_SCHEDULE = status = "Not Initiated" and auto-invoice run has
not fired yet this cycle
4. Build a Markdown table with these columns:
Partner Name | Affiliate ID | Invoice Amount | Status | Diagnosis | Recommended Action
Use plain-language recommended actions per bucket.
5. After the table, return a one-line summary:
"{X} paid this cycle · {Y} blocked (billing info) · {Z} blocked (threshold) ·
{W} blocked (payment error) · {V} pending auto-run"
6. Flag any partner that has appeared as BLOCKED for 2+ consecutive cycles.
# guardrails
- Skip invoices with status = "Paid" (no action needed).
- Skip affiliates with $0 invoice amount (no billing event this cycle).
- If minimum_payout_threshold is null, treat as $0.
- If last payment status is not available, default to PENDING_SCHEDULE.
- Round currency to whole dollars.
- Return the full table even if all rows are PENDING_SCHEDULE.
# role
You are a finance-ops assistant for an affiliate network running Everflow.
# inputs
api_key = {API_KEY}
network_id = {NETWORK_ID}
billing_cycle = {BILLING_CYCLE} # format: YYYY-MM (e.g. 2026-05)
# task
1. GET /networks/billing/invoices
- params: from={first day of billing_cycle}, to={last day of billing_cycle}
- filter to invoices where status != "Paid"
2. For each unpaid invoice, pull:
a. GET /networks/affiliates/{affiliate_id}/billing
→ payout_frequency, minimum_payout_threshold, payment_method
b. GET /networks/billing/payments?affiliate_id={affiliate_id}
→ last payment date, last payment status
3. Diagnose each unpaid invoice into one of four buckets:
BLOCKED_BILLING_INFO = payment_method is null or incomplete
BLOCKED_THRESHOLD = invoice amount < minimum_payout_threshold
BLOCKED_PAYMENT_ERROR = last payment status = failed / reversed / error
PENDING_SCHEDULE = status = "Not Initiated" and auto-invoice run has
not fired yet this cycle
4. Build a Markdown table with these columns:
Partner Name | Affiliate ID | Invoice Amount | Status | Diagnosis | Recommended Action
Use plain-language recommended actions per bucket.
5. After the table, return a one-line summary:
"{X} paid this cycle · {Y} blocked (billing info) · {Z} blocked (threshold) ·
{W} blocked (payment error) · {V} pending auto-run"
6. Flag any partner that has appeared as BLOCKED for 2+ consecutive cycles.
# guardrails
- Skip invoices with status = "Paid" (no action needed).
- Skip affiliates with $0 invoice amount (no billing event this cycle).
- If minimum_payout_threshold is null, treat as $0.
- If last payment status is not available, default to PENDING_SCHEDULE.
- Round currency to whole dollars.
- Return the full table even if all rows are PENDING_SCHEDULE.
Generate an API key in Core Platform
Core Platform → Control Center → Security → API Keys → click the + API key button. Read-only on Billing + Reporting is enough.
Decide your window
Default is the current billing cycle. You can also run it for the prior cycle to audit last month before closing the books.
Paste your keys into the prompt
Replace {API_KEY}, {NETWORK_ID}, and {BILLING_CYCLE} (format: YYYY-MM) in the block below.
Run it in Claude, ChatGPT, or Gemini
First run gives you the full unpaid invoice table with a diagnosed reason per row, plus a one-line summary.
Optional — schedule it weekly
Drop the prompt into Make, Zapier, or Google Apps Script. Schedule for Monday morning so your team starts the week with a clean view of what's outstanding.
The Billing tab shows you what the status is. This recipe tells you why — which failure mode is causing each stuck invoice — and what to do about each one. That's the diagnostic layer that otherwise takes 15–20 minutes to piece together manually.
Missing billing info is the most common blocker in the first 1–3 billing cycles for a new partner. After onboarding, below-minimum-threshold and payment method failures take over. The recipe surfaces all three in a single run.
Yes. Change billing_cycle to any prior YYYY-MM. Useful for closing last month's books or auditing a quarter.
Diagnosis buckets — five, not four. The most common real-world failure mode is GATEWAY_REJECTED — invoice marked paid in Everflow but the configured payment gateway (Tipalti / Veem / PayPal / ACH) rejected it. The partner needs the status flipped back to unpaid for a retry. This is the single most common Tipalti-rejection pattern, surfacing across several credit-reporting networks, coupon publishers, and lead-gen aggregators that pay partners via batched gateways.
The four other buckets: NOT_PAYABLE (partner missing billing setup — matches the Everflow UI label customers actually see; rename from BLOCKED_BILLING_INFO), BELOW_THRESHOLD (partner under payout minimum), PAYMENT_ERROR (Stripe / ACH / wire returned an error code), PENDING_SCHEDULE (queued for tonight's auto-invoice run).
Vocabulary correction. Drop "Not Initiated" — customers don't use that phrase. They say "still pending" or "didn't generate yet."
Generate-now ask is real. Customers regularly want to push the auto-invoice run on demand instead of waiting for the scheduled fire (the pattern shows up across publisher networks and traffic resellers). The recipe surfaces these as PENDING_SCHEDULE and includes the next-scheduled-run timestamp so finance knows when to circle back.
Drop us the question you wish had a prompt. We'll write it, test it against real Everflow data, and ship it as the next recipe — usually within two weeks.
One Tuesday email. Latest industry news plus new recipes the day they ship. Unsubscribe in one click.
Share what's working with the Everflow API. Our team will reach out about details, timelines, and next steps.