Tag Archives: Business Central

How to Generate and Use SSL Certificates in Microsoft Dynamics 365 Business Central

Security is a critical aspect of any ERP implementation. When integrating Microsoft Dynamics 365 Business Central with external systems such as APIs, payment gateways, banks, IRIS, VAT systems, or third-party services, SSL/TLS certificates play a key role in securing communication. A common misconception is that Business Central itself generates SSL certificates. In reality, Business Central only consumes certificates-the generation and management are handled externally. In this blog, we will cover: What Is an SSL Certificate in Business Central? An SSL (Secure Sockets Layer) / TLS certificate is used to:\Hook: In Business Central, certificates are commonly used for: Important: Business Central does not create SSL certificates—it only stores and uses them. Steps to Generate an SSL Certificate (Self-Signed) This approach is typically used for development or on-premises environments. Step 1: Create a Self‑Signed Certificate in IIS Step 2: Provide Certificate Details Step 3: Copy the Certificate Thumbprint This thumbprint will be required in the next step. Step 4: Configure Certificate Using PowerShell Step 5: Verify Required Properties Ensure all required certificate properties are set to True, including: Step 6: Bind the Certificate in IIS Step 7: Add Certificate Using MMC Step 8: Verify Certificate Installation The certificate should now be visible under: Step 9: Grant Permissions to Business Central Service This ensures the Business Central service can access the certificate. To conclude, SSL certificates are a core security component in Business Central integrations. While Business Central does not generate certificates, it provides robust mechanisms to store and consume certificates securely in both cloud and on‑prem environments. Understanding the generation, configuration, and usage flow ensures secure, compliant, and reliable integrations. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

Finding the Right Events in Business Central: Payment Journals & Purchase Orders

