DadsFam Invoice Manager

Beskrivelse

DadsFam Invoice Manager does the invoice side of a WooCommerce shop properly. Create an invoice from any order in one click, or upload one you already have. Store them somewhere customers cannot poke at, track what is paid, and send them out with a link that expires.

It is free. Not free-until-you-need-the-good-bit. Free.

What it does:

  • Create an invoice from any WooCommerce order — pick the order, press the button, get a branded PDF
  • Put your own business details, logo, VAT number and banking details on it
  • Your own invoice numbering, with a prefix and padding that make sense to you
  • Upload and manage PDF invoices you produced somewhere else
  • Protected folder storage that blocks direct URL access, or Media Library mode if you prefer
  • HMAC-signed, single-use download links that expire when you say
  • Payment status tracking — Paid, Unpaid, Overdue, Cancelled — changed in one click
  • Email status tracking, so you know what actually went out
  • Resend an invoice to a customer whenever they ask
  • CSV export of every invoice record
  • A missing-invoices tracker, so nothing quietly slips through
  • Customer My Account Invoices, so they can help themselves
  • Custom From Name and From Email, which fixes the wordpress@ sender problem
  • Full email branding — logo, colours, footer, social links
  • A proper HTML email template editor with live preview

Quotations, also free:

  • Build a quotation the same way you build an invoice — line items, discount, tax, extra charges
  • Branded A4 PDF, using the same business details and logo as your invoices
  • Email it straight to the client
  • The client can accept or decline online, and you get told
  • Quotations expire on their own after however many days you choose
  • Separate quote numbering, so QUO-0001 and INV-0001 never collide
  • Turn an accepted quotation into an invoice with one button — everything carries across

Cloud sync, also free:

  • Connect Google Drive or OneDrive and every invoice and quotation is copied there as you go, sorted into folders by year
  • If you run the Drive or OneDrive app on your computer, they appear on your desktop too — nothing to export, nothing to download
  • One button sends everything you already have
  • Deleting on the site leaves the cloud copy alone by default, as a safety net; you can switch on mirroring if you want the two to match exactly

External services

Connecting Google Drive or OneDrive is optional and nothing is sent anywhere until you connect an account.

When you do, this plugin uses the DadsFam connection service at https://connect.dadsfam.co.za to handle the sign-in. You are sent there to approve access, and it returns a one-time code that this site swaps for an access token server-to-server, so the token never travels through your browser. The service receives the provider you chose and the address to send you back to. Terms of use and privacy policy: dadsfam.co.za/privacy-policy and plugins.dadsfam.co.za/privacy-policy.

Once connected, your site talks directly to Google (googleapis.com) or Microsoft (graph.microsoft.com) to upload your documents. Nothing passes through DadsFam.

A word about PRO

=

Right, let me be straight with you, because I hate being sold to as much as you do.

Everything above is free and it stays free. Creating invoices is not a premium feature. Putting your own logo and banking details on them is not a premium feature. Those are the things a plugin like this should just do, and if I put them behind a paywall I would be taking the mickey.

There is a PRO add-on. It exists because I am a dad in Cape Town, and this is one of the things that puts food on the table at my house. That is the honest reason. Not «unlock your potential», not «supercharge your workflow». Just: if this plugin saved you a headache and you can spare it, PRO helps me keep building.

What PRO adds is the stuff you only want once you are doing real volume — invoices generating themselves on a status change, PDFs re-stamping from UNPAID to PAID on their own, payment reminders going out without you, bulk uploading a hundred invoices from a ZIP, and an audit log of who did what. That is convenience and automation. It is not the plugin working properly, because the plugin already works properly.

So if the free one does everything you need, brilliant. Genuinely. Use it, and I hope it saves you an afternoon. If you get to the point where the automation would save you real time, PRO is at plugins.dadsfam.co.za.

Either way, thanks for using something I built. — Zak, DadsFam

PRO adds:

  • Auto-generation — invoices created automatically when an order hits a status you choose
  • Smart email triggers — send to the customer on a separate status
  • PDF status sync — the PDF re-stamps itself from UNPAID to PAID, no delete-and-recreate
  • Automated payment reminders on a schedule
  • Bulk upload via ZIP and a CSV mapping
  • Audit log of every admin action
  • Product variations and bundles broken out on the PDF

