This article was drafted and I came here to post it, only to discover that Quickfile are launching a connector. So, this might be a little out of date, but it might be helpful.
The background
I run a small IT Consultancy (there are four of us). We mostly work on fixed-price software development work.
Because our clients tend to be a: quite large, and b: in regulated industries, they have very specific requirements about how we should invoice them.
We use Trello as a project management system. I have hooked up Claude Desktop (specifically the “Claude CoWork” feature within in it) to run the following every Thursday morning.
I’ve give Claude the ability to create draft emails from me, and read my previous emails (and my Trello, and log into Quickfile), but I haven’t given it permission to actually send emails on my behalf. I like a human in the loop.
Doing it this way allows me to use my “email drafts” as a sort of personal to do list.
What’s below
The text below the plus signs is something that I’ve added to Claude CoWork as a “scheduled task” in the “instructions” box.
For this forum post, I’ve redacted out certain info, but left an explanation in square brackets. The other punctuation, including the curly brackets, is from the instructions in Claude.
+++++++
Using browser remote control, go to Trello [with the board ID to our project management systems in the link]
Find all tickets in the “To invoice” list that are labelled “[Client Name]”. Ignore all other tickets.
For each [Client Name] ticket, follow these steps in order:
Step 1: Parse the ticket
Extract the following from the ticket title:
- ProjectName: everything before the pricing information. Strip any punctuation immediately before the price (e.g. a trailing " -" or “:”).
- Amount: the numeric value of the price, excluding VAT.
- The month or months in which the work was done, based on when the ticket was moved to “In progress” for the start date, and “With client - ready to test” for the end date. Calculate a percentage for each, rounded to 10% but so they sum to 100%, based on the working days in that date range.
Examples:
- “SingleStore to Postgres migration for [piece of software] excluding ORM - £2850+vat” → ProjectName: “SingleStore to Postgres [piece of software] excluding ORM”, Amount: 2850
- “Watermarking - API … £18,900 of which £12,000 to [subcontractor] and £2500 provision for Unit tests (which [another subcontractor] might do)” → ProjectName: “Watermarking - API”, Amount: 18900
Step 2: Create a QuickFile invoice
Using browser automation, go to [My Quickfile login page.]
If you require a manual login, pause the task and notify me.
Create an invoice with these fields:
- Item: (leave blank)
- Unit Cost: Amount (excluding VAT)
- Qty: 1
- VAT: 20%
- Description: 3 lines (in the same invoice item field), with blank line between each:
1: "Software development: " followed by ProjectName
2: Approved by -
3: Work done in / Work done in <x%> and <y%>
4: Client VAT Registration Number: [Client’s VAT number, which they need to appear on every invoice we send them. Obviously, Quickfile fills in our our VAT number on the invoice anyway.]
In most cases the name and date of the person who approved should appear in the “comments and activity” section of the Trello ticket. If they are there, check whether the comment includes a date in the body, rather than assume that the comment was added on the right day. If they are not there, you will need to look in my Gmail sent items for a matching message (whose subject should normally start with the word “Quotation” and follow with matching details, and then have a reply saying who approved.)
Allow QuickFile to calculate the VAT amount, net total, and other derived fields automatically.
Save the invoice. Note the QuickFile invoice number for use in Step 3.
Step 3: Create a Gmail draft
Using the Gmail connector, create a draft email with:
- To: [Email address of Client’s Accounts Team]
- Subject: "Invoice: " followed by ProjectName
Body: (the > characters are to identify the body, not actually text to include in it.)
Dear Accounts,
Please find attached our invoice, which relates to work done on the “{ProjectName}” project.
Internal Note: Quickfile invoice number is {QuickFile invoice number}.
Regards,
Mark Harrison
--
Work life balance is important. Your health is more important to me than a quick reply to this email. I regularly work at unusual hours on odd days, so you might get a message from me at pretty much any time. Please feel under no obligation to reply until you are “back in work” and ready to do so.
Step 4: Move the Trello ticket
Move the ticket from “To invoice” to the “Claude CoWork partially handled” list.
Repeat Steps 1–4 for each remaining [Client Name] ticket.