When working with Payment Journals in Microsoft Dynamics 365 Business Central, one of the most common customization requirements is to trigger custom logic immediately after the user selects the Applies-to Doc. No.. In one of my recent client projects, the requirement was very specific: As soon as a payment journal line is applied to an invoice (via Applies-to Doc. No. lookup), the system should automatically calculate amounts and create additional retained lines (VAT and IRIS). Sounds simple, right? The real challenge was finding the correct event that fires after the lookup completes and after Business Central internally updates the journal line fields. This blog documents: Problem Statement The client wanted the following behavior in Payment Journal: The logic must run right after the lookup, not during posting and not on page validation. Why Page Events Were Not Enough Initially, it is natural to look for: However, in this case: So even though the value was visible, the amounts were not reliable yet. Using Event Recorder to Find the Right Event This is where Event Recorder becomes extremely powerful. Steps I Followed The recorder captured a detailed list of: After analyzing the sequence, one event stood out. The Key Event That Solved the Problem The event that fulfilled the exact requirement was: [EventSubscriber(    ObjectType::Table,    Database::”Gen. Journal Line”,    ‘OnLookupAppliestoDocNoOnAfterSetJournalLineFieldsFromApplication’,    ”,    false,    false)]local procedure OnAfterLookupAppliesToDocNo(var GenJournalLine: Record “Gen. Journal Line”) Why This Event Is Perfect This is exactly the moment where custom business logic should run. Implementing the Business Logic Below is the simplified version of the logic implemented inside the subscriber: local procedure OnAfterLookupAppliesToDocNo(var GenJournalLine: Record “Gen. Journal Line”)begin    GenJournalLine.GetUpdatedAmount(); if GenJournalLine.”Applies-to Doc. No.” <> ” then begin        GenJournalLine.GetUpdatedAmount_(GenJournalLine);        AppliestoDocNo := GenJournalLine.”Applies-to Doc. No.”;        GenJournalLine.CreateRetainedVATLine(GenJournalLine, AppliestoDocNo);        GenJournalLine.CreateRetainedIRISLine(GenJournalLine, AppliestoDocNo);    end;end; What This Code Does All of this happens immediately after the lookup, without waiting for posting. Important Design Notes Key Takeaway Finding the right event is often harder than writing the logic itself. In scenarios where: This table event: OnLookupAppliestoDocNoOnAfterSetJournalLineFieldsFromApplication is a hidden gem for Payment Journal customizations involving Applies-to logic. Another Real-World Case: Invoice Discount Recalculation on Purchase Orders In the same project, we faced another tricky requirement related to Invoice Discounts on Purchase Orders. The Problem did not fire reliably when invoice discounts were recalculated by the system This became an issue because the client wanted custom tax and withholding logic (IR, IS, Withheld VAT, Excise) to be recalculated immediately after invoice discount recalculation. Why Page and Line Events Failed Again Business Central recalculates invoice discounts using an internal codeunit: Purch – Calc Disc. By Type This logic: So once again, page-level and line-level events were too early or never triggered. Finding the Right Event (Again) Using Event Recorder Using Event Recorder, I traced the execution when: This led to the discovery of another perfectly-timed system event. The Key Event for Invoice Discount Scenarios [EventSubscriber(    ObjectType::Codeunit,    Codeunit::”Purch – Calc Disc. By Type”,    ‘OnAfterResetRecalculateInvoiceDisc’,    ”,    false,    false)]local procedure OnAfterResetRecalculateInvoiceDisc(var PurchaseHeader: Record “Purchase Header”) Why This Event Works Applying Custom Logic on Purchase Lines local procedure OnAfterResetRecalculateInvoiceDisc(var PurchaseHeader: Record “Purchase Header”)var    PurchLine: Record “Purchase Line”;begin    PurchLine.SetRange(“Document Type”, PurchaseHeader.”Document Type”);    PurchLine.SetRange(“Document No.”, PurchaseHeader.”No.”); if PurchLine.FindSet() then        repeat            PurchLine.UpdateIRandIS();            PurchLine.CalculateWithHeldVAT();            PurchLine.CalculateIR();            PurchLine.CalculateIS();            PurchLine.CalculateExcise(); PurchLine.Modify();        until PurchLine.Next() = 0;end; What Happens Here All of this happens automatically, without relying on UI triggers. Key Lessons from Both Scenarios Final Thoughts Both of these scenarios reinforce one important principle in Business Central development: Finding the right event matters more than writing the logic itself. Whether it is: The solution lies in understanding where Business Central actually performs the work – and subscribing after that point. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

Monitoring Job Queues: Setting Up Failure Notifications using Power Automate