Support

Email: support@dadsfam.co.za
Website: https://plugins.dadsfam.co.za

Skjermbilder

Installasjon

  1. Upload the dadsfam-invoice-manager folder to /wp-content/plugins/
  2. Activate through the Plugins menu in WordPress
  3. Go to Invoices in your WP Admin sidebar
  4. Set your From Email in Invoices Email Settings
  5. Add your business details in Invoices Invoice Details
  6. Create your first invoice in Invoices Create Invoice

Ofte stilte spørsmål

Do I need anything else to send quotations?

No. Quotations are part of this plugin and part of the free version. Your client gets a branded PDF and a link where they can accept or decline, and you get notified either way.

I already use DadsFam Quotation Creator. Will this clash?

No. If that plugin is active, this one leaves quotations entirely alone — no duplicate menus, no duplicate post type. Your existing quotations stay exactly as they are. If you later remove it, they will simply show up here instead, because both use the same storage.

What is the difference between free and PRO?

Free creates invoices, brands them, stores them, tracks them and delivers them. PRO automates it — generating invoices on a status change, re-stamping PDFs when payment lands, sending reminders on a schedule, bulk uploading from a ZIP, and keeping an audit log. If you are happy pressing a button when you need an invoice, free is the whole thing.

Do I need PRO to create invoices?

No. Creating invoices is free, and it stays free.

Where are invoices stored?

By default in a protected folder inside your WordPress uploads directory, blocked from direct public access via .htaccess. You can switch to Media Library mode in General Settings.

Can customers download their invoices?

Yes — invoices appear in the customer’s My Account Invoices tab with signed, expiring download links, plus an «Email Me» button.

When I change the payment status, does the PDF update?

The badge updates everywhere immediately. Re-stamping the actual PDF document (e.g. UNPAID PAID) is done by the PRO add-on for invoices the plugin generated. Uploaded PDFs keep their original file.

Why are my emails going to spam?

Set a real From Email address on your own domain in Email Settings (e.g. invoices@yourdomain.com).

Does this work with WooCommerce HPOS?

Yes — fully compatible with WooCommerce High Performance Order Storage.

Vurderinger

Det er ingen omtaler av denne utvidelsen.

Bidragsytere og utviklere

«DadsFam Invoice Manager» er programvare med åpen kildekode. Følgende personer har bidratt til denne utvidelsen:

Bidragsytere

Endringslogg

2.9.3

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: the tabs on the Quotations and Build Invoice screens showed as plain black text with no highlight on the one you were viewing. The plugin’s colours were only being made available inside one particular page wrapper, and those two screens use a different one, so every shared component on them fell back to the browser’s own plain styling. The colours are now available on every screen the plugin loads on.
  • Fixed: a wasted gap between the tabs and the heading on those two screens. They sit together now.

2.9.2

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: the What’s New screen inside the plugin was stuck at an old version, and had stray code showing in the middle of sentences where a dash should have been. It kept its own hand-written copy of the changelog, so every release had to be written out twice and this copy kept being forgotten. It now reads the plugin’s own changelog file directly, so it is always current and shows the same wording as everywhere else. Fifty-two releases, newest first.
  • Fixed: the live invoice preview on the Invoice Creator was unreadable — the logo filled the panel, the accent colour bled across everything and the details ran together as plain text. Twenty-six styles belonging to that preview were lost in the 2.6.0 redesign. They are back, rebuilt to match, and the preview now looks like the PDF again.
  • Fixed: the payment dropdowns, status badges, download buttons and the popup on Manage Invoices had also lost their styling in that same redesign. Restored.
  • Fixed: the tabs on the Quotations screen showed as plain underlined text. The stylesheet was only being loaded on pages whose name contained «dadsfam», and the quotation screens are named differently, so it never reached them.
  • Fixed: the Auto-Generation summary on the Invoice Creator crammed several lines of text into a shape meant for a one-word badge. It is a proper panel now, with the trigger and the email setting on their own rows.

