Skip to content
Recued
Menu
← Back to recipes

Send approved Wave invoice reminder exception

by recued-core v1

Exception handler for Wave invoice reminders. Use this only when Wave's native invoice reminder automation is insufficient: the invoice customer has no primary email and the owner supplies an exception recipient, the reminder needs an additional recipient, or the owner provides a specific exception note. The recipe re-reads the business and invoice live from Wave, confirms the invoice still has an amount due, sends exactly one attended Wave invoice email, links the invoice to the customer, and seeds data.shared exception-watch state so wave-invoice-reminder-exception-watcher can close the loop when Wave shows the invoice paid or resolved. It never creates invoices, edits invoices, records payments, changes customers, deletes records, or calls arbitrary GraphQL.

Complete workflow

Workflow pack for Wave invoice-reminder exceptions. It adds a collections brief, an owner-approved Wave invoice email for cases native reminders cannot cover, and a scheduled watcher that closes the shared lifecycle when Wave reports the invoice paid or resolved. It depends on the Wave capability pack and does not create or edit invoices, record payments, change customers, or replace Wave native reminders.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Exception handler for Wave invoice reminders. Use this only when Wave's native invoice reminder automation is insufficient: the invoice customer has no primary email and the owner supplies an exception recipient, the reminder needs an additional recipient, or the owner provides a specific exception note. The recipe re-reads the business and invoice live from Wave, confirms the invoice still has an amount due, sends exactly one attended Wave invoice email, links the invoice to the customer, and seeds data.shared exception-watch state so wave-invoice-reminder-exception-watcher can close the loop when Wave shows the invoice paid or resolved. It never creates invoices, edits invoices, records payments, changes customers, deletes records, or calls arbitrary GraphQL.

waveinvoicecollectionsreminder-exception
by recued-core pinned v1

Read-only Wave collections exception briefing. It reads a chosen invoice status bucket and asks the AI summarizer for exception-handling priorities: missing customer email, additional-recipient needs, unusual customer context, and largest or oldest receivables. Assume Wave native invoice reminders cover routine reminders. This recipe does not send invoice emails, mark invoices sent, record payments, update customers, or call arbitrary GraphQL.

waveinvoicescollectionscashflow
by recued-core pinned v1

Scheduled adopter for Wave invoice reminder exception rows in data.shared. It reads the exception-watch ledger, re-reads one watched invoice from Wave, and marks the shared row responded_closed when the source of truth says the invoice is paid or has no amount due. It preserves the origin recipe id and does not send email, notify customers, record payments, edit invoices, change customers, or call arbitrary GraphQL.

waveinvoicecollectionsreminder-exception
by recued-core pinned v1
View pack details, dependencies, and permissions →
How it works 70 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Data fetch
shared_exception_watches ?
Process (69 steps)
target_business_id trim
Trim whitespace from setting business id
target_invoice_id trim
Trim whitespace from setting invoice id
configured_exception_note trim
Trim whitespace from setting exception note
configured_recipient_email trim
Trim whitespace from setting recipient email
configured_subject_override trim
Trim whitespace from setting subject override
has_business_id compare
Check if target business id has data
has_invoice_id compare
Check if target invoice id has data
has_exception_note compare
Check if configured exception note has data
has_subject_override compare
Check if configured subject override has data
include_invoice_url_enabled compare
Check if setting include invoice url equals true
allow_repeat_while_open_enabled compare
Check if setting allow repeat while open equals true
business ?
skip: step.has_business_id not_equal true
invoice ?
skip: step.has_invoice_id not_equal true
has_invoice compare
Check if invoice result data business invoice id has data
email_send_enabled compare
Check if business result data business emailSendEnabled equals true
invoice_status default
Apply default
invoice_chaseable_status compare
Check if invoice status is one of setting eligible statuses
amount_due default
Apply default
has_amount_due compare
Check if amount due is greater than 0
invoice_number default
Apply default
currency default
Apply default
due_date default
Apply default
customer_id default
Apply default
customer_name default
Apply default
customer_email default
Apply default
has_native_customer_email compare
Check if customer email has data
has_configured_recipient compare
Check if configured recipient email has data
target_recipient_email ternary
Apply ternary
has_recipient_email compare
Check if target recipient email has data
missing_primary_email_exception all
Check if all conditions are true
additional_recipient_exception all
Check if all conditions are true
owner_documented_exception compare
Check if has exception note equals true
native_reminders_unavailable_exception compare
Check if setting exception reason equals native_reminders_unavailable
reminder_sequence_exhausted_exception compare
Check if setting exception reason equals reminder_sequence_exhausted
exception_eligible any
Check if any of the conditions are true
invoice_url ternary
Apply ternary
active_watch_rows_for_invoice filter
Filter by condition
blocking_watch_rows filter
Filter by condition
blocking_watch_count count
Count items in blocking watch rows
has_blocking_watch compare
Check if blocking watch count is greater than 0
block_existing_watch all
Check if all conditions are true
skip_exception_send any
Check if any of the conditions are true
draft ?
skip: step.skip_exception_send equal true
draft_body default
Apply default
has_draft_body compare
Check if draft body has data
skip_approve compare
Check if setting approve before send does not equal true
approved_invoice ?
skip: step.skip_approve equal true
subject_text ternary
Apply ternary
skip_send any
Check if any of the conditions are true
sent_invoice ?
skip: step.skip_send equal true
sent_invoice_id default
Apply default
has_sent_invoice compare
Check if sent invoice id has data
invoice_key_colon replace
Replace text in target invoice id
invoice_key_slash replace
Replace text in invoice key colon
invoice_key_dot replace
Replace text in invoice key slash
invoice_key_at replace
Replace text in invoice key dot
invoice_key_space replace
Replace text in invoice key at
invoice_key_left_angle replace
Replace text in invoice key space
invoice_key_right_angle replace
Replace text in invoice key left angle
invoice_key_plus replace
Replace text in invoice key right angle
invoice_key_equals replace
Replace text in invoice key plus
invoice_key_question replace
Replace text in invoice key equals
skip_watch_seed any
Check if any of the conditions are true
seed_wave_invoice_exception_watch ?
skip: step.skip_watch_seed equal true
has_customer_id compare
Check if customer id has data
skip_customer_link any
Check if any of the conditions are true
link_invoice_to_customer ?
skip: step.skip_customer_link equal true
summary to_summary
Format results as a summary card
draft_preview to_table
Format results as a data table
Settings 17 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

tone setting = concise_professional
wave setting =
cc myself setting = false
max words setting = 130
attach pdf setting = true
invoice id setting =
business id setting =
from address setting =
exception note setting =
recipient email setting =
business context setting =
exception reason setting = missing_primary_email
subject override setting =
eligible statuses setting = OVERDUE,UNPAID,PARTIAL,SENT,VIEWED
approve before send setting = false
include invoice url setting = true
allow repeat while open setting = false

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

Where it runs

Device + server Runs on your device (browser) or your server.

Permissions it requires

Read your Wave connection
Declared by the recipe — Recued grants these at install, where you review them before approving.

Data it touches

Warehousedata.businessdata.invoicesenddata.shareddata.billing

About

Tags

wave waveinvoicecollectionsreminder-exceptioncashflowemailsend-classclosed-loopone-person-companystate:wave-invoice-reminder-exception-watcherpack:waveai_surface

Details

70 steps 17 configurable settings recipe_id: send-approved-wave-invoice-reminder-exception