Apr 4, 2025

Adyen Payment Connector in D365 Commerce – Part 2












When “Capture Immediately” Still Caused a Second Payment in D365 Commerce

During our D365 Commerce implementation, we enabled immediate capture in Adyen expecting it to solve the usual authorization versus capture risk.

And technically, it did.

The customer placed the order.
Adyen authorized the card.
The payment was captured immediately.
Money was already received.

So far, everything looked good.

But then came the real problem.

Some orders were not invoiced immediately. They stayed open for longer than expected due to fulfillment delays, business process timing, or operational backlog. In our case, once the order crossed the card/payment validity window, such as 14 or 21 days depending on the card issuer or payment setup, the system behaved unexpectedly during invoicing.

Even though the customer payment was already captured earlier, when the sales order invoice was posted later, D365 Commerce attempted payment processing again.

That meant the customer could be charged again at invoice posting.

This was the real fire drill.

The Misunderstanding: Immediate Capture Does Not Automatically Protect the Full Order Lifecycle

At first glance, immediate capture feels like the safest setup.

You assume:

“Payment is captured, so the order is paid.”

But in a D365 Commerce flow, payment status, invoice posting, card references, payment connector behavior, and settlement logic all need to remain aligned until the order is financially closed.

If the order stays uninvoiced for too long, the system may no longer treat the original payment reference as valid for the final invoice process. So instead of simply settling against the already captured payment, it may initiate another payment action.

That is where the second deduction risk appears.

Why This Happens

This issue sits between payment configuration and business process timing.

The key points are:

  • The original customer payment was captured immediately.
  • The sales order remained open beyond the expected payment validity period.
  • The invoice was posted after that period had passed.
  • During invoice posting, D365 Commerce attempted to process payment again instead of using the already captured transaction cleanly.
  • The customer saw another deduction or payment attempt.

So the problem was not that payment was never captured.

The problem was that the order lifecycle outlived the safe payment processing window.

The Business Lesson

This is where I had to explain to the business that payment configuration alone cannot fix delayed order processing.

If the order is paid today, but invoicing happens after 14 or 21 days, the system can behave differently depending on the payment connector, card issuer rules, and Commerce payment handling.

So the business has two choices.

Option 1: Change the Process

Complete the order lifecycle within the safe payment validity period.

This means:

Invoice within the allowed timeframe.
Avoid keeping paid Commerce orders open for too long.
Monitor delayed orders.
Prioritize paid but uninvoiced orders.
Define escalation rules before the payment window expires.

This is the cleanest option if the business can control fulfillment timing.

Option 2: Build a Controlled Custom Solution

If the business cannot guarantee invoicing within the timeframe, then a customization may be required.

The solution should prevent duplicate customer charging by checking whether the payment has already been captured before invoice posting.

A good design can include:

Validation of original payment capture status.
A check against Adyen transaction reference.
A warning before invoicing old Commerce orders.
A custom settlement logic to link the invoice with the already captured payment.
A prevention mechanism so the system does not trigger a second payment.
A monitoring report for paid orders not invoiced within the safe window.

That is the route we had to think through, because business reality does not always follow ideal payment timelines.

What I Would Test Next Time

I would never again test only same-day invoicing.

For Commerce payment testing, I would test:

Order placed and invoiced same day.
Order placed and invoiced after several days.
Order placed and invoiced after 14 days.
Order placed and invoiced after 21 days.
Immediate capture enabled.
Delayed capture enabled.
Cancelled orders after capture.
Partial fulfillment after capture.
Backorders after capture.
Duplicate payment prevention.
Adyen transaction reconciliation against D365 invoice posting.

Because the issue does not always appear when the payment is created.

Sometimes it appears when the invoice is posted much later.

The biggest lesson here was simple:

Immediate capture does not mean your Commerce order lifecycle is safe forever.

If the order remains open beyond the payment validity window, you may still face payment behavior that can confuse the customer and create reconciliation headaches for finance.

In D365 Commerce, payments are not just about whether the card was charged.

They are about whether the payment, order, invoice, and settlement remain aligned until the transaction is fully closed.

How Copilot is Quietly Rewriting the Way We Work in D365 Finance & Operations












Over the last year, Copilot has gone from being a buzzword in the Microsoft ecosystem to a very real part of the Dynamics 365 Finance & Operations experience. And if you're imagining a chatbot that only answers questions — you're not even close.

This blog isn’t a technical walkthrough. It’s a consultant’s view of what Copilot is actually doing inside F&O — and why it’s becoming the quiet assistant we didn’t know we needed.