2.9.1

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: Cloud Sync settings would save, then come back the way they were. The record of when the sync last ran, and of any error, was being kept in the same place as your settings — and the background sync rewrote that whole record every time it finished. If it started before you pressed Save and finished after, it wrote its older copy back over you, so your change vanished the next time you opened the page. When the sync last ran and what went wrong are now kept separately, so nothing running in the background can touch your settings again. The token refresh and the account lookup now change only their own one field instead of rewriting everything.
  • Added: after saving, the page reads your settings back and tells you if they did not stick, rather than saying «Saved» and quietly losing them.

2.9.0

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Changed: the menu is finished. Quotations, New Quotation and Quotation Settings were three sidebar entries for one feature — they are now three tabs of a single Quotations screen. The invoice builder and the list of invoices you have built were two entries for one job; they are now two tabs of one screen. With the PRO add-on installed the sidebar goes from eleven entries down to eight, and nothing is more than two clicks away.
  • Changed: every old address still works. The retired pages stay registered and the links inside the plugin point at the right tab, so bookmarks, buttons and anything you have saved keep landing where you expect.
  • Fixed: saving a quotation, or saving quotation settings, returned you to a page that was no longer in the menu. Both now come back to the tab you were working in.
  • Note: editing an existing quotation or invoice opens the builder with the tab labelled «Editing», so it is clear you are changing something rather than starting fresh.

2.8.1

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • New: an Off-site copies panel on the dashboard, so «are my invoices backed up anywhere other than this server» is answerable at a glance instead of by going hunting through Settings. It names each connected account, how many documents have been copied to it, whether anything is still waiting, and tells you plainly when nothing has been sent across yet. With no account connected it explains what cloud sync is for and offers one button to set it up.
  • Fixed: a connected account could sit there saying «Connected» with no name after it, if reading the account name failed the moment you connected. It now fills itself in the next time you open Cloud Sync, at most once an hour.

2.8.0

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • New: payment reminders can be switched off, and are now off unless you turn them on. There is a proper on/off switch on the settings screen, and the delay and maximum dim out while it is off so you can see at a glance that nothing is being sent.
  • Fixed: someone who had already paid could still be chased for payment. The daily reminder only looked at whether the invoice had been emailed, never at whether it had been paid — so emailing a customer their invoice when their order completed could turn into a run of reminders asking them to pay for something they had already paid for. An invoice marked Paid or Cancelled is now skipped, and so is any order that is paid, completed, refunded or cancelled.
  • Fixed: the tab row on the Invoices screen ran out of space once the PRO add-on added its own tabs, so half of them sat hidden behind a scrollbar. The tabs now wrap onto a second line instead of scrolling, and the Invoice Creator link sits off to the right where it belongs rather than in the middle of the sequence.
  • Changed: tab labels are consistent — some carried little pictures and others did not, which made the row read as a jumble.
  • Changed: the Save button on the settings screen no longer floats over the panel beneath it.

2.7.2

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Changed: there is now one Settings screen instead of two. The PRO add-on used to add its own Invoice Settings page under the same address as this one, so whichever loaded last won and you were asked for the same business details in two places. PRO’s screen is now the first tab of Settings, alongside Email Delivery and Cloud Sync. Nothing moved and nothing was lost — every old link still lands in the right place, and without PRO the free screen sits in that tab exactly as before.

2.7.1

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: connecting a cloud account showed «There has been a critical error on this website». The account actually connected — reloading proved it — but the page died straight afterwards. The audit log in the PRO add-on expects a plain sentence and was being handed structured data instead, which stops PHP dead. The same fault was sitting unnoticed in four older places: converting a quotation into an invoice, generating an invoice, detaching a built invoice, and emailing one. All five now pass a sentence, and the PRO audit log accepts whatever it is given rather than taking the page down over a log line.
  • Fixed: the PRO add-on’s Invoice Settings, Invoice Creator and Audit Log screens lost their layout in 2.6.0 — labels squashed beside their boxes, panels out of line. The PRO add-on has never carried a stylesheet of its own; those screens have always been styled from here, and the 2.6.0 redesign replaced the file without carrying them over. All sixty of those styles are back, rebuilt to match the new look: labels above their fields, proper spacing, real on/off switches and a save bar that stays with you as you scroll.