A job queue lets users set up and manage background tasks that run automatically. These tasks can be scheduled to run on a recurring schedule. For a long time, users had a common problem in Business Central when a job queue failed, there was no alert or warning. You’d only notice something was wrong when a regular task didn’t run for a few days. Some people tried to fix this by setting up another job queue to watch and restart failed ones.But that didn’t always work, especially if an update happened at the same time. Now, Microsoft has finally added a built-in way to get alerts when a job queue fails. You can get notified either inside Business Central or by using Business Events. In this blog, we’ll see the process of leveraging the Business Events to set up notifications on job queue statuses. Configuration Search for “Assisted Setup” in Business Central’s global search. Scroll down till “Set up Job Queue notifications”. Click on Next. Add the additional users who need to be notified when the job queue fails along with the job creator (if required). Choose whether you want the notification to be in-product or using Business Events (and Power Automate). I’m choosing Business Events this time and then Next. Click on Finish. Then search for Job Queue Entries and from that list page open the Job Queue Entry card. If you are using Power Automate for the first time, then it will ask you for your consent. As an Administrator, if you want to give the consent for all of the Users at once or revoke the consent for all the Users then you can do so via the Privacy Notice statuses page. Then, go back to the Job Queue Entry card and click on Power Automate again.This time, you’ll get the option to create an automated flow. In the pop up screen, you’ll get the template for a job queue entry failure notification flow. Once you click on it, it’ll ask you to sign into Business Central as well as the outlook account that’ll be used to send the emails (if different from the current user). In the next screen, you can add additional users that need to be copied on the notifications. Click on “Create Flow” and you are done! Ideally, the setup should have worked at this point—but it didn’t. After some digging, I found out that the Power Automate flow was missing some key pieces. One of the actions didn’t have the environment configured, and another action (GetUrlV3) isn’t even available in the current (v25) version of Business Central. I came across two forum thread (1) (2) about this issue, but they had no clear solution. So, as a workaround, I created a Web Service based on the Job Queue Entries Log page and used the GetRecord action in Power Automate to fetch the required data. It wasn’t too hard for me since I knew what to look for; but for a new user, this would’ve been very confusing. Also, I noticed something odd: the action that picks the email address of the person to notify was pulling it from the Contact Email field on the User Card, instead of using User Setup, which would’ve made more sense. Anyway, after all that, here’s what the final solution looks like! To conclude, setting up job queue failure alerts with Business Events is a helpful new feature in Business Central. It lets you know when background tasks fail, so you don’t have to keep checking them manually. But as we saw, the setup doesn’t always work perfectly. Some parts were missing, and a few things didn’t make sense like where it pulls the email from. If you’re familiar with Power Automate, you can fix these issues with a few extra steps. For someone new, though, it might be a bit confusing. Hopefully, Microsoft will improve the setup in future updates. Until then, this blog should help you get the alerts working without too much trouble. If you need further assistance or have specific questions about your ERP setup, feel free to reach out for personalized guidance. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.

Project Contract Types in D365: Fixed Price vs Time & Material vs Milestone

When you run a project-based business-like in construction, IT, consulting, or engineering-how you charge your customers matters just as much as what you deliver. If you’re using Dynamics 365 Project Operations, you’ll need to decide how to bill your projects. Microsoft gives you three main contract types: Let’s break down what each of these means, when to use them, and how Dynamics 365 helps manage them. 1. Fixed Price – One Total Amount What is it? The customer pays a fixed amount for the full project or part of it, no matter how many hours or resources you actually use. When to use: What Dynamics 365 helps you do: Be careful:  Think of this like constructing a house for a fixed price. You get paid in stages, not by the number of hours worked. 2. Time & Material – Pay as You Go What is it? The customer pays based on the hours your team works and the cost of materials used. When to use: What Dynamics 365 helps you do: Be careful: This is like a taxi ride-you pay based on how far you go and how long it takes. 3. Milestone Billing – Pay for Key Deliverables What is it? You agree on certain key points (milestones) in the project. When those are completed, the customer is billed. When to use: What Dynamics 365 helps you do: Be careful:  It’s like paying an architect after each part of a building design is done—not for every hour they work. To conclude, choosing the right contract type helps you: When your billing matches your work style, profits become more predictable—and projects run smoother. Need Help Deciding? If you’re not sure which billing model is best for your business-or how to set it up in Dynamics 365 Project Operations-we’re here to help. Feel free to reach out. You can reach out to us at transform@cloudfronts.com.  Let’s find the right setup for your success.

Automating Prepayment Handling in Business Central – Part 2

