Lead to Cash by NimblePlugins is a self-hosted workflow for service businesses that want to manage the path from enquiry to invoice inside WordPress.
The Free plugin includes:
- Enquiries and manual lead creation
- Customers
- Quotes and PDF documents
- Jobs and completed work
- Invoices and payment tracking
- Standard reports and an audit log
- In-app notifications
- Search and export tools
- Local encryption of sensitive fields
- WordPress personal-data export and erasure integration
- English as the default product language
- Danish language and economic defaults
- A searchable Help & FAQ centre in English and Danish
- Lead to Cash user administration in WordPress
- Scheduled backups of Lead to Cash data, kept on the server, with restore and import of a saved backup file
Lead to Cash contains no licence check, no account requirement and no time limit. A product key applies only to the separately installed Lead to Cash Pro add-on, whose code is not part of this plugin.
Your operational data is stored in dedicated tables in your WordPress database, and backups are kept there too. It leaves the server only when you ask it to: see External services.
Product information:
https://nimbleplugins.com/lead-to-cash/
The full history from 1.0.0 onwards is in changelog.txt, which ships with
the plugin.
1.37.8
- Signing in lasts. The session had a flat eight-hour life from the moment of signing in and was never extended - so a working day that began at eight ended with being signed out at four, mid-task, with a two-factor code to find. It now slides: an authenticated request pushes the expiry forward, throttled to the same five-minute write that already recorded activity, and a session in regular use stays valid. Fourteen days without use ends it, and a ceiling of ninety days from the sign-in applies however much it is used, so a session cannot live indefinitely.
- A device can be remembered, so the two-factor code is not demanded on every sign-in. The choice appears beside the code field, and only when Nimble Security is installed and the site has turned remembered devices on. The password is still required on a remembered device - only the code is skipped - and the device can be removed again from Nimble Security at any time.
1.37.7
- The enquiry, customer and job screens are usable on a phone again. Their two columns never stacked: the activity sidebar held its 280px floor while the form column gave up everything, leaving it 114px wide on a 412px screen, with every field clipped to a few letters. The stacking rule existed, but a media query carries no specificity, so the general rule lost to the narrower one these dialogs brought with them. It is now stated at that scope. Measured at 412, 390 and 360px; the desktop layout is unchanged to the pixel.
- Settings, documents had the same fault one screen over - the side panel's second column came out ten pixels wide on a phone. Fixed in the same place.
- The frontend now reads its translations from WordPress. Its JavaScript asked for a text domain the plugin does not declare, and script translations were never registered, so every translation of the 486 frontend strings was decorative. The domain is aligned and the script registered, which means an approved translation on translate.wordpress.org now arrives without a release.
- 137 strings that the bundled dictionary did not cover appeared in English inside a translated interface. They are filled in, and the build now refuses to package a frontend where that is true again.
1.37.6
- A status you choose now survives an update. A one-off repair that aligned every enquiry with its newest action sat in the schema installer, which runs on every activation and every schema change - so each update quietly rolled back any status a person had set since, with nothing written to the timeline to say it had happened. It now runs once: an installation that already has a schema version is marked as done rather than repaired again, and only a fresh install, which has no enquiries to touch, reaches the query at all.
- The same repair left only Won and Lost alone, while the two live rules also protect Quote sent. A sent quote could therefore be rolled back to "Meeting" by an update. The three are now treated the same in all three places.
- An invoice notification arrives on the due date, not three days early. The query asked for everything due within three days; it now asks for what is due. Quotes keep their three days' notice - a quote expires by itself and there is something to do before it does, while an invoice needs nothing until it is actually due.
1.37.5
- The readme now documents every external service the plugin can reach, with
what is sent, when, and links to each service's terms and privacy policy.
- Corrected the readme and a code comment that said the code for off-site
backup destinations ships with the Pro add-on. The Dropbox client class
ships here; Pro builds on it. Without Pro it is never reached.
- The Danish translation files are no longer bundled. Translations now come
from translate.wordpress.org, which keeps them current without a release.
1.37.4
- The report CSV export was written in Danish throughout, even when the app was
set to English, so an English user got a Danish file from an English screen.
Every row label is now translated; the Danish wording is unchanged.
- Two dashboard tiles counted invoices with the Danish word "fakturaer" in the
English interface. They now say "invoice" or "invoices".
1.37.3
- Two labels were written in Danish directly in the template, so they stayed
Danish whatever language the app was set to: the "Create credit note" button
on an invoice, and the default quote introduction field in settings. Both are
English now, with the Danish kept in the translation dictionary, so a Danish
user sees no change.
1.37.2
- The Easy Setup screen drew its mark as the letter N in a coloured box rather
than using the plugin's own icon. It now shows the icon itself.
1.37.1
- The app icon was the family's blue, which belongs to Nimble Security. Lead to
Cash is indigo. The icon in the browser tab, on the sign-in screen, in the
sidebar and on the installed app now matches the plugin's own colour, and so
does the mark on the Easy Setup screen, which had the old blue written into
the stylesheet rather than taking it from the icon.
1.37.0
- The enquiry, customer and job screens are now laid out the same way. Activity
sits in a column on the right in all three, so nothing moves when an enquiry
becomes a customer, and the save bar stays at the foot of the window however
long the record is.
- The same screens are considerably shorter. Fields are tighter, a postcode,
city and country share one line, and a billing address that matches the work
address is a single line instead of a repeated form. A customer record that
needed 2,944 pixels of scrolling now needs 1,645.
- Every section is a card with its own heading, so the seams between contact
details, actions, documents, invoices and activity are visible at a glance.
- Documents on an enquiry were nested inside the actions panel and looked like
part of it. It is its own section now.
1.36.3
- Renamed TermsAttachment::prepare() to attachment(). Plugin Check treats every
call named prepare() as $wpdb->prepare() and reads its first parameter, which
a method without parameters does not have; the check crashed on the file
rather than reporting anything about it. Behaviour is unchanged.
1.36.2
- Five repository files were missing the note that explains their access-scope
clauses, so the report still listed them. No code changed.