2.7.0

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • New: Cloud sync. Connect Google Drive or OneDrive under Settings → Cloud Sync and every invoice and quotation is copied there automatically, sorted into folders by year — Invoices, Built Invoices and Quotations, each under your site’s name so several sites can share one account. If you use the Drive or OneDrive app on your computer, the files appear on your desktop as well.
  • New: a «Sync everything now» button sends every document that existed before you connected. It works in batches and shows progress, so nothing times out however many you have.
  • New: a re-stamped invoice (say, UNPAID to PAID) is copied across again automatically, so the cloud copy always matches. An unchanged document is never sent twice.
  • New: «When I delete something here, delete the cloud copy too» — off by default on purpose, so the cloud folder acts as a safety net. Turn it on if you would rather the two mirror each other exactly.
  • New: an AI assistant connected through the Abilities API can now check whether your invoices are backed up to the cloud, and trigger a sync.
  • Changed: Cloud sync signs in through the same DadsFam connection service as DadsFam Backups, so one approved Google and Microsoft app serves the whole suite and no app keys ever sit in your site. Details under «External services» above.

2.6.0

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Redesigned: the whole admin area has been rebuilt to match DadsFam Backups and Anti-Spam, so the plugins look and work the same way. New masthead, cards, tabs and buttons throughout.
  • Changed: the menu was tidied up. Related screens now sit behind tabs instead of their own sidebar entries. Settings holds your details and email delivery; Help & Support holds the guide, the support contacts and the changelog. Quotations, the invoice builder and the list of invoices you have built all keep their own entries, and every old link still works — the retired URLs forward to the right tab.
  • Added: plain-English guidance on every screen explaining what it does before it shows you a control, plus a «What do you want to do?» panel on the dashboard.
  • Added: a proper empty state on the invoice lists instead of a bare line of text.
  • Fixed: invoice numbers showed as blank when read by an AI assistant through the Abilities API. The PRO add-on stores the number under a different key to the free builder, and only the old key was being read, so on any site running PRO every invoice reported no number. Both keys are now checked, and the free builder writes both.
  • Fixed: HTML codes appeared in the PDF. A product called «Domain & Email Hosting» printed as «Domain & Email Hosting», and the same happened to any customer, company or address containing an ampersand, an apostrophe or an accented letter. Only prices were being decoded; now every piece of text on the invoice is.
  • Fixed: a stray line of code was printing at the top of the How to Use page.
  • Fixed: the page title in the new coloured header was dark on a dark background and could not be read. WordPress styles admin headings with its own colour, which was overriding the plugin’s; the header now sets its colour outright.
  • Fixed: the last line of your business details — usually the website — was sliced in half by the bottom edge of the coloured band on the invoice. The band was a fixed height; it now grows with however many contact lines you have, so nothing is ever cut off.
  • Fixed: the subtotal and any discount or fee lines sat flush against the coloured TOTAL bar on the invoice. There is now proper space above it.

2.5.5

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: the website line at the bottom of the invoice header was clipped by the coloured band. The band now leaves proper room beneath the last line.
  • Changed: the website prints the tidy way now — «www.yoursite.co.za» instead of the full «https://www.yoursite.co.za/». Type it however you like in Settings, with or without the https:// and with or without www; it is shown cleanly on the invoice.
  • Fixed: the Website box in Settings no longer refuses a plain address like «www.yoursite.co.za»; it accepts it as typed.
  • Fixed: the spacing in the totals block (Subtotal, Discount and so on) above the TOTAL bar. The lines were cramped and sat too close to the bar; they now have even spacing, a clear gap before the total, and the labels no longer crowd the amounts.

2.5.4

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: searching your invoices by customer name returned nothing, even with matching invoices right there. Search was only looking at the invoice number, not the customer saved on it. It now finds an invoice by its number or by the customer’s name, company or email.