In Part 1, we explored the core logic of handling prepayment invoices in Business Central using AL. In this part, we will dive deeper into the practical implementation, focusing on how prepayments are applied, invoices are generated, and item charges are assigned. This blog will break down the logic in a simplified, yet complete way. Why Automate Prepayments? In real-world business scenarios, companies often pay vendors before the invoice is fully posted. Handling these prepayments manually is tedious and error-prone: Our AL code automates this process: it creates purchase invoices, handles prepayment lines, applies payments, and ensures that item charges are correctly assigned. 1. Event Subscriber: Trigger After Posting Purchase Document The automation starts with an event subscriber that triggers after a purchase document is posted: [EventSubscriber(ObjectType::Codeunit, Codeunit::”Purch.-Post”, ‘OnAfterPostPurchaseDoc’, ”, false, false)]procedure OnAfterPostPurchaseDocHandler(var PurchaseHeader: Record “Purchase Header”)var    Rec_PreppaymentLines: Record PrepaymentLinesandPayment;    PurchInvoiceHeader: Record “Purchase Header”;    VendorInvoiceMap: Dictionary of [Code[20], Code[20]];    VendorNo: Code[20];begin    // Collect unique vendors    Rec_PreppaymentLines.SetRange(“Purchase Order No.”, PurchaseHeader.”No.”);    Clear(VendorList);    if Rec_PreppaymentLines.FindSet() then        repeat            if not VendorList.Contains(Rec_PreppaymentLines.”Vendor No.”) then                VendorList.Add(Rec_PreppaymentLines.”Vendor No.”);        until Rec_PreppaymentLines.Next() = 0; // Process each vendor    foreach VendorNo in VendorList do begin        // Create or reuse invoice        if VendorInvoiceMap.ContainsKey(VendorNo) then            PurchInvoiceHeader.Get(PurchInvoiceHeader.”Document Type”::Invoice, VendorInvoiceMap.Get(VendorNo))        else begin            PurchInvoiceHeader := CreatePurchaseInvoiceHeader(VendorNo);            VendorInvoiceMap.Add(VendorNo, PurchInvoiceHeader.”No.”);        end; // Handle prepayment lines        Rec_PreppaymentLines.SetRange(“Purchase Order No.”, PurchaseHeader.”No.”);        Rec_PreppaymentLines.SetRange(“Vendor No.”, VendorNo);        if Rec_PreppaymentLines.FindSet() then            repeat                HandlePrepaymentLine(Rec_PreppaymentLines, PurchInvoiceHeader);            until Rec_PreppaymentLines.Next() = 0;    end;end; Key Takeaways: 2. Handling Prepayment Lines The HandlePrepaymentLine procedure ensures each prepayment is processed correctly: procedure HandlePrepaymentLine(var PrepaymentLine: Record PrepaymentLinesandPayment; var PurchHeader: Record “Purchase Header”)var    PaymentEntryNo: Integer;begin    // Unapply previous payments if any    PaymentEntryNo := UnapplyPaymentFromPrepayInvoice(PrepaymentLine.”Prepayment Invoice”);    if PaymentEntryNo = 0 then        Error(‘Failed to unapply Vendor Ledger Entry for Document No. %1’, PrepaymentLine.”Prepayment Invoice”); // Create credit memo and invoice line    CreateCreditMemoLine(PrepaymentLine, PrepaymentLine.”Prepayment Invoice”);    CreatePurchaseInvoiceLine(PurchHeader, PrepaymentLine); // Assign item charges and post    AssignItemChargeToReceiptAndPost(PrepaymentLine, PurchHeader.”No.”, PrepaymentLine.”Purchase Order No.”);end; Highlights: 3. Applying Payments to Invoice The ApplyPaymentToInvoice procedure ensures the invoice is linked with the correct prepayment: procedure ApplyPaymentToInvoice(InvoiceNo: Code[20]; PaymentEntryNo: Integer)var    InvoiceEntry, VendLedEntry: Record “Vendor Ledger Entry”;    ApplyPostedEntries: Codeunit “VendEntry-Apply Posted Entries”;    ApplyUnapplyParameters: Record “Apply Unapply Parameters”;begin    InvoiceEntry.SetRange(“Document No.”, InvoiceNo);    InvoiceEntry.SetRange(Open, true);    if InvoiceEntry.FindFirst() then begin        VendLedEntry.SetRange(“Entry No.”, PaymentEntryNo);        if VendLedEntry.FindFirst() then begin            InvoiceEntry.Validate(“Amount to Apply”, InvoiceEntry.”Remaining Amount”);            VendLedEntry.Validate(“Amount to Apply”, -InvoiceEntry.”Remaining Amount”); ApplyUnapplyParameters.”Document No.” := VendLedEntry.”Document No.”;            ApplyPostedEntries.Apply(InvoiceEntry, ApplyUnapplyParameters);        end;    end;end; Benefits: 4. Assigning Item Charges Item charges from receipts are automatically assigned to invoices: procedure AssignItemChargeToReceiptAndPost(var PrepaymentLine: Record PrepaymentLinesandPayment; PurchInvoiceNo: Code[20]; PurchaseOrderNo: Code[20])var    PurchRcptLine: Record “Purch. Rcpt. Line”;    ItemChargeAssign: Record “Item Charge Assignment (Purch)”;begin    PurchRcptLine.SetRange(“Order No.”, PrepaymentLine.”Purchase Order No.”);    PurchRcptLine.SetFilter(Quantity, ‘>0’);    PurchRcptLine.SetRange(“No.”, PrepaymentLine.”Item No.”); if PurchRcptLine.FindSet() then        repeat            ItemChargeAssign.Init();            ItemChargeAssign.”Document No.” := PurchInvoiceNo;            ItemChargeAssign.”Applies-to Doc. No.” := PurchRcptLine.”Document No.”;            ItemChargeAssign.”Item Charge No.” := PrepaymentLine.”Item Charge”;            ItemChargeAssign.”Qty. to Assign” := 1;            ItemChargeAssign.”Amount to Assign” := PrepaymentLine.Amount;            ItemChargeAssign.Insert(true);        until PurchRcptLine.Next() = 0;end; Outcome: To conclude, by implementing this automation: This code can save significant time for finance teams while keeping processes accurate and transparent. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