What Is Copilot in D365 Finance and Operations?

Copilot is Microsoft’s embedded AI layer inside D365 — designed to make decisions faster, tasks lighter, and user experiences more context-aware. Unlike typical AI add-ons, Copilot is part of the experience. It surfaces in areas you're already working in — workflows, reports, journals, pages — and brings with it AI-powered insights, summaries, and task guidance.

Let’s break down where and how it works. For this blog, we’ll focus on summary-style features embedded within everyday D365 pages. These aren’t full-fledged agent-led automations (like demand forecasting or supplier communications) — those will be explored in upcoming blogs.

Feature-by-Feature Breakdown

🔄 Workflow History Summary

Instead of manually digging through workflow logs, Copilot provides a condensed, readable summary of the workflow’s path — who approved, who rejected, what changed, and when. Perfect for audit trails and catching bottlenecks.

📘 Generative Help and Guidance with Copilot

Whether you’re on a form, report, or setting up a new module, Copilot can surface contextual help. It's like having a product expert beside you, pulling info from Microsoft Learn and documentation to answer “how-to” questions based on where you are.

 

Customer Insights by Copilot

On the customer page, Copilot gives a snapshot of that customer's activity — their recent orders, issues, payment history, and credit status — summarized in plain language. It enables collections, sales, and customer service teams to act faster with context.

A screenshot of a computer

AI-generated content may be incorrect.

Store Report Insights by Copilot

For organizations using D365 Commerce or managing multi-store operations, Copilot analyzes store performance metrics and flags anomalies like unusually high returns, underperforming sales, or low foot traffic. Rather than parsing the entire report, users get key bullet points and explanations.

Screenshot of Top 10 products report insights using Copilot in the Store Commerce app.

 

🛠️ Use Copilot in Site Builder to Enrich Product Pages

Within Site Builder, Copilot can auto-generate product descriptions using attributes like size, features, and tags — pulling from existing data or customer reviews. This is useful for SEO and digital teams trying to maintain consistency across large catalogs.

Collections Coordinator Summary

On the Collections workspace, Copilot generates a summarized brief per customer, showing invoice aging, overdue amounts, previous contact history, and suggesting next steps like sending reminders or prioritizing specific accounts.

AI Summaries Across Product, Vendor, SO, PO Pages

Copilot provides AI-generated summaries on several core pages. These aren’t new forms — they’re embedded views that highlight what matters most:

  • Product Page: "This item has had a 12% increase in returns over the past 2 months."

A screenshot of a computer

AI-generated content may be incorrect.


  • Vendor Page: "This vendor’s average delivery delay is now 3.2 days compared to 1.5 days last quarter."

A screenshot of a computer

AI-generated content may be incorrect.

 

  • Sales Order Page: "This order has not been released to the warehouse for 2 days beyond SLA."

A screenshot of a computer

AI-generated content may be incorrect.


  • Purchase Order Page: "This PO includes pricing changes that differ from the original confirmed value."

 A screenshot of a computer

AI-generated content may be incorrect.

 

These summaries allow users to take immediate action without toggling between reports or tabs.


📝 Review and Accept Changes to Confirmed Purchase Orders

When changes are made to a confirmed purchase order — Copilot helps users quickly spot those changes (price, delivery date, line quantities), summarize the differences, and provide a button-based UI to accept or reject the updates with one click.

 

Immersive Home Experience

One of the most notable additions is the Immersive Home page in D365. This redesigned landing experience replaces static dashboards with a dynamic, AI-driven workspace that surfaces actionable items, suggestions, and work summaries.

Key elements include:

  • A personalized greeting and summary of relevant tasks
  • Suggestion cards powered by Copilot agents (e.g., “You may want to follow up with vendor X”)
  • Pinned items and priority work items with direct action buttons
  • Agent activity overviews if AI agents are enabled

This home page transforms how users engage with the system day-to-day — from reactive to proactive.

Article content

Final Thoughts

This isn’t futuristic AI. This is here, now — baked into the same places your finance, supply chain, and commerce teams are working every day.

Copilot in D365 F&O isn’t loud. It doesn’t interrupt. But it makes your decisions faster, your users smarter, and your processes more intuitive.

And that’s exactly what enterprise AI is supposed to do.

Stay tuned — in upcoming blogs, we’ll look at full Copilot-powered agents for cash flow forecasting, supplier communication, and demand planning. Because we’re just getting started.


📌 Disclaimer: The views expressed here are personal and based on practical experience. They do not reflect the official position of Microsoft or any affiliated organization.