Documentation

Everything from install to API. Matches plugin version 7.0.

Getting Started

You'll be quoting in about five minutes. Requirements: WordPress 6.0+, PHP 8.0+, MySQL 5.7+ / MariaDB 10.3+. WooCommerce 6.0+ is optional.

1
Install

Plugins → Add New → search "AN Estimation Tool" → Install → Activate.

2
Configure

Estimation Tool → Settings: company details, currency, tax label & rate.

3
Paste shortcode

Add the shortcode to any page or post with your editor of choice.

4
Publish

That's it — the form is live and calculating.

[an_estimation_tool]

Shortcode Reference

The base shortcode renders your default form. Attributes let you pick a specific form and tune its behavior.

[an_estimation_tool id="2" show_title="yes" require_login="no"]
ATTRIBUTE
DEFAULT
WHAT IT DOES
id1Which form to render (Forms screen shows each form's ID).
show_titleyesShow or hide the form's title heading.
require_loginnoOnly logged-in users can use the form (Standard+).
currencysettingsOverride the global currency for this form instance.

Features

Saving & statuses

Hit Save Estimation and the record lands in Estimation Tool → Estimations with an auto number (EST-YYYY-NNNN). Change status from the list: Draft, Sent, Accepted, Declined.

PDF download & branding

Set logo, address, phone, email and tax number in Settings → Company. Download PDF renders them on every estimate. Tokenized share links are generated per estimate (Standard+).

Email & WhatsApp

Each form has its own email settings (from-name, subject, reply-to) under Forms → Edit → Email. WhatsApp share opens a pre-filled message with the estimate link.

Tax, discounts & locale

Settings → Calculation: tax label (GST, VAT, MwSt…), rate, discount mode (% or flat), currency symbol, position, thousands/decimal separators.

WooCommerce

Requires WooCommerce 6.0+ and a Standard or Premium license. Enable it under Settings → WooCommerce.

  1. Toggle Product autocomplete — item fields now search your catalog as you type.
  2. Toggle Price sync — selected products always pull the current store price.
  3. On any saved estimate, click Convert to order — a WooCommerce order is created with the customer, items, and totals attached.
Note: converting an estimate doesn't charge the customer — it creates a pending order they can pay through your normal checkout.

AI Assistant PREMIUM

With a Premium license active, a "Generate with AI" bar appears above every estimation form (admin side by default; enable for end-users per form).

  • Describe → type or dictate the project; the AI fills items, quantities, prices, and a cover note.
  • Chat panel — refine with follow-ups: "add a discount", "make it cheaper", "split labour and materials".
  • Pricing hints — suggestions use your previously saved estimates as reference.
  • Descriptions — click the ✎ on any line item to generate its description.
AI output is always a draft — nothing is saved or sent until you review it.

License & Activation

  1. Buy a plan — your license key is shown immediately and emailed to you.
  2. In WordPress: Estimation Tool → Settings → License.
  3. Paste the key and click Activate.
ANET-PREM-9F2A-77C1-B04D-E6A3 example key

Keys are bound to one domain and HMAC-signed. They re-verify with the license server every 30 days. Moving sites? Deactivate from My Account, then activate on the new domain. If a license expires, the plugin keeps running with free features.

REST API

All endpoints live under /wp-json/an-est/v1/ and require an authenticated user with the manage_estimations capability.

GET   /estimations        # list, filter by status
GET   /estimations/{id}
POST  /estimations        # create
PUT   /estimations/{id}   # update / change status
DELETE/estimations/{id}
POST  /estimations/{id}/pdf # returns tokenized URL
POST  /license/verify
curl -X POST yoursite.com/wp-json/an-est/v1/estimations -d '{"title":"Deck build","items":[…]}'

Troubleshooting

The form doesn't appear on my page

Check the shortcode is on its own line and not inside a code block. If your page builder caches aggressively, clear the cache. The form needs JavaScript enabled.

Totals show the wrong currency format

Settings → Calculation → Locale. Separators and symbol position are set there; a form-level currency attribute overrides it.

"License could not be verified"

Usually a domain mismatch (www vs non-www, or a staging URL). Deactivate the key from My Account and re-activate on the exact domain. Keys refresh every 30 days and need outbound HTTPS.

Emails aren't arriving

The plugin sends through wp_mail(). If your host doesn't deliver reliably, install an SMTP plugin — the estimate emails will use it automatically.

Still stuck?

Contact support → or post on the WordPress.org forum. Include your WordPress + PHP versions and plan tier.