PART 1 – Understanding the Core Logic Behind Automated Vendor Prepayments in Business Central

Managing prepayments can be challenging for businesses that work with multiple vendors on the same Purchase Order. In many industries, especially those that handle specialized procurement or complex supply chains, it is common for a single PO to include several lines that each involve a different vendor. This means every vendor has different payment terms, different prepayment requirements, and different financial workflows. A client in the gas distribution industry had this exact issue: each PO line belonged to a different vendor, and every vendor required a separate prepayment invoice, payment, and auto-application before goods could be received. Because of strict financial controls and vendor requirements, nothing could be posted or received until each prepayment was correctly processed and applied. Why Standard Business Central Was Not Enough Business Central supports prepayments, but only at the Purchase Order header level, not line by line.This means BC assumes the entire PO is for a single vendor, which is not always true in real-world scenarios. In addition, standard BC does not automatically: This forces users to manually: Thus, managing prepayments became a manual and error-prone process. As the number of PO lines increased, the amount of duplicated work increased as well, leading to delays, mistakes, and inconsistencies across the system. Our Solution – A Custom Prepayment Engine To solve this, we built a customized ā€œPrepayment Linesā€ page where users can manage prepayments at the line level instead of the header level. On this page: This gives the user full control while keeping everything in one place. When the user confirms, Business Central automatically: All of this happens in a single automated process without requiring the user to manually open journal pages or vendor ledger entries. To conclude, this transformed a lengthy, manual workflow into a fully automated one. What previously took many steps across multiple pages and required careful tracking is now processed reliably with one action, saving time, reducing errors, and ensuring that goods can be received without financial delays. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

How Project Operations – Business Central Integration Impacts Financial Posting