2.5.3

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: searching your invoices on the Built Invoices screen landed on a «you are not allowed to access this page» message. The search box was pointing at an old internal page address. It now searches in place. (This was the same class of address left over from the earlier standalone builder; every remaining one has now been found and corrected.)

2.5.2

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • New: email a built invoice straight to your customer. Open the invoice and press «Email it to the customer» to see the suggested subject and message, edit anything you like, and send — the PDF goes attached to a branded email. There is also a one-press Email button on each row of Built Invoices, and a draft moves itself to Unpaid once it has gone. An invoice already marked paid or cancelled keeps its status when resent.
  • New: an AI assistant connected through an MCP plugin can now email an invoice for you as well. It is told to show you the recipient, subject and message and wait for your go-ahead first, because the email cannot be recalled.
  • Fixed: a product price pulled in from WooCommerce arrived with a long trail of decimals (156.521739 instead of 156.52) on shops that store prices including tax. Prices are now rounded to your currency’s precision.
  • Fixed: your business name was missing from the top of the invoice if it had ever been saved blank, leaving the letterhead nameless. It now falls back to your site name.
  • Changed: your own Tax/VAT number now prints on the left, under your business name and above your address, rather than under the invoice number on the right.

2.5.1

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: saving or creating an invoice in the builder dropped you on a «you are not allowed to access this page» screen. The save was working, but it redirected to a page address left over from an earlier plugin, so the invoice looked lost. It now returns you to the invoice you just saved. The same wrong address was also behind the status filter links on Built Invoices.
  • New: a VAT / Tax number field for your customer, printed under their details on the invoice. VAT-registered business customers usually need their own number on the invoice before they can claim it back. It fills itself in automatically when you pick a customer, if their number is stored on their account or order.
  • New: tax now follows your WooCommerce settings. A new invoice starts on the rate WooCommerce is set to charge, picking a product fills the rate in for you, and the invoice shows the percentage next to the amount, e.g. «VAT (15%)».
  • Fixed: product prices pulled into the builder could include tax already, which was then taxed a second time when the invoice added its own percentage. Prices now come across excluding tax, so tax is applied exactly once.
  • New: the invoice now says BILL FROM above your own business details, matching BILL TO over the customer’s.
  • Updated: tested with WooCommerce 11.0.

2.5.0

Support: Email support@dadsfam.co.za · Website https://plugins.dadsfam.co.za · Forum https://forum.dadsfam.co.za

  • Fixed: the customer and product search boxes on the Build Invoice screen did nothing. A leftover reference to a field that only exists on quotations threw an error while the screen was starting up, which stopped the rest of the screen’s script from ever running — the search boxes were never wired up at all. Both now work.
  • Fixed: installing the PRO add-on without entering a licence key removed two working free screens (From an Order, and Invoice Details) and pointed their links at a locked PRO screen instead. The free screens now stay exactly where they are until PRO is actually licensed and able to replace them. Nothing this plugin offers is ever taken away by installing the add-on.
  • Fixed: saving the free Invoice Details form while an unlicensed PRO was installed silently discarded the save.
  • New: attach a built invoice to a WooCommerce order. Built invoices used to live on their own, invisible to Manage Invoices and to the customer. Search for an order right on the Built Invoices screen and attach it — the invoice is filed against that order, appears in Manage Invoices, and shows up in the customer’s account. Detach again at any time; the invoice itself is kept.
  • Fixed: deleting a built invoice that had been attached left its PDF behind on the order, where the customer could still download it.
  • New: a Support screen under Invoices, with the forum, email, contact form, plugin directory listing and licence keys all in one place, plus a summary of your setup to paste into a support message.
  • New: more for AI assistants. Through the WordPress Abilities API (WordPress 6.9+), an assistant connected via an MCP plugin such as WPVibe can now also list and inspect invoices you built by hand, attach one to a WooCommerce order, set its status, and list your quotations. Previously it could only see uploaded and order-generated invoices.

