Skip to main content

Changelog

All notable changes to this project will be documented in this file.

info

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

You can read the Microsoft help if you want to update this app to the latest version and are not sure how to do this. We have also created this animation to show you how.

Important
  • Do not update apps while users are working, as it can cause a disruption and loss of work.
  • It is always best to install updates in a Sandbox first and test them to ensure no adverse effects.

27.1.2.0 - 2026-10-01​

Added​

  • One approval path can now be marked as the Escalation Path. When an approval set is worth more than the path it matched can authorise, the levels of the Escalation Path are added after the path's own levels (numbered on from the last one), so the request can still be approved instead of ending up Blocked. Mandatory levels of the original path stay part of the approval; its other levels that have not been opened yet are skipped, because the escalation approvers carry the authority. Without an Escalation Path, a request worth more than any level of its path can authorise is now rejected straight away, with the reason on the Approval Sets page, instead of being left Blocked after everyone had approved. The same happens if every level has been worked through and nobody with enough authority approved. The Approval Sets page shows which escalation path was used
  • Approval path levels have a new Unlimited Authority option for a level that may approve any amount. The Escalation Path must have at least one such level, and the app prevents you from removing the last one while the path is the Escalation Path

27.1.1.0 - 2026-09-29​

Added​

  • When an Approval Administrator approves or rejects on another approver's behalf, it is now shown as such: the approval history on the Portal reads "Approved by (administrator) on behalf of (approver)", the Approval Set Approvers page has a new On Behalf column, and the Approval Sets page has a new Decided on Behalf column. Those decisions still count towards the approval as before

Changed​

  • Complete new Approval functionality
  • The Approvals action on the Purchase Request card and lines now shows every approval entry for the request or the selected lines, including entries sent or approved by other users - previously only Approval Administrators saw the full list, and everyone else saw just the entries they had sent or were approving. On a line, it also includes the entries of the approval sets the line belongs to

Fixed​

  • A requester who is also a Business Central user could approve their own request even when the approval rule's Self-Approval was cleared. The requester was only linked to their Business Central user when the e-mail addresses matched exactly, including capitals, which they usually do not - the link now ignores case, and existing requesters are re-linked when the app is upgraded
  • A mandatory approval level that nobody could approve - for example because the requester is the only person holding its role and the rule does not allow self-approval - was skipped, so the approvers at the later levels were still asked, and the request was then blocked anyway once they had all approved. Such a level now blocks the approval straight away, before anyone is asked, and the Blocked Reason names the level

27.0.11.0 - 2026-09-24​

Added​

  • The existing Approval Candidates preview on the Purchase Request Line now also shows whether each candidate already has an Approval Entry, so it can be used to see how far a request's approval routing has actually progressed

Fixed​

  • A purchase request line could be released (and auto-converted to a Purchase Order) after an early approval level instead of escalating to the next level - the workflow settings needed for escalation are now cached when the request is first sent for approval, so escalation no longer fails if Business Central has already archived the workflow run, and the release decision now checks whether the routing chain has a further level to escalate to, rather than whether that level's approval entry happened to exist yet

27.0.10.0 - 2026-09-22​

Added​

  • A purchase request line now keeps an approval history (step number, approver, decision, and date/time for each step) in a new "Requestline Object" field, synced through to the Portal so the approval trail is visible there too
  • A new "Default Qty. to Receive" option in Purchase Requisition Setup (Remainder or Blank) controls how the Qty. to Receive field on a purchase requisition line is set after a receipt is posted, matching the same setting on the standard Purchases & Payables Setup

Changed​

  • Renamed the "Archive" purchase request status/action to "Closed" to match the Portal's "Mark as Closed" wording (Purchase Request Setup's "Auto Archive PR"/"Notify Auto Archive JQ" toggles are now "Auto Close PR"/"Notify Auto Close JQ")
  • A purchase request can now be closed from any status except one that is already Closed, including Pending Approval - closing while Pending Approval automatically cancels the in-flight approval first
  • The Reopen action is no longer available once a purchase requisition line has been converted to a Purchase Order (Converted or Partially Converted) - only Rejected and Released lines can be reopened, preventing an already-ordered line from being resubmitted for approval