Project Operations and Business Central are designed to work together, one managing project execution, the other ensuring financial accuracy. When integrated thoughtfully, they create a clean and reliable flow from project activity to financial reporting. Clear Ownership of Responsibilities In a PO–BC integration: This separation allows project teams to focus on delivery while finance maintains full control over accounting outcomes. Smooth Cost Flow from Projects to Finance Costs captured in Project Operations- time, expenses, and materials – are transferred to Business Central as project journals. Business Central then: This ensures project activity is reflected accurately in financial statements. Consistent Project, Task, and Dimension Mapping A well-designed mapping between: ensures costs and revenue are visible: This makes both project reviews and financial reporting easier and more reliable. Period Control and Financial Accuracy Project Operations captures real-world project activity. Business Central applies: Together, they ensure project data flows into the correct accounting periods without compromising financial governance. Strong Visibility into Commitments and Actuals With the right setup: This combination provides management with a clear view of: To conclude, Project Operations tells the story of the project. Business Central tells the story of the business. When aligned, both stories match, and decision-making becomes easier. Final Thought Project Operations and Business Central integration works best when designed as a financial process, not just a system connection. With the right structure, it delivers clarity for project teams and confidence for finance. We have packaged our Project Operations-Business Central integration to help organizations achieve this alignment with minimal complexity You can explore our PO–BC integration on Microsoft AppSource here: PO-BC Integration I Hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com.

Optimizing Inventory Operations with Microsoft Dynamics 365 Business Central

Managing inventory effectively is essential for any organization aiming to balance stock levels, minimize excess inventory costs, and ensure timely order fulfillment.Microsoft Dynamics 365 Business Central provides a range of tools that simplify and automate inventory control – helping businesses maintain the right stock at the right time. In this post, we’ll walk through the key features and planning tools available in Business Central’s Inventory Management module. Pre-requisite: 1. Access the Item List Page Start by opening the Item List page. This page offers a complete overview of all active items, including quantities on hand, reorder points, and categories. It serves as the foundation for any inventory planning activity. 2. Open an Item Card Select an item from the list to view its Item Card, where you configure how the system manages, replenishes, and forecasts that product. The setup on this page directly affects how purchase or production orders are generated. a. Configure Replenishment Method and Reordering Policy Under the Replenishment tab, you can define how stock for each item should be refilled when levels drop below a specific threshold. Replenishment Methods include: Lead Time:Set the expected number of days it takes to receive, produce, or assemble an item. This ensures the system plans replenishment activities in advance. Reordering Policies: b. Using Stock Keeping Units (SKUs) for Location-Specific Planning SKUs allow tracking of an item by individual location or variant, enabling businesses to manage stock independently across warehouses or stores.This approach ensures accurate availability data, reduces fulfillment errors, and supports better demand analysis for each location. c. Demand Forecasting The Demand Forecast feature in Business Central helps predict future requirements by analyzing past sales and usage patterns.Forecasts can be system-generated or manually adjusted to reflect upcoming promotions, seasonal variations, or expected demand spikes. d. Requisition (MRP/MPS) Planning The Requisition Worksheet supports Material Requirements Planning (MRP) and Master Production Scheduling (MPS). It automatically reviews forecasts, current stock, and open orders to suggest what needs to be purchased or produced. The system lists recommendations such as item names, quantities, and suppliers.Once reviewed, click Carry Out Action Messages to create purchase or production orders directly — saving time and minimizing manual work. e. Aligning with Sales Orders When a Sales Order is entered, Business Central dynamically recalculates availability.If demand exceeds what was forecasted, the system proposes additional purchase or production orders to prevent shortages and maintain customer satisfaction. To conclude, Dynamics 365 Business Central simplifies inventory control by automating procurement, forecasting demand, and synchronizing stock levels with actual sales.By using replenishment rules, SKUs, and requisition planning, businesses can improve inventory accuracy, reduce costs, and deliver orders faster – all within a single integrated ERP system. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudFronts.com

Automating Intercompany Postings in Business Central: From Setup to Execution

