Checking participation status · Season 3 · Challenge 09
n8nWeekly
Challenge

Checking participation status. Read the task while this is confirmed.

Challenge 09 · Season 3

The Balance Check

Match posted payments to active invoices. Find what remains unpaid.

8 invoices12 payments2 answers
Match posted payments to invoices, then check each balanceInvoice totalPosted paymentsBalanceACTIVE ONLYMATCH INVOICE IDMINIMUM ZEROCount unpaid. Add outstanding cents.

Your task

  1. Ignore cancelled invoices and pending payments.
  2. For each active invoice, add its posted payments. Match the exact invoice_id.
  3. Subtract that sum from total_cents. If the result is negative, use zero.
  4. Count invoices with a positive balance and add those balances.

Return unpaid_invoice_count and total_outstanding_cents. No posted payments means zero paid. An overpayment cannot reduce another invoice.

Reading, starter download and connection are untimed.

Start your run

One request returns your 8 invoices and 12 payments. Build the calculation yourself. There is no practice dataset in this challenge.

Your first personal data request starts your timer when the server issues your assignment. Running the starter uses the same timer and saved data.

Read the rules first. Connecting alone does not start the timer.

Data fields and rules

Invoices: invoice_id, status (active or cancelled), total_cents.

Payments: payment_id, invoice_id, status (posted or pending), amount_cents.

Match IDs exactly, not by row position. Each payment refers to an invoice in your packet. Invoice IDs and payment IDs are unique in their own lists. Use whole cents. Do not divide by 100 or round the answers.

Every new personal production assignment has at least one unpaid invoice. An individual invoice may have a zero balance. Re-fetching returns your original data and does not reset your timer.

Use native n8n nodes and ordinary expressions. Code, Function and Function Item nodes are not allowed, including disabled or disconnected nodes. No particular node layout is required.

Build your own solution without AI assistance. A fast time alone does not prove a violation. Personal data prevents copying someone else's answers; a general workflow can still be reused.

Finish and submit

Keep your working workflow. Export a clean copy without keys, credential references, pinned data or saved execution data. On Submit, enter both whole-number answers, upload that JSON and confirm your own-work and no-AI declarations. An explanation is optional.

File ready does not mean submitted. Wait for an accepted result and saved receipt. If the response is lost, check My result before sending another final.

Connecting reads saved status and never starts the clock.