Skip to main content

Zoho Books – Managing Retainer Payments

By Accounting, Zoho Books

Zoho Books has a really easy to use built-in “Retainer Invoice” feature that allows you to easily bill and track money that is paid to you in advance, or on “Retainer”.  Here’s how:

Step 1 – create the Retainer Invoice:

  • Sales->Retainer Invoice, click the “+” sign.
  • Fill in the required information
  • Click Save

Step 2 – record payment against retainer Invoice

  • Open specific retainer invoice
  • click Record Payment
  • Enter Amount
  • Click Save

Step 3 – record your time and Expenses

  • Click Timesheet in left nav panel
  • (if not already) Create a Project and add tasks
  • Select Project and Click Log Time to enter your time spent against the defined tasks
  • click Save
  • Click the Expenses Tab to log expenses incurred for this project

Step 4 – Bill your Time and Expenses


  • Select specific Project
  • Click Timesheet
  • Check boxes next to desired time entries
  • Under “New Transaction” menu ->Create Invoice
  • Option to check box “include all unbilled expenses”
  • Click Add
  • Select Salesperson (if more than one in the system)
  • Click Save and Send –> Save and Send Later
  • Top Green Banner – “Click Here”

Apply retainer to invoice.

that’s it!

ZOHO BOOKS – How to record shareholders distributions

By Accounting, Zoho, Zoho Books

It’s that time of year… and if you’re new to Books you might be wondering how you record your year-end distributions or pay-outs to your owners/shareholders.

Here’s how:

  • Click on Banking in the left side navigation panel
  • Click on the bank account from which you will be withdrawing the money
  • Under the Red Add Transaction drop down list, select Owner Drawings
  • Enter the required information on the form that pops up on the right
  • Click Save – Working with the Stay in Touch Email

By CRM, Salesforce CRM

