Invoice Basics
How do I change the default values like tax rate and terms?
These are set in the beginning of the script "New Invoice" and you can edit that script to change those values, even making them conditional on your own If() statements if you'd like.
Where to the Bill To and Ship To addresses come from?
These are gathered from the invoices contact as soon as the contact is selected. If any of the contacts alternate addresses have labels containing the words "shipping" or "billing", those addresses will be used. Otherwise we use the main address for the contact.
You can, of course, type in addresses by hand: it is best to do this after you've selected the contact for the invoice.
You can also modify this behavior (using a company name in place of the contact's name for the "BillToName" for example) by editing the script "Get Addresses for Contact".
When are invoices marked paid?
You can always mark an invoice "paid" by hand, but we do it automatically if you enter a payment amount that takes the balance to zero.
Can I restrict the list of unpaid invoices to see just unpaid invoices for MY projects?
Yes. Provided each of your staff is logging in with their our FileMaker account name, this is easily done. Enter layout mode and double click on the unpaid invoices portal (called "InvoicesSideBar_UnpaidInvoices"), you'll see that "filter portal records" is checked: click "Specify" beside that.
Follow the instructions in that calc to filter the portal down to just invoices of projects for the logged in staffer. Note that if you filter this portal you'll need to also filter the invisible portal surrounding the total outstanding balance: make sure both portals have the same filter calculation or the total won't match the unpaid invoices shown.
Can I create an invoice from an appointment
Yes. You can bill appointments by selecting the "invoice" tab on the Event Details mini window (this is the window the comes up when you click on an event in the calendar). Lines created here are added to a new invoice linked to this event. That invoice is also linked to the event's contact and project.
Once lines are added you can close the event window and work on the invoice later, or you can jump right to the invoice by clicking on the green arrow pointing to "Invoice" on the Event Details window.
Extending this
You can take this idea (and the scripts used here) and extend this to bill other entities like time. This takes a bit of work, but two scripts in particular should help...
One an invoice is created you can add lines to it from other contexts (like time) using the script "Create Invoice Line { InvoiceID , ItemID , Qty , Name , PriceEa, Desc , Taxable , Override }"
That is your real worker script to make new invoice lines for an existing invoice.
And "New Invoice" is the basic script for creating a new invoice.
Tax
The tax rate is set inside the script "New Invoice": modify it there.