Updates

What's new in the platform.

Partial Invoices, Profit Overhead, Signature & SMS Templating

Update

Postech Job

  • New Create Partial Invoice button on the job header, visible in Estimate Approved / Job Unscheduled / Job Scheduled, restricted to the invoice group; lets staff bill engineering, test piles or other pre-completion services without waiting for job completion
  • Invoice tab now appears whenever a partial invoice exists, even before the main invoice is created; Invoice 1 sub-page stays hidden until Create Invoice fires so users only see what is actually billable at each stage
  • Estimate / Invoice line tables (Materials and Labor, including all option tabs and Field Service / Invoice) no longer auto-create a new product or service when an unmatched internal reference is entered and Enter is pressed; users must explicitly use Create and edit to add a new record
  • Show Job Documents and Internal Documents fields into Field Service so installers see every attachment relevant to the job in one place
  • Vendor Invoice field on the procurement Other Info tab now uses a proper file-upload widget with filename preservation, replacing the broken binary input that did not surface an Upload button

Profit Calculator

  • New Overhead row sits between Total COGS and Revenue in all three Profit Calculator panels (Confirmed Estimate, every Option 1-5, and Invoice); reads the Target Overhead (%) field from Revenue Settings and shows the dollar amount being deducted
  • Profit is now Revenue minus COGS minus Overhead so the headline number reflects what actually flows to the business after indirect costs
  • Margin (%) renders as a coloured badge: green when current margin is at or above the Target Gross Margin (%) from Revenue Settings, red when below, no colour when the target is blank; a small 'target X%' caption sits next to the badge for quick reference

Email Signature

  • {{ user.signature }} placeholder is now resolved everywhere it appears in mail templates rendered by the Send Estimate, Send Invoice, Send Procurement and Send Post-Job wizards; pulls the HTML signature from the user's Preferences
  • Send-email wizards auto-append {{ user.signature }} to the body when a template is selected and the placeholder is not already in the template, so legacy templates carrying a hardcoded sign-off still pick up the per-user signature
  • Seeded mail templates (Estimate New Customer, Existing Customer, Followup, Invoice, Purchase Order, Post Job) replaced their hardcoded user.name / phone / website / company.name block with a single {{ user.signature }} block; fresh installs ship with this layout

Schedule Wizard SMS

  • Hardcoded installer and customer scheduling SMS bodies removed; the Schedule Job wizard now reads from postech.sms.template records so staff can edit the wording from the SMS Templates menu without touching code
  • Four seeded templates ship out of the box: Field Service Schedule - Installer (New), Installer (Reschedule), Customer (New), Customer (Reschedule); the wizard auto-picks the right pair based on whether the job is being scheduled for the first time or rescheduled
  • Wizard renders {{ first_name }}, {{ object.name }}, {{ object.client_info }}, and {{ date_range }} placeholders at send time so the messages personalise per recipient

Portal & Preview

  • Estimate portal sign-prompt copy updated to 'Please sign below to approve this estimate and accept the conditions of installation.' on both classic and modern templates
  • Estimate Preview and Invoice Preview tabs in the job-form bottom panel gain a Print button next to Refresh; opens the browser print dialog against the iframe content so staff print the customer-facing view directly without any backend chrome

Settings & UI

  • Preferred View setting in User Preferences gains a Calendar option alongside List and Kanban; the chosen view becomes the default for every menu action whose view list includes it, with graceful fallback for actions that do not ship a calendar view
  • Preferred view fix for mobile: the action service patch now reorders action.views and view_mode at load time and falls back to switchView after open, so the preference applies on small screens (emulated and real)
  • Issued By dropdowns on Postech Job and Estimate Options now exclude the notifications system user via a login != 'system' domain so it cannot accidentally be selected as the deal owner

Record Manual Payment Before Invoice

Update
  • New Record Manual Payment button on the job header, visible during Estimate Approved, Job Unscheduled, Job Scheduled, and Job Completed (before Create Invoice), restricted to users with the invoice group
  • Wizard shows Estimate Total, Down Payment Required, Outstanding Down Payment, Already Paid, and a highlighted Remaining Estimate Balance card to make the math easy to scan
  • Payment amount defaults to the remaining balance, capped at it; partial deposits are allowed and full payments are accepted as well
  • Recorded payment is classified as Down Payment when a deposit is configured and the amount is partial, otherwise as Estimate Payment (same rules as the Approve Estimate wizard)
  • Creates a postech.payment row linked to the job in Confirmed state with method, date, reference, and notes; job state is intentionally left untouched
  • Amount flows into Invoice 1's balance automatically once the invoice is created, so deposits collected weeks or months before the work starts reduce the final invoice without manual reconciliation

