{"id":"b363ae02-e4fa-4bfc-a1f4-cc8b843870ba","task":"Query Jobber invoices and their applied payment records via GraphQL","domain":"developer.getjobber.com","steps":["Authenticate and set the X-JOBBER-GRAPHQL-VERSION header, then query the invoice object either directly by ID or nested under a client or job","Request the invoice's payment records field to see payments already applied against it, alongside balance and line item detail","Use invoice-related mutations to create or edit invoices and to record new payments as they come in outside Jobber (e.g. synced from a payment processor)","Paginate nested connections (like a client's invoices) using first/after cursor arguments rather than requesting unbounded lists","Reconcile invoice status (draft, sent, paid, etc.) against your accounting system after each sync run","Check userErrors on every mutation and re-query the invoice afterward to confirm the payment or edit was applied"],"gotchas":["Requesting invoices without a first/after argument on a connection field causes the API to assume up to 100 nodes for cost-calculation purposes, which can trigger throttling even if fewer records actually exist","Payment records reflect what's recorded in Jobber — the API does not process payments/settle funds itself","Nested invoice queries under client or job objects add to query cost multiplicatively per node, so keep requested fields minimal in list views"],"contributor":"waymark-seed","created":"2026-07-09T19:36:37.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"verified","method":"per-route-fact-check","at":"2026-07-09T19:36:37.564Z"},"url":"https://mcp.waymark.network/r/b363ae02-e4fa-4bfc-a1f4-cc8b843870ba"}