2.4.9

  • Added: AI assistant support. If you connect an AI assistant to your site through an MCP plugin such as WPVibe, it can now read your invoice stats and settings, list and inspect invoices, find WooCommerce orders that still need an invoice, generate an invoice for an order and set an invoice’s payment status — all through the WordPress Abilities API (WordPress 6.9 and newer).
  • Security: every AI action requires the same «manage WooCommerce» permission the plugin’s own screens use.
  • On WordPress versions without the Abilities API, nothing changes and the plugin works exactly as before.

2.4.8

  • Fixed: the in-plugin Changelog screen was stuck several versions back and did not list the recent releases. It now shows everything up to this version.

2.4.7

  • New: the invoices you build by hand can now be fully recoloured, the same way the standalone DadsFam Invoice Creator does — the band, the text, the items table, the total bar, the paid/unpaid stamps and the footer, 21 colours in all. With the PRO add-on the colour pickers live on the Invoice Settings page under a new «Invoice Colours» section.

2.4.6

  • Housekeeping only. The plugin code is exactly the same as 2.4.5 — this release just carries an updated readme, with a version number of its own so it could be published.

2.4.5

  • Fixed: a light or pale invoice accent colour could wash out the admin buttons, tabs and the Build Invoice and Quotation screens, because they were showing that colour behind white text. The admin now keeps a fixed, readable blue no matter what accent you choose — the colour still applies to the invoices and quotes themselves.

2.4.4

  • Fixed: the invoice header could print its right-hand details over the coloured band. When a company filled in a multi-line address along with a phone number, email and website the band grew to fit, but the Date Issued / Payment Due / Status block stayed at a fixed height and landed on top of the colour, where the labels were hard to read. That block now sits below the band, lined up with the client’s details, on the Build Invoice and Quotation documents.
  • Fixed: a logo with a see-through background was being dropped onto a solid white block. Its transparent parts now take the header colour, so the logo sits cleanly on the band across every document this plugin builds, including invoices generated from WooCommerce orders. (A flat JPEG, or a PNG with the white painted in, has no transparency to honour — use a PNG with a transparent background if you want the band to show through.)

2.4.3

  • Fixed: with the PRO add-on active, opening an invoice built here — including one created by accepting a quotation — gave «Sorry, you are not allowed to access this page». The builder screens were being hidden whenever PRO was installed, which made every document built by them unreachable. They are now always available: the builder makes a document by hand, PRO generates one from a WooCommerce order, and the two do different jobs.
  • Changed: when PRO is active those screens are labelled Build Invoice and Built Invoices, so they are told apart from PRO’s Invoice Creator at a glance.

2.4.2

  • Changed: the email you receive when a client accepts or declines a quotation is now properly laid out, matching the one the client gets. It was a single line of plain text; it now shows the decision, the client, the quotation number, the total and the time at a glance, with a button straight to your quotations.

2.4.1

  • Fixed: the page a client sees when they open a quotation link had no styling. The markup and the stylesheet on that page had ended up using different class names, so every rule missed and the quotation showed as plain unstyled text. All eleven affected classes now match.

2.4.0

  • Fixed: quotation Accept and Decline links now work. The link carried four separate query parameters, and mail providers were passing the ampersands between them through as HTML entities — so the browser treated everything after the first one as a page fragment and the quotation id and token never arrived. The whole credential now travels in a single parameter, so there are no separators left to mangle. Links already sent will not work; resend the quotation and the new email will carry a working link.
  • Changed: the client-facing pages are one branded card again, instead of a second card floating on top of the letterhead.
  • Note: if a link ever fails, anyone logged in who can manage the shop sees a short explanation of why on that page. Clients never see it.

2.3.9

  • Fixed: the access token in a quotation link was being encoded twice when the link was built, so it no longer matched what was stored and the client was told the link was invalid.
  • Changed: the token is now read from either a link or a form, and decoded before it is compared, so it survives whatever the client’s email provider does to links on the way through.
  • Added: when the quotation page cannot open a link, anyone logged in who can manage the shop sees a short note explaining exactly why. Clients never see it.

