AgriTheory Newsletter: June 2026

June 2026

Approvals

Approving documents is now smoother and more flexible. You can set up email reminders before approvals are due, and a Pending Approval Email Template makes those notifications more useful. Fallback approval roles produce clearer errors when something's misconfigured. Doctypes without a defined workflow can now use simple confirm-to-submit instead of relying on the more precise and customizable Workflow integration.


BEAM

BEAM released version 15.11.0 with a focused feature addition: the scan-to-login functionality has been ported from the mobile_v15 branch into the main version-15 branch. When configured, users can scan a barcode or RFID to log in, if that barcode is present on their User profile. This feature can restricted by IP so it represents logins for a user who is on already on prem.


Check Run

After more than two years of design and iteration, Check Run v15.14.0 ships the Sales Tax Payable workflow — extending Check Run from vendor AP into a full sales tax remittance path for businesses that collect tax on Sales Invoices and owe it to government authorities.

The workflow treats each Sales Taxes and Charges row on a Sales Tax Payable account as its own payable: tax authorities are modeled as Party on the tax row, Outstanding Amount is tracked per row on submit, and due dates follow the authority’s payment terms. Operators configure a bank account / Sales Tax Payable account pair in Check Run Settings, enable Include Tax Payable from Sales Invoices, and remit the same way they already pay suppliers: by selecting open tax liabilities, run the Check Run, and generate Payment Entries. Returns and post-remittance credits are handled explicitly: return invoices produce negative outstanding amounts that can net against future remittances when "Allow stand-alone debit notes?" is enabled.

Supporting this release is the new Sales Tax Remittance report, a rolling view of tax collected, customer-paid, remitted, and still outstanding — with summary rollups by authority and month and a detail mode that links each tax row back to its Sales Invoice and remittance Payment Entry. Remittance is intentionally routed through Check Run (not the standard Sales Invoice Payment Entry button, which targets receivables). The release also includes targeted fixes to Payment Entry reference amounts, Sales Invoice outstanding calculations, and Supplier Tax Certificate query ordering, plus documentation and a comprehensive test suite covering GL posting, Check Run processing, returns, and remittance reporting.


Communications

Communications shipped three releases in June (v15.7.0, v15.8.0, v15.8.1), with three major capabilities: sendmail override routing, sliding window notification batching, and portal electronic signatures.

Sendmail override and alternate notification routing

Communications can now intercept core Frappe outbound emails and route them through configurable Notification records instead of stock frappe.sendmail. Admins set an Email Override on a Notification to match a specific email path — desk Notification Log types (assignments, mentions, shares, energy points, alerts), document-follow digests, workflow approval emails, or calendar event digests — then choose the delivery channel: Email, Slack DM, or Teams DM. The original subject, body, and context (who triggered it, which document, workflow actions, calendar events) are exposed as Jinja template variables, so a single assignment can become a Slack message, a Teams chat, or a formatted email without changing upstream Frappe code. v15.7.0 laid groundwork by relaxing required Notification fields when Email Override is set, so routing-only Notifications don't need doc-event triggers or recipient rows.

Sliding window notification batching

Assignment notifications no longer have to arrive one email at a time. Sliding Window Notification Batching collects assignment (and related desk) notifications over a configurable time window — default 15 minutes, with optional caps on digest size — and delivers them as a single digest instead of a burst of individual messages. Delivery respects Notification Window Settings: enabled/disabled, collection window length, delivery hours (e.g. 8:00–20:00 in a chosen timezone), and optional bypass for priority DocTypes. Queued items move through Sent, Failed, or Rescheduled states when they fall outside delivery hours; the batch processor can still hand off to the sendmail override path, so a digest can land in Slack or Teams as easily as in email. The goal is less notification fatigue while keeping the full set of assignments visible in one place.

Electronic Signatures

The new Electronic Signature DocType lets organizations send any ERP document for signature through a portal signing flow. An admin links a business document (via Dynamic Link), selects a Print Format, adds signers from Contact records, and sends per-signer invitation emails from desk. Signers open a magic-link or portal URL (/sign), view the agreement rendered through the chosen print format (even when they lack read permission on the underlying document), and sign with an embedded signature pad; when every signer executes, status moves automatically to Completed. Sites wire parent DocTypes through Document Links on the Connections tab, optional Portal Settings sidebar entries, and the install-time Electronic Signature Request email template.


Inventory Tools

Inventory Tools released version 15.13.2 with a single targeted bug fix: time calculations in Job Cards now correctly use the Job Card time rather than the Bill of Materials time. This ensures more accurate time tracking during manufacturing operations.


SAML

SAML shipped two releases in June. v15.7.0 added Keycloak-backed integration tests for ACS, login, role mapping, and certificate handling in CI — groundwork before the larger SSO experience in v15.8.0.

Auto SAML Login and seamless SSO (v15.8.0)

The headline capability is Auto SAML Login: when enabled on a SAML Login Key, guest requests to in-scope routes (all guest pages, configured path wildcards, or desk-only /app) trigger a passive SAML authentication request before ERPNext renders. If the user already has an IdP browser session, they land in the app with no password prompt; if not, the flow escalates to a full interactive SAML login. On /login, passive SSO runs first while preserving redirect-to, but failure shows the normal sign-in form (with a one-time skip token) so local accounts and explicit “Login with {Provider}” buttons stay available. Only one provider may use Auto SAML at a time, and built-in exclusions keep /, /login, /logout, and static/API paths out of silent redirect loops.

Login experience, logout page, and session termination (v15.8.0)

The login page override prepends SAML providers to Frappe’s standard sign-in UI as “Login with {Provider Name}” buttons, with domain-aware behavior that hides password login when the email domain matches configured SAML Domains. Logout is redesigned for SSO sites: instead of sending users to /login (where passive SSO would immediately sign them back in), Auto SAML-enabled sites redirect to a dedicated /logout page with a clear Log in again action. When Terminate SAML Session on logout is enabled, the app sends SAML Single Logout to the IdP before landing there, so the next visit requires a fresh authentication. Desk logout honors the same redirect via boot flags and a patched desk logout handler.

IdP metadata sync and security hardening (v15.8.0)

Scheduled IdP metadata synchronization keeps signing certificates current without manual copy-paste: each SAML Login Key can point at an IdP Metadata URL, run on a configurable cron schedule (with manual sync from desk), and update the stored certificate in the background. If a stale cert causes a signature failure during login, ACS can fetch fresh metadata once and retry automatically. Security defaults tightened as well: SAML validation is strict by default (destination, timing, audience, and correlation checks), with per-provider Allow Relaxed SAML Validation for legacy IdPs. Redirect sanitization blocks open redirects, ACS errors hide internal tracebacks outside developer mode, and forged passive-login skip tokens are rejected — together making seamless SSO workable without sacrificing control at entry and exit points.


Taxjar ERPNext

Taxjar ERPNext released version 15.1.0 with general maintenance and documentation improvements. Pre-commit configurations were updated and cleaned up across multiple commits, and documentation was refreshed to reflect current usage. A dedicated documentation feature commit rounds out the release.


Test Utils

Test Utils shipped three releases in quick succession. Version 1.26.0 adjusted the Farm Chart of Accounts inventory adjustment entries and account types. Version 1.27.0 added Frappe type-checking validation for Doctypes and bumped Python support to include version 3.14. Version 1.28.0 added printer test utilities, expanding the toolkit available for testing print-related functionality across applications.

Please contact us for corrections, additions, questions, or to request a topic.

© 2026 AgriTheory. All Rights Reserved.