Invoice Review, Estimate PDF & Order Template Cost

Update

Postech Job

  • Issued By added to the Invoice tab configuration alongside Invoice Date, Completion Date, Payment Term, and Due Date
  • Create Invoice no longer auto-flips to Invoice Paid when the deposit already covers the balance; the user can review, modify, and send before the state transitions

Multi-Estimate Options

  • New Multi-Estimate Options flow lets a job present up to five alternative quotes; the customer picks their preferred option in the portal and pays it through Stripe, and staff can also accept an option manually from the backend
  • Estimate PDF (both default and modern templates) renders the selected option's lines, terms, and totals when the customer is still choosing, then falls back to the confirmed estimate after approval

Order Template

  • Materials line now has Cost and Markup fields (matching Labor / Equipment / Subcontractor / Permit), with an onchange that computes Unit Price as Cost x Markup

Estimate Signature & Invoice Auto-Paid Fixes

Fix
  • Fixed estimate portal crashing with a TypeError when a signed estimate was viewed; the signature image data is now decoded from bytes to a string before being embedded in the data URL so the modern portal page renders again
  • Fixed Create Invoice jumping straight to Invoice Paid when the deposit already covered the invoice balance; the job now stops at Invoice Created so staff can review and modify the invoice, and the state only flips to Invoice Paid after the user clicks Send Invoice

Manual Payment on Estimate Approval

Update
  • Added an optional Manual Payment section to the Approve Estimate wizard for customers who pay outside Stripe (cash, check, bank transfer)
  • Process Type (Field Service or Direct Sale) and the manual payment are now confirmed in a single step
  • Wizard shows estimate total, down payment required, outstanding down payment, and remaining estimate balance for context
  • Payment amount defaults to the remaining estimate balance and is capped at it
  • Full payments are recorded as a single Estimate Payment; partial payments are recorded as a Down Payment when one is configured, or an Estimate Payment when none is required
  • Direct Sale jobs paid in full at approval go straight to Invoice Paid with no further payment step
  • Field Service jobs paid in full at approval skip the Create Invoice button when the job is completed and land at Invoice Paid automatically
  • Partial estimate payments still flow through to the invoice; the remaining balance can be collected with the existing Pay Manually button
  • Fixed payment totals on the job not refreshing when a payment's type was changed

New Timesheet Module, Estimate & Invoice Improvements, Order Template Tabs

Update

Timesheet

  • New Postech Timesheet module for tracking employee hours
  • Each timesheet entry has a Type of Time dropdown (Regular Hours, OT, Shop Time, Stat, Other, Yard Work)
  • Regular and OT entries require an Associated Job; Other and Yard Work require a Specify text field; Shop and Stat need only date and hours
  • Two roles: Timesheet User (sees own entries only) and Timesheet Manager / Bookkeeper (sees all, can approve or reject)
  • Submit and Approve workflow: employees submit a draft entry, bookkeepers approve or reject it back to draft
  • Employee field auto-locks to the current user when creating from My Timesheets, editable for bookkeepers when creating from All Timesheets
  • Server enforces ownership: non-managers cannot create or reassign entries to other users
  • Multiple views available: List, Form, Grid (week / month / year), Calendar, Pivot, Graph
  • Grid view is the default landing view, showing rows by Employee and Job with daily hour totals
  • Bookkeeper-only Dashboard page with date range filter, employee dropdown, and quick range buttons (This Month, Last Month, This Quarter, This Year)
  • Dashboard shows four KPIs (Total Hours, Employees, Jobs, Avg Hours per Day) plus four charts: Hours by Type donut, Hours by Employee bar, Daily Hours Trend line, and Hours by Job bar
  • Status pill row showing Draft, Submitted, and Approved counts for the selected period
  • Export to Excel button generates a styled .xlsx with all entries in the selected range

