This guide is for users of php accounts, for install instructions please go to the install page
Basics
PHP Accounts is broadly comprised of 3 sections, income (clients), outgoings and reports. All income is associated with a client e.g. ABC Company and all outgoings are associated with a vendor e.g. ABC Supplier.
For the income/clients part of the system, typically it is used to send invoices to clients, keep a track of payments and to create timesheets for keeping a track of hours/tasks completed for a client.
For the outgoing part of the system, it is essentially a database to record outgoings and overheads.
The reports section is simply for displaying the totals of payments/invoices/timesheets/outgoings over a given period of time, for example the default report is a ‘cashflow’ i.e. profit loss table for the present year.
Clients
Creating A Client
- Go To Clients
- Click on the ‘Create New Client’ Button at the top right of the clients page
- A new client form will open
- Fill out the contact details (will be used for invoicing etc.)
- Click submit
Client Details
From the clients page you can see a list of their invoices/timesheets/projects and quotes.
Invoices
Invoicing a Client
- Go To Clients
- Click on the Invoice button at the top of the clients page
- A choose client list appears
- Select the client you wish to invoice, and click submit
- A new invoice form appears
- Fill out the details (the client address is automatically filled out)
- Click Submit
You can then print the invoice (best to have uploaded a letter head and inputed all your invoicing details first see below) by clicking on the acrobat pdf icon or click on the mail link and the invoice will be directly sent as a pdf attachment to the client via email.
Marking an invoice paid
- Go to the clients details
- Click on Invoices
- Click on the view link for the invoice in question
- If the invoice is from a previous year, click on the back arrow to go back a year
- At the bottom of the page in the payments section, enter the value of payment received, payment type, date and submit
Invoice Reminders
The system can send out automated reminders for unpaid invoices, for this to work you need to setup the cron funcionality (see below - cron setup). Once this is set up, you simply check the ’send reminders’ box for an invoice and if unpaid reminders will be sent out at appropriate intervals. You can adjust these intervals in preferences. Currently the reminder messages are only editable by changing the template files in /path/to/phpaccounts/templates/mail.tmpl.html
Repeat Invoices
The system also has the ability to autogenerate invoices in the future based on a previous invoice, this is useful for subscription based products/services, this also requires the cron functionality to be set up.
- Create a new invoice or select an existing invoice
- Click on the ‘Make Repeat Invoice’ button
- In the page that opens, enter the date for new invoices to be sent out (currently either monthly or annually)
- Check the price and reminder details are as you wish and submit
- On this page, you can also manually add a repeat invoice so it is associated with the master repeat invoice (if you should need to for some reason)
- Invoices will be sent out in advance of the due date, and you will recieve email notification before it is sent
Timesheets
Timesheets are particularly useful for timebased/consultant work. When you open a timesheet the time is recorded so when you come to close the item the amount of time elapsed will automatically be recorded, you can then easily calculate the fee applicable.
Creating A Timesheet
- Go To Clients
- Click on the New Timesheet button at the top
- Select the client
- Type in a description
- If you are adding the time sheet retrospectively then adjust the time and price etc. otherwise leave as they are
- You can also associate a timesheet with a project (see below - projects)
- Submit the timesheet
- When you have finished the task and wish to close, go back to the time sheet (see below - reports or client details) and you’ll see the time elapsed is automatically calculated - you can then decide how much to charge and update the timesheet.
Projects
Projects are useful for specific jobs (projects!) and can be used to group together timesheets which can then be totalled up easily for itemised invoicing.
Creating a project
- Go To Clients
- Click on the New Project link at the top
- Enter project details
- Submit
Outgoings
Outgoing types
There a default outgoing types, but these can be edited and added too:
Adding An Outgoing
- Go To Outgoings
- Click on Edit Outgoing Types
- Edit the titles or add a new outgoing
- Submit
Tip If you are entering a series of related outgoings, e.g. you are inputing all your phone bills for the year, enter one and for the rest, click the ‘Add Similar Outgoing’ link and a new outgoing will be prepared with the same details.
Searching Outgoings
You can search outgoings by Price, Description, Type or Vendor. The search is ‘AND’ based so the more criteria you specify the narrower the results.
- Go to Outgoings
- Click on Add Outgoing
- Enter the details - if the ‘vendor’ is new, enter name in new vendor box, otherwise select from the list
- Submit
- If it is paid already, enter the payment details below and submit
- Go to Outgoings
- Click Search Outgoings
- Choose criteria and submit
Tax Reports
This is just a list of all income and outgoings for the tax year, useful for exporting as a CSV and sending to your accountant. The dates are not yet adjustable - but should be soon.
Dashboard
The Dashboard section has a number of useful functions, including setting preferences, invoice wizard and seeing all unpaid invoices.
Preferences
Under preferences you can set the following details:
- Thank you message on invoices
- Standard letter/invoice header - or replace by uploading an image
- Font for letters/invoices
- Whether to autonumber invoices
- Terms and conditions printed on quotes
Cron Integration
The cron script allows for additional functionallity such as sending unpaid invoice reminders and creating repeat invoices. To set up, simply add a line to your crontab that once per day excutes the /path/to/phpaccounts/cron.php file via php, e.g.
10 5 * * * /usr/bin/php /path/to/phpaccounts/cron.php
