Hello there.
We hire out rooms in our Meeting House to small groups, some, one off, others on a regular basis, and we’re looking at QuickFile to automate our invoicing.
We currently use Google Calendar to keep track of dates and times the room are in use, and by whom. We invoice at the beginning of each month for room hires from the previous month, for example, we invoice in the first week of February for rooms hired in January.
Many of our hirers hire the same room, on the same day each week, and the same start and finish times. We sometimes have a room booked by two different groups on the same day, but at different times.
Can you tell me…
- Does QuickFile allow for invoicing on a monthly basis, on say, the 2nd of each month, or the first Monday?
- Can it take the recuring hires of a group over the month, and create just the one invoice that covers that group’s room use over the month? For example, ‘Group A’ hires ‘Room 1’ every Friday between 1pm and 3pm. if there are four Friday’s in the invoiced month, can QuickFile issue one invoice to cover those four Friday’s?
Hope that makes sense.
Regards
Martin
Hello Martin
This is a very specific use case, but the software is not that specific I’m afraid.
You may be better off using other software to generate a csv of all the invoice data which you can then import into QuickFile.
https://support.quickfile.co.uk/t/importing-sales-and-purchase-invoices/8885
Hi Steve.
Many thanks for this. Something for us to look at and consider.
Regards
Martin
If you have anyone who’s good with programming in your group this is something that should be automatable from the Google side using Google Apps Script. You can use a time-based trigger to run an apps script function on a schedule (e.g. at 3pm on the first of each month), and that function could use the calendar service API to find all events matching a particular string (e.g. the hirer’s name) during the previous month, then call the QuickFile API to create an invoice (maybe a draft invoice, and get a human to sanity check before actually sending it to the client). You could maintain the mapping between hirer name, QuickFile client ID, and any special rates (e.g. if you charge less for community groups vs commercial hires) in a Google Sheets spreadsheet so adding a new hirer just means adding a row to the sheet and the script will pick up the details from there.
I have some example code for how to call QuickFile APIs from Google Apps Script which I’m happy to share if that’s of interest.
Hi Ian
This is what I’m hoping to avoid. I’m the only one with any programming ability, and I want to step back from it, and as different people will be using the software, I don’t want to be called in to resolve issues.
However, if you’re happy to share the script, I’m more than interested to see how you dealt with the problem. I’ll put it in my book. You never know when it’ll come in useful, in itself, or as a guide.
Many thanks.
Regards
Martin
Take a copy of this Google Sheet, it’s a tool I wrote years ago to be able to import receipts from Google Drive the same way QuickFile supports for Dropbox.
The code is accessible via “Extensions” → “Apps Script” in the spreadsheet menu bar. The way this particular script works it pulls the API key, app ID and account ID from cells in the spreadsheet, but you could equally store them in PropertiesService. The bit that’s interesting for you, i.e. the code to construct the JSON header and body and actually make the API call, starts around line 164 of the script.