Postech Job

  • Added Estimate Date and Estimate Expiry Date to all four estimate templates: default portal, modern portal, default PDF, and modern PDF
  • Renamed legacy 'Date Issued' and 'Valid Until' labels to 'Estimate Date' and 'Estimate Expiry Date' for consistency across templates
  • Fixed Invoice Date and Job Completed dates being reversed on the invoice portal and PDF; both now read from semantic fields stamped at the right point in the workflow
  • Added Payment Term dropdown on the Invoice tab with options Immediate Payment, 15 Days, 30 Days, 60 Days
  • Added Due Date that auto-computes from the term and stays hidden unless the term is cleared, in which case the user can pick a custom date
  • Added Labor, Equipment, Subcontractor, and Permits & Fees tabs to Order Template, mirroring the existing Materials tab
  • Selecting an order template on a job now loads all four collections into the job alongside materials
  • Renamed the Order Template Product List tab to Materials for consistency

Google Review Request, Portal Preview & Email Template Fix

Update
  • Added Google Review Request feature — a new field on the job's internal assessment section lets staff flag whether to request a review from the customer
  • When set to Yes and a Google Review URL is configured in Settings, customers see a "Leave a Google Review" button on their invoice portal page
  • Google Review URL can be configured under Settings → Postech and the Portal Template settings page
  • Added live portal preview panel in the job form — internal users can see the exact estimate and invoice portal view customers see, directly from the backend
  • Preview panel has three tabs: Chatter, Estimate Preview, and Invoice Preview
  • Chatter tab shows the standard chatter inside the panel, keeping the form clean
  • Estimate and Invoice tabs display the full customer-facing portal inside an embedded iframe
  • Invoice preview supports switching between Invoice 1, 2, and 3 where available
  • Preview auto-refreshes when the record is saved
  • Panel can be fully hidden with a Hide button — form expands to fill the freed space on all screen sizes
  • Show Panel floating button appears when panel is hidden for easy restore
  • Fixed email template attachments not appearing in the send estimate window — attachments defined on a mail template now load automatically when the template is selected or pre-applied

Discount Lines, Job Categories, Follow Up & Pricing Fixes

Update
  • Fixed discount line items disappearing from Invoice Materials tab — discount/consumable/service products now always appear in the invoice regardless of delivered quantity
  • Added Job Category field on job records — multi-select tags positioned directly under Job Name
  • Pre-populated with 17 default categories (Small Deck, Large Deck, Sunroom, Shed, Garage, Carport, Gazebo/Pergola, Cabin, House, Boardwalk, Retaining Wall, Gate, Mobile Home, Shipping Containers, Solar Panels, Signs, Light Posts)
  • Job Categories are fully configurable under Configuration > Job Categories
  • Added Follow Up button on estimate-sent jobs — opens the send wizard pre-set to Both (email + SMS) with a dedicated follow-up template
  • Follow Up automatically marks existing pending follow-up activities as done and creates a new reminder
  • Added Mark as Sent button to manually mark an estimate as sent without sending an email
  • Resend Estimate button changed to secondary (gray) style
  • Send method (Email / SMS / Both) now auto-selects based on available customer contact info
  • Fixed markup factor not updating sales price on product records when changed
  • Fixed same issue on job estimate product lines
  • Sales price on product records now displays with $ currency symbol

Field Service Qty Fix, Invoice Payment & Payment Info

Fix
  • Fixed issue where changing the Delivered Quantity in Field Service was incorrectly updating the estimate quantity
  • Fixed issue where the amount due on an invoice was not decreasing after a Stripe payment — balance due now correctly calculates as invoice total minus amount paid
  • Added invoice reference info to payment records so each payment shows which invoice it was made for

Dashboard Refresh & Onboarding Setup

Update
  • Revenue tab inside Postech Job can only be viewed by accounts with accounting access
  • Dashboard is back with a fresh new look — each component is visible based on the user's privilege level
  • Re-added onboarding menu inside the dashboard to help new dealers set up their instance

Multi-Invoice, Pricing Overhaul & UX Improvements

Update
  • "Products" renamed to "Materials" across the platform to match revenue calculation terminology
  • "Services" renamed to "Labor" across the platform
  • Automatic post job email disabled by default
  • Fixed Stock Forecast and "Needs Ordering" menu bug
  • Added multiple invoice feature — up to 3 invoices can be created per job, acting as additional invoices
  • Delivered quantity on field service jobs can no longer be decreased; a warning pop-up is shown if attempted. Direct sale jobs are not affected
  • Markup multiplier moved from global Revenue Settings into each product (Materials). When a product is added to a job, its markup factor and pricing are pulled directly from the product record
  • Invoice action buttons moved to the bottom tab area to accommodate the new multi-invoice layout
  • Added "Post Job Sent" button on fully paid invoices to mark a job as completely done

Direct Sale, SMS Controls & Portal Styling

