Changelog

Perfex Document Studio release notes

Every version of Perfex Document Studio, newest first: what is new, improved and fixed, and what to check before you upgrade.

Current version
v2.0.1
Released
Releases
8
  1. v2.0.1Latest

    Contract signing from a command-line cron job

    3 improved1 fixed

    Updates

    • FixedFix: contract signing no longer stops with "Private contract storage is unavailable or unsafe" when Perfex's cron job runs from the command line (php index.php cron); preparing the document to sign and the final signed PDF now work the same from a command-line cron, a wget/curl cron and the web
    • ImprovedThe check that keeps signed contracts outside the public web folder now uses the Perfex install folder and its address instead of the web server's document root, so it gives the same answer everywhere; a Perfex installed in a sub-folder still keeps its private storage outside the folder the website is served from
    • ImprovedCleaner notes for the bundled PDF library (version, licence, source)
    • ImprovedUpload the new files and run Perfex's Upgrade Database for the module: no manual step, every setting and record is kept
  2. v2.0.0

    Contracts: clauses, approvals, e-signing and the whole contract life

    3 new19 improved2 security

    Contracts workspace

    • NewNew Contracts tab in Document Studio with Overview, Contracts, Clause Library, Templates and Reports, Import From Word and Setup; built on Perfex's own contracts, so every contract still opens on Perfex's contract page
    • NewNew contract workspace: status, number, customer or vendor, value, term and owner at the top, one main action per stage, a stage track (Draft → In Review → Approved → Out For Signature → Signed) and tabs Document, Versions, Negotiation, Approvals, Signing, Obligations, Files and Activity
    • ImprovedContracts list with search, status filters with counts (Draft, In Review, For Signature, Active, Expiring, Ended, My Approvals) and CSV export
    • ImprovedWorks at phone width and in light and dark, with status pills, row menus, drop zones and empty states

    Clause library and templates

    • ImprovedClauses with named variants, a standard wording, categories, languages and locks; every change is kept as a revision you can compare and restore
    • ImprovedContract templates bind a Perfex contract type and a Document Studio design to ordered clause slots, default values and an approval route; a template can belong to one legal entity
    • NewNew contract wizard: template, party, terms and clauses with a live preview of the real document
    • ImprovedImport From Word: headings and numbered paragraphs of a .docx become clause candidates to add to the library or to turn into a template

    Review, negotiation and approvals

    • ImprovedVersions of every contract with a side-by-side comparison
    • ImprovedCounterparties comment on a clause or propose other wording through a private link; you accept or reject each proposal
    • ImprovedApproval routes with steps, approvers, department heads, value thresholds and due dates; approve, request changes or reject with a reason
    • ImprovedAI review (with Perfex AI Staff): risk findings per clause against your standard wording, missing topics and a suggested approved variant; advisory only, never changes the text

    E-signing

    • ImprovedCustomers, vendors and your own staff sign in order or all at once, with an e-mailed one-time code before reading, typed, drawn or uploaded signatures, reminders, expiry and decline with a reason
    • ImprovedThe signed PDF gets a completion certificate page listing every event with hashes, and a verification code; anyone can check a signed PDF on the public verification page
    • ImprovedSigning pages carry the entity's logo, or the Design Studio brand logo, or the company name

    After signing

    • ImprovedLifecycle states active, expiring, expired, renewed, terminated and cancelled, notice reminders, manual renewal into a linked new contract and automatic renewal into the next term
    • ImprovedObligations with owner, due date, reminders and repeats (monthly, quarterly, yearly), Perfex tasks linked to the contract, and files stored as Perfex contract attachments with a visible-to-customer switch
    • ImprovedCollaborators: give a colleague access to chosen tabs of one contract
    • ImprovedLegal entities and vendors, with numbering per entity or for the company (prefix and yearly number) and entity merge fields
    • ImprovedOverview dashboard (approvals waiting, out for signature, signed this month, renewals in 30/60/90 days, pipeline value) and Reports (approval and signing time, value by type, counterparty, owner and entity, approver performance)

    Customers and other modules

    • ImprovedMy Contracts in the customer area: contracts to sign, signed PDFs, shared files and obligations, only for the contact's own customer and Perfex's contract permission
    • ImprovedPerfex Client Hub card, Flow Studio triggers and Connect webhook events for created, submitted, approved, sent, signed, declined, expiring, renewed, terminated and cancelled contracts; read-only Connect resources for contracts and clauses; AI Staff tools to find contracts and read their status; three Brain Pro widgets

    Security

    • SecurityEvery screen and action follows Perfex's contract permissions (view, view own, create, edit, delete) plus the module's own; writes are POST-only with CSRF, public links are hashed tokens with rate limits, signed files are checked against their evidence before download, uploads are checked by content
    • SecurityNew texts in all 9 languages

    Upgrade

    • Free for every Document Studio buyer. Upload the new zip, then Setup → Modules → Upgrade Database (or just open a Document Studio page): 2.0.0 adds the contract tables and keeps all templates, rules, brands and files
  3. v1.1.2

    License checks name the product

    3 improved

    License

    • ImprovedEvery license call (activate, check, pause) now sends Perfex Document Studio's sellmycode.net item id, as the license server requires
    • ImprovedA purchase code bought for another product, or an unknown one, only shows "This purchase code is not valid for Perfex Document Studio." and is never activated
    • ImprovedAn activation made by an older version with another product's purchase code is paused automatically and removed from this install; enter your Perfex Document Studio purchase code to switch the module back on
  4. v1.1.1

    Domain changes need your confirmation

    7 improved

    License

    • ImprovedWhen the site moves to another domain (a new address, a staging or test copy), the license is never activated for the new domain on its own: not when the module is switched on again, not by the scheduled check, not when a page opens. Perfex Document Studio stays switched off until an administrator confirms: the License page and the admin banner say "This site now runs on <new domain>. Activate your license for this domain?" with an "Activate on <new domain>" button. When all activation slots are in use, the page shows sellmycode.net's hint and the Request a Transfer button
    • ImprovedThe old domain is never paused from the new one (module deactivation and the Pause button only use a token of this domain); it keeps its slot until the author releases it
    • ImprovedPaused, revoked or otherwise invalid licenses: besides Reactivate, "Use a different purchase code" opens a code field on the page. The stored code is replaced only when sellmycode.net confirms the new one; if it fails, the current code stays and the error is shown
    • ImprovedSwitching the module on again on the same domain still reactivates the kept purchase code automatically
    • ImprovedBlocked licenses: when the author blocks the purchase code (License Blocked) or this domain for it (This Site Is Blocked for This License), Perfex Document Studio switches off on the next check and the License page and admin banner show sellmycode.net's hint with an Appeal / Contact the Author button; Reactivate is hidden, a different purchase code can still be used
    • ImprovedThe license is checked every 6 hours instead of once a day, and also when someone opens a Document Studio page and the last check is more than 6 hours old. That check runs after the page is sent (or in the background), so pages never wait for it, and several pages opened at once make one check at most
    • ImprovedNew texts in all 9 languages
  5. v1.1.0

    License activation

    1 new7 improved1 security

    License

    • ImprovedWithout a valid license (not activated, paused, revoked by the author, a code for another product, or no confirmed answer within the grace period) Perfex Document Studio switches off and Perfex makes its own PDFs and sends its own email templates exactly as without the module (the module only ever hooks in, so nothing needs repair). Templates, rules, brands, revisions and files are kept; activating the license brings designed PDFs and emails back
    • ImprovedSigned email pictures answer HTTP 403 license_inactive while switched off
    • ImprovedA sibling module without a valid license (Design Studio brand, Deliverables handover, AI Staff, Brain Pro) counts as not active
    • ImprovedEvery Document Studio page answers "License Not Valid" while switched off (other requests get a JSON license_inactive answer with HTTP 403, never an error page); the License page stays under Document Studio › License and Setup › Module Licenses, and administrators see a banner on every page. Staff who are not administrators see "contact your administrator"
    • NewNew License page shared by all SellMyCode modules: activate with your sellmycode.net purchase code, see the license type, domain, activations used and limit, update period, last check and the grace time; Verify Now, Pause License on This Site (in-page dialog) and Reactivate; light and dark, in all 9 languages
    • SecurityAnswers from the license server are signed (Ed25519) and checked against the key built into the module; when the server cannot be reached the last good answer keeps working until its grace deadline
    • ImprovedPausing keeps the activation slot reserved for this domain; moving to another domain needs the author to release the old one (the page shows sellmycode.net's hint and a Request a Transfer button)
    • ImprovedDevelopment installs (localhost, *.localhost, *.test, *.local and private network addresses) need no license
    • ImprovedDeactivating the module pauses this site; activating it again resumes a kept code; uninstalling pauses and removes the stored purchase code, token and cache. Nothing else is deleted while the license is not valid
  6. v1.0.2

    Items table · Deposit invoices · Developers

    3 new7 improved

    Support for the module "Deposit Invoice and Sales Item Customization" (custom_sales, 1.1.x). Nothing changes while that module is not active.

    Items table

    • ImprovedItem titles of that module ("Add title" rows on invoices, estimates, proposals and credit notes) print as heading rows at exactly the places the module prints them on Perfex's standard PDF: before the item a title was placed above, several titles on one place in their order, titles placed after the last item at the end; a title whose item is not printed (optional item not selected, removed item) is left out, as on Perfex's PDF. Also in {proposal_items}.
    • ImprovedThe template's heading style wins: colours, font, size, background and line colour come from the template; from the module's PDF title style only the weight (normal or bold) and the side of the line (above or below) are used.
    • ImprovedThe 1.0.1 reading of rows from another module's items table is not used for this module's tables, so titles are never printed twice.
    • ImprovedHidden item fields of the module (quantity, rate, amount, tax, long description, item custom fields; for customers, e-mailed PDFs, and staff when its admin option is on) are left out of the designed Items Table too; the remaining columns share the width.
    • ImprovedThe module's "Add tax to item table amounts" option: item amounts include their taxes, as on Perfex's PDF. Totals, tax summary and e-invoice data are unchanged.

    Deposit invoices

    • ImprovedChecked: totals and taxes are the deposit's (tax on the deposit amount, as the module computes it) and the items are the estimate's lines, as on Perfex's PDF. The module prints no titles on deposit invoices, so none are printed here either.

    Developers

    • ImprovedHeading rows of the filter pdoc_items_rows may carry 'style' => ['weight' => 'bold'|'normal', 'rule' => 'bottom'|'top'|'none'].
    • NewNew filter pdoc_items_table_scan ($scan, $table, $type, $record): an adapter that reads a module's rows from its data turns off the reading of that module's items table HTML.
    • NewNew filter pdoc_custom_sales_print_titles ($print, $type, $record).
    • NewNew optional document data items_hide (Items Table columns an adapter hides on a record).
  7. v1.0.1

    Items table · Signatures · Proposals

    2 new5 improved

    Fixes and additions from customer support.

    Items table

    • ImprovedHeading rows: lines that are titles (for example "1. End-User Devices") print as full-width heading rows above their items, styled by the template, instead of being left out or printed as items with 0 quantity. Found automatically when a line has a description with quantity 0, rate 0 and no tax; when another module marks a line as a title in an extra item column (is_heading, is_title, is_section, title_row, section_row, or item_type / row_type / line_type / type / kind = heading, title, section, group, header); and when another module adds heading or subtotal rows to Perfex's standard items table through Perfex's items_table_class filter (rows are matched to the items one to one, otherwise nothing is guessed).
    • NewNew Items Table setting "Show headings and subtotals between items" (on by default).
    • NewNew developer filter pdoc_items_rows ($rows, $type, $record): add, remove or change the rows the Items Table prints (kinds item, heading, subtotal). Text is printed as plain text, notes are cleaned like template text. Documented in the documentation (Blocks › Headings, subtotals and {proposal_items}).
    • ImprovedHeading rows never count as items: numbering, totals, taxes and e-invoice data use the real items only.

    Signatures

    • ImprovedThe company signature picture (Setup › Settings › PDF) and the customer's e-signature now stand on the signature line, above it, instead of beside it; the stray dot after the picture is gone. Same layout for company, customer and blank boxes, signed and unsigned, with and without the line.

    Proposals

    • Improved{proposal_items} in a proposal's content (or in a Text block of a proposal template) printed as plain text. It now prints nothing when the page has an Items Table block (no second table), otherwise the template's items table with the totals.

    Other

    • ImprovedChecked: PDFs other modules make through Perfex's own PDF functions (invoice_pdf(), estimate_pdf(), proposal_pdf(), credit_note_pdf(), contract_pdf(), payment_pdf()), for example WhatsApp modules sending the invoice PDF from a cron job or webhook, use the designs (no change needed).
  8. v1.0.0

    First release

    45 new

    First release.

    Designer

    • NewTemplate library: cards with a first-page thumbnail, filters by document type, status and name, default badges; new from a starter layout, a copy or the gallery; rename, duplicate (also to another document type), make or remove default, export, archive and delete with in-page confirmations.
    • NewFull-screen editor at the real paper size: block palette with search, layers (header, body, footer, overlay), drag and drop between regions and into columns, column widths by dragging, selection outline, inline text editing with a merge field picker, zoom and fit, dashed lines where a page will break.
    • NewInspector generated per block: settings, appearance (alignment, font, size, colours, background, padding, borders, spacing, bold, italic, uppercase), visibility per status, page and empty content, translations per language.
    • NewPage setup: A4, Letter, Legal or A5, portrait or landscape, margins, header and footer bands, header on the first page or not; theme fonts, sizes, line height and colours; text direction and print language.
    • NewPreview with any record the staff member may open: the page shows its data and Preview builds the real PDF with Perfex's own engine, from the draft or the published version.
    • NewUndo and redo, autosave with a saved indicator, conflict dialog when the same template was saved elsewhere, keyboard shortcuts with a help sheet, copy and paste of blocks between templates.
    • NewDrafts, publish with a revision each time, view and restore revisions.
    • NewRead-only view with revisions and PDF preview on phones; light and dark in step with the other SellMyCode modules.

    Blocks and PDF rendering

    • NewHeading, text, image, logo (company, brand or uploaded), columns, divider, spacer.
    • NewCompany details, customer details (billing, shipping or both), document title, document details (number, dates, due date, valid until, status, reference, sale agent, project, amount due, payment mode, subject, contract value, period), custom fields, document content, signatures (company, customer and blank boxes; Perfex e-signatures with name, date and optional IP).
    • NewItems table with configurable columns (number, description, quantity, unit, rate, tax, tax amount, amount, item custom fields), labels, widths, alignment, long descriptions, stripes, borders and header colours; header repeated on every page.
    • NewTotals with chosen rows, tax summary, amount in words, notes, terms, payment details with pay link, received payments, bank details, QR codes, e-invoice details.
    • NewStatement summary and lines, receipt details and paid invoice, expense details, project summary and table.
    • NewPage numbers, watermarks and status stamps per status (under or over the content), page backgrounds.
    • NewEvery document type Perfex makes: invoices, estimates, proposals, credit notes, contracts, customer statements, payment receipts, expenses and project data — in View PDF, downloads, email attachments and the client portal.
    • NewFonts: Perfex's PDF fonts plus bundled Carlito, Noto Serif, Noto Naskh Arabic and Rubik; TrueType upload with bold and italic styles; right to left for Arabic, Persian, Hebrew and Urdu; fallback fonts for Arabic, Hebrew, Chinese, Japanese, Korean and Thai text.
    • NewPrinted in the customer's language or a fixed language; per-language wording of titles and labels.
    • NewPictures checked by content (PNG, JPEG, GIF, WebP), embedded from the module's own storage only.

    Emails

    • NewEmail layouts that frame every Perfex email (or only chosen ones) and replace the email header and footer from Perfex settings.
    • NewDesigns for single emails with the Perfex message, headings, text, summary tables, buttons, images, dividers and social links; colours and fonts inherited from the layout or their own; designs per language.
    • NewTable-based HTML for Gmail, Outlook and Apple Mail, preheader, web-safe fonts, card options, accent bar, dark-mode colours.
    • NewPreview with a real record and a test send to the staff member's own address.
    • NewPlain-text emails untouched; Perfex's merge fields, tracking and links keep working; any error sends Perfex's own email.

    Rules, brands, gallery

    • NewDefault template per document type; assignment rules by customers, customer groups, currencies, languages, countries, brands and statuses, in priority order, with a record tester that explains the choice; the same rules for emails.
    • NewBrands with their own name, address, VAT number, contact details, logo and colour, chosen by a customer custom field.
    • NewTemplate gallery: ten designs (Modern, Classic, Minimal, Bold, Corporate, Creative, Compact, Elegant, Nordic, Ledger), each for invoices, estimates, proposals, credit notes, contracts, statements and payment receipts, each with a matching email layout; real PDF preview; use creates drafts only.
    • NewJSON export and import of templates with their pictures; imports are validated, cleaned and created as new drafts.

    Payments and e-invoices

    • NewEPC / SEPA payment QR codes with IBAN, BIC, beneficiary and amount checks; link and text QR codes.
    • NewBank and company details, seller and buyer VAT numbers, company registration and customer reference on documents.
    • NewFactur-X / ZUGFeRD (beta): invoice data as XML in a PDF/A-3, profiles MINIMUM, BASIC WL, BASIC and EN 16931, with a check per invoice and XML download.
    • NewPDF Tools: fonts with styles and scripts and a sample PDF, bank and company details, e-invoice check, render check of every document type.

    Integrations

    • NewPerfex Design Studio: Match my brand (colours, fonts and logo), templates that follow the active theme, new blank templates in the brand colours.
    • NewPerfex AI Staff: design proposal from a logo and a brand description (created as a new draft only; also works without AI from the logo colours), improved wording for terms, notes, payment instructions and emails that keeps merge fields. AI only proposes.
    • NewPerfex Brain Pro: four widgets (documents per template, invoices and estimates sent, overdue or expired per template, fallbacks).
    • NewPerfex Sentinel: template, rule, default, import and safety events in the audit log.
    • NewPerfex Deliverables: handover document type and a branded handover PDF in the handover dialog.

    Safety

    • NewPer-document fallback: any error while a template is drawn prints that document with Perfex's standard design; emails fall back to Perfex's text and frame; every fallback logged, optional notification to administrators (at most once an hour per template).
    • NewOnly published templates that are the default or picked by a rule reach customers.
    • NewSwitches for designed PDFs, designed emails and everything; DISABLE file in the module folder and PDOC_SAFE_MODE in app-config.php; deactivation brings Perfex's own documents back at once.
    • NewHistory of every change; usage counters (optional); cache with a clear button.
    • NewPermissions: view, create, edit, publish (also defaults and rules), delete and settings; previews only for records the staff member may open.
    • NewCSRF-protected writes, template text cleaned on save and at print time, no outside pictures or files read by the PDF engine, signed email picture links, no secrets in the browser.

    Platform

    • NewInterface in English, Spanish, Portuguese (Brazil), French, German, Italian, Dutch, Turkish and Russian.
    • NewMulti-tenant installations with a database per tenant: templates, pictures and fonts per tenant; shared-database tenants stay on the standard documents.
    • NewNo Perfex core file or my_ view changed. Uninstall removes the module's tables, settings and stored files.