One of the rarely used features of Salesforce is the stay in touch email, which can be controlled by each user so that it’s a bit more personal (the email template) and they can choose who to send it to.  Essentially you need a filter of records, an email template, and then Salesforce does the rest where it provides a link to the user to update their info (which in turn comes back to me, easily updated into

To start, go to the contacts are (the recently viewed page), and at the bottom find the link to the “Mass Stay in Touch” tool.

Here, like the email blast tool, you choose your view or filter of the records you want to touch.  For instance, it might be contacts that haven’t been touched or contacted in a year, 6 months, etc.  You can do that with the last history field of course….  Here I am creating a view called “Test only view” where the contact is a test contact and my son.  No need to test this and blast out to too many folks.

Click Next.  On this page you have your settings and you can choose whether or not to store the activity, if you want to be copied, and review the email.  To change the email, you have to do this for each user in the personal email settings (assuming they have the ability to mass email).

Only thing to do here is to click Send, to which the recipient will receive the email and the link.  It will look like so:

One on the email, when they click the link, they are brought to a page that will link and update records in your instance.  They also have the option as you can see to say “No Changes”.

I then will receive and email like this, asking me to review and update my data.  Click “Update Now” and I’m all set. – Working with formula fields

By CRM, Salesforce CRM

I will get requests all the time to add fields to child objects (i.e., contacts) that belong on the parent account, but because we want to see it at the child record they want it there too.  For instance, you have account type (Customer, Prospect, Competitor) and when looking at a contact you want to see that account type at the person level, giving you the quick snapshot instead of navigating to the contact’s parent account.

I think you can do this (haven’t tried) in the process builder where you would add a field on the contact levels, then create a process to update the contact when changing the account’s type field.  You would also have to create a process to update the parent account’s type as well if changed on the contact (which would fire the first process to update all the contacts).  Confused yet?  I think you may even need a trigger.

So let’s go simpler shall we?  What I ALWAYS do is just try to teach my users that certain data belongs here and certain data belongs there.  For instance, customer type or account type is not something that belongs at the contact level.  It may be nice to see at each contact, but it belongs at the account level since it’s company data.  To DISPLAY the data at the contact, you can use a formula field – very easy to do.

To start, find your object or just search for it in the setup area (click Setup, then start searching – again, don’t hit enter as I always warn, just type).

Once I see what I need, I go to “Fields”, which I’m going to then scroll down and create a new field called “Account Type”.  When in the type of new field area, just choose “formula”.  Click next.

On the next screen, give it a name (label), the API name and choose the type of data that will be displayed.  When in doubt, choose text.

In this case I’ll just build the formula quickly, but I use the formula builder to insert the right field.  When you find it, click “Insert” to see the value.

In this case, because it’s a picklist I get an error when I save it.  So, I have to add the “text” formula function to just grab the value.  Now it looks like this:

Click next to add to the correct layout (and edit who can see it) and you’re all set.  Go ahead and move the field to where you want it on the contact record.

Your users can all now see the right account type at the contact level, however, to change it or modify they still have to navigate to the account record – again, the place where it belongs.

GoldMine : Display Summary Counts in Lists

By Uncategorized

Ah, nothing like a stupid pet trick! You can whip this out the next time you have GoldMine up at a company meeting. You’ll look like a million bucks!

Here it is; any list view in GoldMine can display the count of it’s contents.

Simply right-click and check the “Summary” box. Voila!

  You should immediately see the corresponding count in the lower left-hand corner of the list;
 This option to display Summaries is present almost everywhere the Output To… functionality is present.
  Try it and have fun!

GoldMine : Securing Picklists

By Uncategorized

Consider this a shortstop between you and inconsistent data. It can really help to “lock down” fields like Customer Type and Sales Rep to prevent bad entries.

Bring up the picklist by clicking into the field and then clicking the grey arrow to the right.

From there, click the “Setup” button.

What we are concerned with is “Allow Blank Input” and “Force Valid Input”. Forcing a valid input requires the end-user to use a value from the picklist.

But beware, disallowing Blank Input will prevent the end-user from “getting out” of the field until they choose something valid. So make sure that all appropriate picklist choices are available!

GoldMine : Identifying Bad Data

By Uncategorized

We’re concerned, here, with fields that should contain items from a known list of values. Fields like Customer Type, which is usually coded “Prospect”, “Customer”, or “Vendor”. Or Sales Rep, which simply contains a list of personnel.

This is actually an important part of producing accurate metrics via reporting. If you can’t rely on Sales Rep or Customer Type to be consistent, any numbers generated would always be questionable. We’re going to look at how to produce lists like in the following example.

Does your database contain Customer Types like this?

The first thing we must do before actually writing the query is to identify which field we are working with.  In GoldMine, the way to do this is;

Right-click on the field label, then select Properties.

On the Profile Tab, take note of the “Name in Database” value. For example, our Customer Type field is actually called “KEY1”.

Now we can actually write our SQL Query. In GoldMine, select Tools | SQL Query from the top level menu.

The query we’re using is simply an aggregate(count) of the field in question, grouped by all unique values. Copy and paste the following code into your query window;


And then click “Query”. It’s just that easy. To get lists of other fields, just repeat the process using the different fieldname in place of KEY1.

For example, you can get a list of States with this;


For user-defined fields (any field on the lower half of the record), substitute CONTACT2 for CONTACT1, like this;


Remember, you can’t hurt anything by selecting data, so have at it and have fun!




GoldMine : Carrying over Completion Notes

By Uncategorized

If you’re using Automatic Followups in GoldMine, then you might want to set up your History Notes to “flow” to the followup activities;

1. Go to Tools | Options
2. Click on the Schedule Tab
3. Check the box next to “Carry over completion notes when scheduling follow-up calls”

Having this checked will copy the Notes from the currently completed item to the Automatically Scheduled Followup Item.

GoldMine : Using dBase Expressions in Picklists

By Uncategorized

Did you know that you can use an xBase expression as a picklist item?
You simply need to add the expression to the picklist, prefixed by a tilde (~), like this:


Try it yourself; let us imagine we have a value in KEY1 that we’d like to easily copy to the Activity Code of a new history item.

1. Select Complete | Unscheduled Call | Outgoing Call.
2. Bring up the Picklist for the “Code” box by clicking into it and hitting F2.
3. Click “New”
4. Paste in the following text as the new picklist item : ~contact1->key1

Now when an end user selects that item from the picklist, it will copy in the value from the KEY1 field. Any Contact1 or Contact2 field is allowable. Have fun!

Skip to content