Update
  • Scheduling (and rescheduling) Field Service will not send SMS by default. A checkbox is available to send SMS to the customer or installer crew separately. Automatic field service customer visit SMS removed
  • Added "Direct Sale" option when "Approve" button in jobs is clicked. This allows selling products or services without going through field service planning
  • Direct sale jobs show "Address" instead of "Service Location" and hide "Work Completed" in portal and PDF
  • Adjustment of font size and spacing in modern estimate and invoice portal for a more compact, aesthetic layout
  • Added Post Job - Thank You email template
  • Fixed issue where procurement email attachment (PDF) could not be opened

Attachment Permissions & Portal Signature

Fix
  • Fixed internal users unable to access attachments uploaded by other users
  • Fixed "Accept Signature" button not showing in modern estimate portal template

Unified Kanban & Role-Based Tabs (Version 6)

Update
  • All records now in a single kanban view with stage-based tabs: Job Request, Estimate, Field Service, Invoice
  • Role-based tab access,users only see tabs matching their group (Job Request, Estimate, Field Service, Invoice)
  • Default view preference added in user settings
  • "Estimate Template" renamed to "Order Template",usable from Job Request stage onward
  • Estimate preview button for reviewing data before sending
  • Emails for estimates, invoices, and field services now use portal links instead of PDF attachments
  • Procurement emails still attach PDF; no portal view for procurement
  • SMS and email combined into one "Send" button,send email, SMS, or both (except Procurement)
  • Attachment preview on job records for Job & Internal attachments (save required before preview)
  • Torque report upload with preview,locked in customer portal until invoice is fully paid
  • Chatter inbox syncs with email when incoming/outgoing mail servers are configured
  • Mass stock adjustment in Inventory app with Excel import support and template
  • Accounting and mass emailing temporarily disabled; Website and custom domain add-ons remain
  • "Purchase" rebranded to "Procurement"

Domain Change & Spam Protection

Addition
  • Domain change request from app menu
  • reCAPTCHA v3 auto-enabled on website install to prevent spam

Invoice Email & Navigation

Improvement
  • Customizable "Thank you" email template in invoice
  • Job Request, Estimates, Field Services & Invoices added to dashboard top nav

Invoice from Field Services & Flow Improvements

Update
  • "Create Invoice" button in field services for direct invoicing after job completion
  • Invoice status badge in field services view
  • Job Lost status hidden unless record is in that state
  • Invoice groups now follow flow state instead of alphabetical sort
  • Invoice initial status changed to "draft" instead of "pending"
  • Improved control button visibility in invoice header
  • Zero quantity field services pop-up improved
  • Dashboard "x Jobs to Invoice" now links to non-invoiced field services
  • Notes/sections removed from estimate lines when creating invoice,only products and services appear
  • Fixed random error on invoice menu open

Activity Calendar & Field Service Completion

Update
  • Completed activities now show with strikethrough in Schedule calendar instead of being deleted
  • Auto-generated activities tagged: [JR] Job Requests, [ES] Estimates, [FS] Field Services, [INV] Invoices
  • Schedule Activity section in dashboard now has icons
  • Completed field service tasks mark calendar activity as done instead of removing
  • Confirmation pop-up on Field Service "Set Complete" when delivery qty is 0
  • Removing a scheduled field service from calendar resets schedule times, returning it to unassigned list
  • Improved invoice_status handling in Estimates

Security & Subscription

Improvement
  • Improved security and subscription mechanism

Invoice Payment Fix

Fix
  • Fixed paid invoices stuck in "sent" status instead of "paid"

Invoice Status Fixes

Fix
  • Fixed paid invoices unintentionally reverting to draft
  • Renamed invoice statuses: "Pending" → "Pending Invoice", "Sent" → "Invoice Sent", "Paid" → "Invoice Paid"

Estimate & Field Service Sync

Improvement
  • Disabled removal of linked estimate in job request when cancelled
  • Fixed invoice status in job request
  • Field service revisions now update main qty and retain price in estimates

Invoice Preview

Improvement
  • Invoice preview now updates after saving edits

Purchase Planner

Addition
  • New Purchase Planner menu for listing and purchasing products

Field Service Revision & Website Fix

Update
  • "Revision" button added to completed field services
  • Fixed website not accessible with "www" in URL

UX Tweaks & Bug Fixes

Improvement
  • Actual visit work in field services no longer mandatory
  • Reminder pop-up moved from confirming estimates to before sending email
  • Various bug fixes