2.3.8

  • Fixed: the Accept and Decline buttons in a quotation email did not work. They are ordinary links, so they arrive as a normal page request, but the handler only read posted form data — so the token never arrived and the client was told the link was not valid. Those buttons now open the quotation with the choice ready to confirm.
  • Changed: accepting or declining still only happens when the client presses the confirm button on the page. Mail scanners and link previewers fetch every link in a message, and a quotation must never be accepted because an email client looked at it.
  • Changed: the client-facing pages have been redesigned — a clear prompt explaining that nothing has happened yet and which button finishes it, and a proper card for the «cannot open this» and «expired» pages instead of a bare line of text.

2.3.7

  • Fixed: saving the Invoice Details screen could wipe business details, the invoice prefix and the next invoice number. The screen shares its settings with the PRO add-on on purpose, so you only fill them in once, but it was writing its own blank defaults over whatever was already stored. An empty field now leaves the existing value alone, and when the PRO add-on is active its own Invoice Settings screen owns these values outright.
  • Fixed: the next invoice number can no longer be set lower than a number already issued, which would have produced duplicate invoice numbers on documents customers already hold.
  • Added: a one-time repair that reads the invoices already on the site, works out the highest number actually used and the prefix they were issued under, and puts the counter back in step. It only ever moves the counter forward, and never overwrites a setting that is already filled in.

2.3.6

  • Fixed: on a quotation with a logo, the coloured header band was still sized before the logo was measured, so a tall logo could push the last line of your business details — usually the website — past the bottom edge of the colour. Invoices were corrected in 2.3.5; this brings quotations in line.
  • Fixed: a long website address in the header could run underneath the document title. Header lines are now shortened to stay in their own column.

2.3.5

  • Fixed: a full business block — address, phone, email and website — ran off the bottom of the coloured header on invoice and quotation PDFs, cutting the last line in half. The header now grows to fit whatever you have filled in, and a very long line is shortened rather than running under the document title.

2.3.4

  • Fixed: the quotation screens loaded but had no styling at all. The markup and the stylesheet had ended up using different class names, so nothing matched.
  • Fixed: several buttons on the invoice builder linked to pages that do not exist in this plugin.
  • Removed: an «Email it to the client» button on the invoice builder that had never been wired to anything and did nothing when clicked.

2.3.3

  • Fixed: the quotation screens were blank, and the Quotations menu opened the invoice list without any styling. The quotation module was still pointing at the folders of the plugin it came from, so its pages and its stylesheet were never found.

2.3.2

  • Fixed: the Quotations menu never appeared. It was being added a moment before the Invoices menu it belongs under existed, so WordPress quietly discarded it.
  • Added: turn a quotation into an invoice. One button on the quotations list copies the client, line items, discount, tax and extra charges across into a new invoice. The quotation is left exactly as it was, and the two are linked, so pressing it again opens the invoice you already made rather than creating a second one.

2.3.1

  • Fixed: a fatal error on the admin screens. Four internal constants were left with the wrong names when the quotations module was brought in, so loading an admin page brought the site down. Nobody should have seen 2.3.0; this replaces it.

2.3.0

  • Added: Quotations, free. Build a quotation with line items, discount, tax and extra charges, send it to the client as a branded A4 PDF, and let them accept or decline it online. Quotations expire on their own after a number of days you set.
  • Added: quotations use the same business details, logo and banking details as your invoices, so you fill that in once. Quote numbering is kept separate so QUO-0001 and INV-0001 never collide.
  • Note: if you already run the standalone DadsFam Quotation Creator plugin, this module stays out of its way automatically and your existing quotations are left exactly where they are.

2.2.1

  • Fixed: the Manage Invoices table was cut off on the right, hiding the Payment and Actions columns. A width limit meant for the Invoice Details form was being applied to every panel, including the wide data tables.
  • Fixed: the invoice tables now scroll sideways on narrower screens instead of having columns clipped off the edge.

2.2.0

  • Fixed: customer search on the invoice builder found almost nobody. It only looked at WordPress account names, so it missed the billing name people actually order under, and missed guest customers entirely. It now searches billing first name, last name, company and email across both accounts and past orders.
  • Fixed: the builder screens are open to shop managers, but every search and save was being rejected behind the scenes because the permission check demanded a stricter capability than the menu did.
  • Fixed: if a search failed it drew an empty box …