Fixed​

  • Posting a receipt for multiple lines from the Purchase Request Card no longer fails with "cannot be saved because some information on the page is not up-to-date"
  • Closing a purchase request (manually in BC, via the Portal's "Mark as Closed", or via the automatic job) now syncs correctly to the Portal - previously the Dataverse status field didn't have a matching option for this status, so the sync could fail
  • Receipt Date now syncs through to the Portal's purchase receipt history - it was never populated in Dataverse before
  • A rejected purchase request line is no longer permanently blocked by the approval workflow's usage restriction - it is now released on rejection, the same as it already is on approval
  • Deleting a Purchase Request header in the Portal now also deletes it in BC, matching the existing behaviour for individual lines
  • Resubmitting a rejected purchase request for approval from the Portal now correctly reopens it and starts the approval workflow again in BC
  • Qty. to Receive on a purchase requisition line is now recalculated to the remaining outstanding quantity after a partial receipt is posted, instead of always being cleared to 0
  • A purchase request line created in the Portal is no longer occasionally deleted and then recreated on the next sync - it was being deleted if its Dataverse record still read as inactive at the moment it first synced into Business Central
  • Vendor Item No. on a purchase requisition line now syncs through correctly when the line is created or updated from the Portal - it previously stayed blank even though the selected Vendor Catalogue Item came through

27.0.9.0 - 2026-09-08​

Added​

  • Purchase Order Number is now synced through to the Portal for a purchase request line once it has been converted to a purchase order

Fixed​

  • Deleting a Purchase Request or one of its lines now also deletes the corresponding Dataverse record, instead of leaving an orphaned row behind
  • Purchase Request header status is now consistently recalculated from its lines whenever a line is added, deleted, or changes status - previously this only happened for line quantity-based conversions, so some header statuses could go stale
  • A purchase requisition line sent for approval no longer gets stuck on Pending Approval with a Desired Status Error when its Approval Routing Header has no approver configured for it - it is now auto-released or rejected the same way a line with no applicable workflow already was, per the "Auto Release If No Workflow" setup toggle (now covering both cases)
  • Quantity Received on a purchase request line now reliably syncs through to the Portal after a partial receipt is posted, instead of only updating once the line reaches full quantity

27.0.8.0 - 2026-09-01​

Added​

  • Vendor and internal requester now receive an email notification when a purchase order is automatically released on conversion from a purchase requisition, each independently toggled via new "Email Vendor on PO Creation" / "Email Requester on PO Creation" settings in Purchase Requisition Setup
  • Purchase requests can now be archived (manually, from any status except Pending Approval, or automatically once every converted line is fully received, via a new "Auto Archive PR" job queue toggle in Purchase Requisition Setup); archived requests are hidden from the Purchase Requisition Worksheet but remain viewable and cloneable

Fixed​

  • Post Receipt job queue no longer stops processing remaining purchase requests when an earlier one fails to post - every request is now posted or logged, none are silently skipped
  • Setting a default Dimension value on the Requester card no longer fails with a "record has changed" error
  • Requesters can now add a new line to a purchase request that has a rejected line, to complete what the approver flagged as missing; the request automatically reopens for approval once the new line is added

27.0.7.0 - 2026-08-27​

Fixed​

  • Posting a receipt no longer leaves stranded documents on the Purchase Order if it fails partway through
  • Post Receipt job queue no longer stops entirely when one document fails to post - other locked receipts still process, with failures logged
  • Background jobs (Post Receipt, Auto Convert PR to PO, Process PO Receipt) only suppress and log errors when run via Job Queue; manual runs show errors as normal
  • Fixed errors resetting a Purchase Requisition line after posting and using the Condition assist-edit on a new Approval Routing Line

Added​

  • Purchase Requisition Job Log for reviewing background job errors and summaries, accessible from Purchase Requisition Setup
  • Posting receipts for a document now shows a summary message if any lines fail

27.0.6.0 - 2026-08-14​

Fixed​

  • AppSource certification fixes

27.0.5.0 - 2026-08-12​

Fixed​

  • Purchase Requisition line status now updates to Converted when the line is fully assigned to a Purchase Order, matching the header status
  • Auto-convert job queue no longer fails entirely when a request line has an invalid or missing vendor - the line is skipped and logged instead
  • Deleting a Purchase Order now reopens the linked Purchase Requisition line and recalculates the header status

27.0.4.0 - 2026-08-12​

Added​

  • Delivery Instructions field on Purchase Requisitions, automatically carried through to Purchase Orders

27.0.3.0 - 2026-08-06​

Fixed​

  • Validations issues

27.0.2.0 - 2026-08-05​

Fixed​

  • Minor syntax issues

27.0.1.0 - 2026-08-04​

Added​

  • First marketplace release

Unreleased​

Fixed​

Added​

Changed​

Deprecated​

Removed​

Security​