Table: spkbz_item_descriptions
Saved Line-Item Descriptions
Like autocomplete suggestions remembering what you typed before
A personal library of reusable line-item descriptions the business has typed before —
suggested as autocomplete when adding a new invoice or variation line. Invoice and
Variations each keep their own separate library, so a description saved on an invoice
never suggests itself on a variation.
Key things stored
- The saved description text
- Which module it belongs to (invoice or variation)
- Date first saved
Table: spkbz_email_subject_overrides
Custom Email Subject Lines
Like editing the default subject line template once, for every future email of that type
Lets a business set its own default subject line for any of the system-triggered
emails (invoice sent, invoice paid, variation approval request/confirmation/decline,
E-Sign send/"your turn") instead of the built-in wording — using
placeholders like the invoice number or business name that get filled in automatically
when the email actually sends. This is the tenant-wide default; a specific invoice,
variation, or document can still override it for just that one send.
Key things stored
- Which email type this applies to
- The custom subject line template (with placeholders)
- Date created and last updated
Table: spkbz_footer_logos
Email Footer Logos
Like the row of membership badges printed at the bottom of a company letterhead
Extra logos a business adds to the signature at the bottom of every email it sends to
customers — for example HIA, Master Builders or licence badges — shown after the business's
own logo and footer note. Each business can have up to six. The images are stored here and
embedded directly into each outgoing email, so they display without the reader having to
click "download pictures". Whether they sit side by side or one per row is a setting on the
business itself (spkbz_tenants).
Key things stored
- Which business it belongs to
- The logo image itself
- Display order
- Date added
Table: spkbz_request_templates
E-Request — Saved Templates
Like a folder of form-letter drafts ready to send to anyone
Reusable subject + message templates for the E-Request feature — a way to send a
free-text email (a checklist, a form request, a reminder) to a batch of customers or
homeowners at once. A template isn't tied to one module; the same one
can be reused to message any audience, and its text stays editable at send time.
Key things stored
- An internal label for the template
- Subject line and message body
- Date created and last updated
Table: spkbz_request_logs
E-Request — Send History
Like a sent-mail folder showing who you've already messaged this year
One row per E-Request actually sent, so the business can see who they've already
contacted (and when) before sending the same request again — e.g. avoiding messaging
the same customer twice for an annual document request.
Key things stored
- Which module the recipient came from (invoice or variation)
- Recipient's name and email address at the time it was sent
- Which saved template was used, if any
- Subject line sent, and the date/time
Table: spkbz_email_send_log
Which Provider Actually Sent This Email
Like a delivery receipt showing which courier company handled a parcel
SparkBiz's default email sending uses AWS SES, and automatically falls back to a second
provider (Resend) if SES can't deliver. This table records which one actually handled each
send for invoice, variation, and e-sign emails, so the business (or SparkBiz support) doesn't
have to check two separate dashboards to see what happened to a particular email.
Key things stored
- Which module and recipient the email was for
- Subject line
- Which provider handled it (SES or Resend)
- Whether it succeeded, and the error message if it didn't
- Date and time sent
Table: spkbz_ses_events
Bounce & Complaint Log
Like a "returned to sender" or "marked as spam" notice from the post office
When AWS reports that an email bounced (bad address, full inbox, etc.) or was marked
as spam by the recipient, that raw report is logged here. It's the underlying event feed —
what SparkBiz then does with it (blocking that address) is tracked in the
separate block-list table below.
Key things stored
- Event type: bounce or complaint, and its subtype
- The affected recipient's email address
- Which business/module it was likely for (best-effort match, not always known)
- The full original report, for troubleshooting
- Date and time received
Table: spkbz_suppressed_emails
The Bounced / Complained Block-List
Like a "do not post to this address" note, added automatically after mail comes back undelivered
When an address hard-bounces, is marked as spam, or soft-bounces repeatedly (3 times),
SparkBiz automatically stops sending to it — every send path checks this table first. The
business is emailed a heads-up, and can see a warning badge next to that customer or
homeowner and clear the block themselves once the address is fixed (a spam-complaint block
needs an explicit "I confirm they want our emails" tick to clear). Cleared entries are kept
as history, not deleted. Editing a contact's email address clears a bounce block on the old
one automatically.
Key things stored
- The blocked email address and which business it belongs to
- Reason: hard bounce, spam complaint, or repeated soft bounces
- Whether the block is currently active, and the soft-bounce count so far
- A link back to the bounce/complaint event that caused it
- When it was created, and if/when/by whom it was cleared