Many growing companies work with multiple legal entities. Each month, they exchange bills, services, or goods between companies. Doing this manually often leads to delays and mistakes. Microsoft Dynamics 365 Business Central helps fix that through Intercompany Automation. This feature lets you post one entry in a company, and the system automatically creates the same transaction in the other company. Let’s see how you can set it up and how it works with a real example. Why Intercompany Automation Matters If two companies within the same group trade with each other, both sides must record the same transaction, one as a sale and one as a purchase. When done manually, the process is slow and can cause mismatched balances. Automating it in Business Central saves time, reduces errors, and keeps both companies’ financials in sync automatically. Step 1: Setup Process 1. Turn on Intercompany Feature Open Business Central and go to the Intercompany Setup page. Turn on the setting that allows the company to act as an Intercompany Partner. 2. Add Intercompany Partners Add all related companies as partners. For example, if you have Company A and Company B, set up each as a partner inside the other. 3. Map the Chart of Accounts Make sure both companies use accounts that match in purpose. Example: 4. Create Intercompany Customer and Vendor 5. Create Intercompany Journal Templates Use IC General Journals to record shared expenses or income regularly. You can automate them using job queues or recurring batches. Step 2: Automation in Action Once the setup is complete, every time a user posts a sales invoice or general journal related to an Intercompany Customer or Vendor, Business Central creates a matching entry in the partner company. Both companies can see these transactions in their IC Inbox and Outbox. You can even add automation rules to post them automatically without approval if desired. Step 3: Use Case – Monthly IT Service Charges Scenario: The Head Office provides IT services to a Subsidiary every month for ₹1,00,000. Steps: Both companies now have matching entries, one as income and one as expense, without any manual adjustments. Result: Transactions are accurate, time is saved, and your accountants can focus on analysis rather than repetitive posting. To conclude, automating intercompany postings in Business Central makes financial management simple and reliable. Once configured, it ensures transparency, reduces errors, and speeds up reporting. I Hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com.

Redefining Financial Accuracy: The Strategic Advantage of Journal Posting Reversals in Dynamics 365 Business central

Sometimes, it becomes necessary to correct a posted transaction. Instead of manually adjusting or attempting to delete it, you can utilize the reverse functionality. Reverse journal postings are helpful for correcting mistakes or removing outdated accrual entries before creating new ones. A reversal mirrors the original entry but uses the opposite sign in the Amount field. It must use the same document number and posting date as the original. After reversing, the correct entry must be posted. Only entries created from general journal lines can be reversed, and each entry can be reversed only once. To undo a receipt or shipment that hasn’t been invoiced, use the Undo action on the posted document. This applies to Item and Resource quantities. You can undo postings if an incorrect negative quantity was entered (for example, a purchase receipt with the wrong item quantity and not yet invoiced). Similarly, incorrect positive quantities posted as shipped but not invoiced, such as sales shipments or purchase return shipments. can also be undone. Pre-requisites Business Central onCloud Steps: Open the transaction you wish to reverse. In this case, we aim to reverse the payment for the customer shown below. Click on Ledger Entries to view all transactions associated with this customer. As shown, this payment has already been applied to an invoice. Therefore, you must first unapply the payment before proceeding. Use the Unapply Entries action button to unapply the entries for the selected customer. Once you successfully unapplied payment you can see “remaiing amount” is equal to “Amount” field. Now click on “Reverse Transaction”. You can view the related entries for this transaction. Click the Reverse button, and a pop-up will appear once the reversal entries have been posted for the selected transaction. The reverse entry has now been created, reflecting the same document number and amount. Leveraging the reverse transaction functionality in Business Central enables businesses to correct errors seamlessly, improve operational efficiency, and uphold the integrity of their financial data. Whether managing invoices, payments, or other ledger entries, this feature is an essential tool for maintaining transparency and accuracy in your financial workflows. To Conclude, the reverse transaction feature in Business Central is a powerful tool that simplifies the process of correcting posted transactions. Instead of manually adjusting or deleting entries, you can efficiently reverse them, ensuring your financial records remain accurate and consistent. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com

SEARCH :

FOLLOW CLOUDFRONTS BLOG :

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange