With last week the final week of the month and the quarter, our team focused a lot of energy on improving many small things on the Invoicing Module. Whether it be layout, performance or more options/enhancements to support how our clients work, we've been working hard to get things in great shape for your end-of-month billing!
Thankfully, it looks like all the hard work is paying off: Martin from Gamcorp, sent us this late last week after he'd successfully sent out his first Client (Bulk) Invoice:
Hope you experience similar success!
Additionally, we also found the time (somehow) to effectively re-write our Forms API, including support for reCAPTCHA v2 and creating a lot of much clearer and easier to follow documentation - including an awesome new working example screen!
With more and more clients putting Client (or Bulk) Invoicing through its paces, our engineers have noticed a few performance bottlenecks. In the process, we've been able to significantly improve the performance of both the search/filtering screen you first use when finding a list of clients to invoice, and then the performance of the invoice creation process when you save each one you send to a client.
When we first implemented the Invoicing upgrade we went from having "no" quantities to supporting them, but we made a mistaken assumption - we figured no-one in their right mind would want to include an invoice line item with a quantity of 0. Turns out we were wrong, and we had a bug where, when we had no rate, we would divide the total of an item by the quantity. Anyone who remembers their high school maths will know that dividing by zero is very illegal, so we patched our Xero import script to handle this. And yes, we know how silly it is to say we now handle zero line items from Xero.
When you invoice for Excess on a Pre-Paid Retainer/Contract Period, we update the "Allowance" of the Period to be larger, in effect expanding to handle the excess so you can then log more work and bill for excess subsequently.
We had a bug where, for a short while, billing for Excess wasn't expanding the Allowance of the Period - it is all fixed now.
While we're very much creatures of the online/paperless world, we also appreciate that often things like invoices need to be printed. Since a PDF is actually rendered onto a page size, and different parts of the world use different page sizes, we now support A4 and Letter size options in your Accounts configuration area.
MIME, the standard that defines email formats, is used by Accelo to process and capture incoming emails. Unfortunately, the folks at Apple thought it would be funny to create a MIME email that was a little inception-esque: they created a "part" or email segment that only exists to store another email segment (normally you only create encapsulating "parts" when you're going to encapsulate multiple subparts - otherwise, what's the point?)
We weren't handling this foolishness properly, but we are now, and so the top can keep spinning.
Some great feedback from users has helped us bring to life a number of other improvements for the PDF invoices:
You can now include [invoice.outstanding] in the summary block (and anywhere else) in your templates - so if you want to have a big section in bold that says "Outstanding Balance: $15,000" in your invoice, you can!
You can now choose to show the tax-exclusive "Amount" column for your invoice tables. This way, you can choose to show the Quantity, the Rate (excluding tax), the Amount (this is the new guy), the Tax Code/Rate, the Tax value and finally the Total (amount+tax) for each line item. Phew!
You can now choose to include Payments on your invoice. Ideal for those situations where you send the client an invoice reminder and they've made a partial payment already, including the payment block will tell them how much they've paid (including handling multiple payments) and when, helping to eliminate confusion of "I've already paid this" when they have in fact only partially paid the invoice.
You can now choose to include a summary of Related/Previous invoices. This is ideal in those situations where you're invoicing a part-payment on a Project or the new renewal of the Retainer/Contract - now you'll be able to show the recipient the recent invoices, related to who and what you're billing, to help eliminate the "oh, I've already seen this invoice" when, in fact, it could well be a new one.
When we're calculating the value of the tax (especially with tax rates like 8.125% and others with a lot of decimal places) we end up with a lot of decimal places beyond the two decimal places you'd normally show on a bill. Previously we were keeping track of the full accuracy of the tax amounts for each line item and adding them all up, only rounding to 2 decimal places at the end. It turns out while this might be the most mathematically accurate, it doesn't fit in with the way accounting systems work, and we had situations where invoices (in Xero for example) were showing a different total than ours by one cent. We've fixed this now - calc and round first, total second.
One of our achilles heels for some times has been our Forms API. Initially built to be a stopgap measure (nothing is as permanent as a temporary fix), the Forms API itself worked really well until Google decided to upgrade reCAPTCHA (the anti-spammer tool that challenges you to read smudged words to prove you're not a robot) and break things for new users.
While the move to v2 of reCAPTCHA was something we were forced into, we also really really really wanted to improve our help documentation and provide some more concrete examples for our users.
The result is a major upgrade to the Forms API, support for v2 of reCAPTCHA and probably most importantly, a massive improvement in the quality, clarity and scope of our documentation. Each endpoint is now fully documented on its own page, and instead of one longish page of crud we now have what add up to around 30 pages of clear, helpful documentation starting at www.accelo.com/resources/apis/forms.
Finally, we also have a new, dedicated examples page at www.accelo.com/dev/forms.html. You can actually enter your own Accelo domain in there and see a working example of creating a new client, sale, issue and even request (yep, a new feature) yourself. If you're the coding type, you can also "view source" and see fully documented comments, designed to make creating your own forms a confident breeze!
We had a bug reported last week where some clients could see "call" activities when they logged into the client portal. While allowing clients to see the emails they've been a part of - either as the sender or recipient - makes sense, knowing the client had been "part of" a call doesn't mean you ever want them to see those activities (where your call notes are!). We're now treating them as we treat "notes" from a visibility point of view, ie, hiding them unless you're really crazy/brave.
When we designed the new PDF invoices we optimized them to look beautiful on a screen, but we realized from feedback from clients that the act of printing the PDFs made the small avatar/pictures of staff includes in the Work Detail screen look pretty crumby. We've now made it optional to toggle these off in the Work Detail section of your templates.
Xero recently launched a new feature where we can tell their application to include a link from the Invoice view screen in Xero back to view the invoice in Accelo. So, we have! Newly pushed invoices from when we set this live late last week will have the magic link - unfortunately, existing invoices won't have it, and if you're unlucky to have the word "xero" anywhere in your deployment name - such as AnnexeRoadServices.accelo.com - you're out of luck (their rule, not ours - very blunt instrument to prevent phishing if you ask us).