Record Delete Options

Improvement
  • Delete button now offers: delete selected record only, or also delete related records

Portal & Dashboard Improvements

Update
  • Improved customer estimate portal view
  • Dashboard "Balance Due" shows unpaid invoices sorted by highest amount
  • Fixed estimate status not auto-updating on portal payment confirmation
  • Fixed invoice payment status: "Partial" for down payments, "Paid" for full
  • Fixed missing "Pay Now" button on customer invoice portal

Optional Apps

Addition
  • Optional Email Marketing and Website apps available for install
  • Dedicated apps page in Settings > Apps for Accounting, CRM, Email Marketing, Website

Invoice & Dashboard Polish

Update
  • Fixed confirm button not changing invoice state
  • Fixed Send SMS button visible in draft invoice
  • Fixed dashboard fund amount for invoices needing action
  • "Low in Stock" renamed to "Low Stock"
  • General dashboard view improvements
  • Balance Due limited to top 8 customers by amount
  • Schedule section shows today and future only
  • Improved mobile map view in Job Request & Field Services
  • Improved mobile product/service list in field services

Invoice States & Calendar

Update
  • New invoice states: Draft, Pending, Sent, In Payment, Post Job Sent
  • Invoice & Estimate list views grouped by state
  • Worker field added to field services calendar
  • Fixed invoice count in dashboard
  • Fixed field services calendar end date drag issue
  • Removed duplicate "Send & Print" button in invoice
  • "Waiting for Payment" renamed to "Need Actions"

Invoice Templates & Activity Fix

Update
  • Terms & Condition template added to invoice
  • Tags added to invoice
  • Fixed activity name creating "/" instead of invoice name during validation
  • "View Invoice" changed to "View/Pay Invoice" in email template

Smart Buttons

Addition
  • Field services smart button on estimates
  • Estimates smart button in field services
  • Disabled delivery button on top of estimates

Cross-Module Sync & Call Client

Update
  • Product changes in field services now sync to job request
  • Field service items created only from estimate lines with quantity
  • Attachments, torque report, engineering fields, QC checklist, internal notes remain editable after field service completion
  • "Call Client" button in schedule and field services with phone number from customer info

Menu Privileges & Equipment Sync

Improvement
  • Menu visibility restricted by user privilege settings
  • Equipment updates in field services sync to job request

Calendar & Field Service Enhancements

Update
  • Field services product/service table improved for mobile
  • Calendar drag updates schedule date for all related team members
  • Calendar title format: "Asset Builder + Customer + Job Name"
  • Unscheduled job panel in field services calendar (right side)
  • Client name in calendar pop-up view
  • Torque document field added
  • "Thank you" email button after invoice payment
  • Reminder pop-up after confirming invoice

Visit Tracking & SMS Notifications

Update
  • "Real time Work" moved into Visit table for multiple visit records per job
  • Removed unused "Scheduled Date" from Job Request
  • Automatic 24-hour SMS notification to customer before project work

Terms & Reminders

Addition
  • Terms & Condition template dropdown (customizable)
  • Reminder creation pop-up during estimate validation

Field Services Calendar & Equipment

Addition
  • Field services list grouped by state, sorted by date descending
  • Calendar view in field services
  • Equipment section in field services (carried from job request)
  • Job request list grouped by state, sorted by date descending
  • Referral Source under customer menu
  • Equipment section & menu in field services
  • "Engineering Required" fields in field services
  • CRM install adds Referral Source to CRM and Leads

SMS for Estimates & Invoice

Addition
  • SMS feature added to Estimates and Invoice

Cross-Module Product Sync

Update
  • Sections and notes in Job Request products carry over to estimates
  • Estimate revisions reflected in Job Request
  • Approved estimates lock product editing,new products only via Field Service
  • Field service delivered qty changes sync to picking and estimate
  • New products in field service reflect to estimate and job request
  • Sections and notes carry over from job request to field services
  • Fixed field service products missing in invoice
  • Auto invoice creation disabled,must be created from estimates manually
  • Fixed Job Request attachment bug where Job and Internal attachments were linked

Field Service Sync & Mail Setup

Update
  • Field service product/service additions now sync to estimates and invoices
  • Outgoing mail server setup added in Settings > User & Companies > Companies
  • Fixed field service attachment permission error for other users

Platform Launch (Version 1.0)

Launch
  • Echo Service Solution platform is live,cloud-hosted instance with job management, estimates, invoicing, and field services