Auto-file your monthly Craigslist bill in QuickBooks

On the first business day of each month, pull last month's Craigslist bulk-posting invoice, file it as a bill in QuickBooks, and recap totals in Slack.

Agentic Task
CraigslistQuickBooks OnlineSlackFinanceOperationsData SyncNotifications & Alerts
PromptCreate

On the first business day of every month at 8am ET, close out my prior month's Craigslist bulk-posting spend by filing it as an accounts payable bill in QuickBooks Online, so my AP team doesn't have to wait on the emailed Craigslist invoice or hand-key the line items.

Trigger: a cron that fires on the first business day of every month at 8am ET. (Skip weekends and US federal holidays so it actually lands on a business day.)

Step 1. Call Craigslist's Generate Early Invoice operation for the prior billing cycle and read every line item back, including area, category, description, and amount. Note the money envelope: Craigslist returns each amount as a fixed-point object shaped { amount, currency, exponent }. For USD with exponent 2, divide the integer amount by 100 to get the dollar value. Do this conversion before passing anything to QuickBooks, which expects decimal dollars, not cents.

Step 2. Look up the Craigslist vendor in QuickBooks Online using Query Entities (search Vendor by DisplayName = 'Craigslist'). If no vendor comes back, call Create Vendor to make one with DisplayName 'Craigslist', then use the returned id. If a vendor already exists, hold onto the vendor id so the bill has somewhere to land.

Step 3. Call Create Bill against that vendor with one line item per Craigslist charge. Use the converted dollar amount as the line Amount, and put the Craigslist area plus category plus description into the line memo (or Description) so AP can see exactly what they paid for. Set the bill TxnDate to today and DueDate to today plus 30 days. Include a private note on the bill linking back to the Craigslist billing cycle range (start and end dates) for traceability.

Step 4. Post a Slack message to my finance channel using Send a Message. The recap should include: the Craigslist billing cycle range, the total dollars, the number of line items, and the new QuickBooks bill id (or a deep link to it), so the controller can open it in QuickBooks and approve payment.

Guard rail: if Generate Early Invoice returns an empty set, or the Craigslist response contains any error code in its errors array (even on a 200), skip the QuickBooks bill entirely and instead post a Slack warning to the same finance channel describing what Craigslist returned. Never write a zero-dollar bill, and never partially write a bill when the invoice data is incomplete.

Additional information

What does this prompt do?
  • Pulls your prior month's Craigslist bulk-posting charges automatically on day one of the month
  • Files an accounts payable bill against the Craigslist vendor in QuickBooks Online, with each posting charge as its own line item
  • Creates the Craigslist vendor for you the first time it runs, so AP never hits a 'vendor not found' error
  • Posts a Slack recap to your finance channel with the cycle total, line item count, and the new QuickBooks bill ID so the controller can approve payment
  • Skips the bill and posts a warning instead if Craigslist has nothing to invoice or returns an error, so you never end up with a zero-dollar bill on the books
What do I need to use this?
  • A Craigslist bulk posting account with billing access
  • A QuickBooks Online login that can create bills and vendors
  • A Slack workspace and a finance channel you want the recap posted to
How can I customize it?
  • Move the run time or day (for example, second business day at 7am ET instead of the first)
  • Change which Slack channel gets the recap, or route it to a private AP channel
  • Adjust the bill due date (default is net 30) or the line-item memo format your AP team prefers
  • Swap the vendor name if you've filed Craigslist in QuickBooks under a different label, like 'Craigslist Inc.'

Frequently asked questions

What happens if Craigslist has nothing to bill for last month?
The workflow skips the QuickBooks bill entirely and posts a quick Slack note saying there were no Craigslist charges this cycle. You never end up with a zero-dollar bill cluttering your books.
Will this work even though Craigslist hasn't sent its regular monthly invoice yet?
Yes. The workflow asks Craigslist for an early invoice covering the prior billing cycle, which is the same data Craigslist would email later. You don't have to wait for the email to land in your AP inbox.
What if the Craigslist vendor doesn't exist yet in QuickBooks?
On the first run, the workflow creates the Craigslist vendor for you. After that it reuses the same vendor every month, so there's no duplicate setup work.
Does the controller still get to review the bill before it's paid?
Yes. The bill lands in QuickBooks as unpaid, exactly like any other AP record. The Slack recap includes the bill ID so your controller can open it, sanity-check the lines, and schedule payment on their own terms.
Can I keep one line per Craigslist area and category instead of one big number?
That's the default. Every Craigslist charge becomes its own line on the bill, with the area and category description preserved in the line memo, so AP can see exactly what they're paying for.

Stop chasing Craigslist's emailed invoice every month.

Connect Craigslist, QuickBooks, and Slack once, and Geni files your monthly bill and pings your finance channel on the first business day.