Guidelines for Sales Order Reservations in Manufacturers using Microsoft Dynamics 365 for Finance and Operations or AX 2012 R3
How to add list / form part grid in workspace form in D365
Issue : combination Activate item relation Table is not activated
Allocate depreciation postings to projects with the help of MS-Flow
Significance of the Item Sales Reservation Policy in Microsoft Dynamics 365 for Finance and Operations or AX 2012 R3
Where to download D365 for finance and Operations VM
Hi all, connect link is now part of past. VHD link on collaboration site did not work. You can down it from lcs.
For this you have subscription on LCS.Dynamics.com for D365 for Finance and operations.
After successful, login you will find Shared Asset in boxes section.
At the time of writing this small tip, Dynamics 365 for Finance and operations 8.0 platform Update 15 is just released
Intercompany master planning in Dynamics 365 for Finance & Operations
Sales Order Reservations in Common S&OP Scenarios Using Microsoft Dynamics 365 for Finance and Operations or AX 2012 R3
AX 2012 R3: Error Insufficient inventory transactions with status Purchased.
Hi Guys,
Yesterday i have received a support request where i need to investigate this error, due to this error user is not able to post the Pending Vendor invoice. When i start investigating this issue, the Purchase order, Receipt and Invoice looks pretty simple with one line on it.
After lots of talk and finding more details, i am seeing wearied Ordered quantity value of 140860. I did not find any clue from where this quantity came. Other wise order looking very simple with 48 quantity as Purchase order quantity and they have received the same Quantity also. They also wanted to do the Invoice for Same quantity.
Further strange thing is, With same Ordered value the record is created in Inventory transaction also and this is the main reason Invoice is not able to POST. This additional line from un-know source is messing this invoice from posting.I am still not known on how this line came but to fix this issue i have to delete this additional line as a workaround. Being a technical guy i am not satisfied as still i am unable to reach the root cause. But this is LIFE we have to move on. So i have created this simple job to remove that extra line.
static void legJob12(Args _args)
{
PurchLine purchLine;
InventTrans inventTrans;
InventTransOrigin origin;
ttsBegin;
changeCompany("0N09")
{
purchLine = purchLine::find("0N09-0002000507",1);
select firstonly * from inventTrans
join origin
where inventTrans.InventTransOrigin == origin.RecId && origin.InventTransId == purchLine.InventTransId && inventTrans.StatusReceipt == StatusReceipt::Ordered;
if (inventTrans.RecId)
{
inventTrans.selectForUpdate(true);
inventTrans.delete();
}
}
ttsCommit;
info('completed');
}
If someone know any better solution, please do comment and help me satisfied.
Thanks Guys for reading the blogs
DYN365FO v8: SSRS Report Data Provider Issue
Sales Order Reservations for Batch-Controlled Products using Microsoft Dynamics 365 for Finance and Operations or AX 2012 R3
From the Microsoft Dynamics 365/AX Blogs: Full text search; Security process cycles; SQL version upgrade; Custom workspace form
Vendor On board in D365 for Finance and operations -A Microsoft Video
2LCS – Lifecycle Services companion app
How to filter workspace list grid / form Part in D365
Top 5 Ways AP Automation Can Improve Your Workday
We all know how the workday flies by. For the accounts payable department, after spending hours correcting errors, manually coding invoices, and chasing down approvers, the workday is done. Very little time is spent focusing on the goals and expectations that directly impact the financial future of your organization.
So why are so many businesses reluctant to implement time-saving, cost-cutting AP automation? Common answers include:
- Why fix what’s not broken? The current, proven processes work just fine.
- There’s no budgetary spend for AP automation. It’s a luxury, not a need.
- Not enough volume to justify AP automation. The ROI would be low, if any at all.
- Who has time to learn and implement a new solution?
Despite those reasons, automation is here to stay. And here to save the day. Automating manual AP processes saves finance departments time and money, freeing them to focus on analyzing and improving strategies for ease, efficiency, and additional cost savings. We’ve come to the rescue by identifying the top five drains on the AP workday and how AP automation can be the finance department’s hero.
Paper and Files are Everywhere
Keeping track of every detail of the accounts payable process is a daunting task and can result in lost files and manual mistakes. Without having a centralized accounts payable process, it’s easy to lose track of payment due dates, approval statuses, and vendor contracts. Businesses often waste hours sorting through numerous files and transactions to solve one problem.
AP automation is a cloud-based solution that integrates with accounting systems, helping streamline accounts payable processes by removing manual tasks and paper. With automation, departmental approvers and AP staff have flexibility and 24/7 access to invoices and payment information anywhere with an Internet connection. There’s no headaches or hours spent recovering corrupted files and doing double the work when you forget to click Save. Security, recovery, and backup procedures are built in to store all information, so no more panicking.
Integrating Dynamics GP with an AP automation solution provides businesses with flexibility for payment processes. Users can code and approve invoices electronically and automatically send AP transactions to the accounting system.
Businesses can also execute check runs, as usual, in Dynamics GP, and AvidXchange can send your approved payments through a printer driver on your behalf. Payments will be sent safely and automatically to save payment processing time and money.
Loss of Control and Visibility
To have full control of budget and spend, finance departments need to know how much they’re spending—without surprises. In a typical AP environment, cash flow poses a challenge due to lack of visibility into budget and spend. CFOs need clarity and insight into finances to assess future financial threats and opportunities for growth.
With AP automation, CFOs and controllers have visibility into the status of invoices and payments anytime, anywhere. This flexibility provides increased control over cash flow, giving them power to make more informed decisions regarding payments.
Keeping track of details in one hub gives the finance department control of finances without guessing. It’s easy to pinpoint inefficient spend, manage reconciliation, and prepare for audits. For example, automation allows users to pull aging reports for easy reconciliation, especially with GL accounts.
For a simple, streamlined workflow, it’s important to control the beginning of the payment process. After invoices are entered into the invoice management system, information is routed to approvers automatically. After all invoices are approved, payments are processed. The good news is your AP solution and Dynamics GP keep track of it all. Any distributions coded on the invoices are automatically brought into Dynamics GP, along with the image of the invoice. Throughout the automated payment process, Dynamics GP remains the system of record to keep control of all transactions.
Paper-Based Processes are a Problem
Let’s face it, paper-based processes are a pain for the Accounts Payable department. Managing paper checks and invoices is proven to drive up time, costs, and risks. Fraud, data breaches, and human errors can cost your company thousands of dollars. In fact, a recent AFP study indicates that 75% of organizations that primarily used paper checks were victims of fraud.
To know the true cost of paper-based processes, add up the time and money it takes to process manually versus ePayments. According to PYMNTS.com, processing one paper check costs around $10 and often results in late payments. By implementing an AP automated solution, paper costs are cut completely. Between labor costs, storage, and check printing, finance departments spend more time processing payments than analyzing spend.
Automated AP processes reduce manual entry errors and duplicate payments while ensuring compliance and internal rules are met for every payment. Rather than spending time opening mail, scanning invoices, and manually routing invoices through interoffice mail, AvidXchange takes care of the scanning process and presents fully indexed invoices into a portal. Users can receive approval notifications through email or simply log in each day. No need to push paper around the office.
Master Vendor Files are a Mess
Manually maintaining the contact and compliance details of master vendor files can be overwhelming, but an updated and accurate master vendor file is a must and results in fewer compliance concerns. During audits and tax season preparation, AP automation makes it easy to check W9s, TINs, and vendor validation without combing through outdated paper forms and files that could have entry errors.
With AP automation, Dynamics GP users can review an exception queue to fix errors before payments are executed. Quickly identify errors including mismatched vendors, “No Vendor Found,” and “PO Not Found.”
According to a recent survey, nearly 30% of duplicate payments occur from buyers listing duplicate vendors within their system. AP automation integrations force buyers to set up a standardized vendor process. Doing so means fewer duplicate vendor names, payments, and fraud opportunities that could cost your company thousands during year-end or tax season.
There’s Not Enough Data to Make Critical Decisions
Making decisions that impact the financial future of the company can be tough. Decision-makers need big data to feel confident they’re making the right moves and investments. Gathering information that dates back years can be time-consuming, especially when everything isn’t in one spot. Businesses that use AP automation have immediate access to rich-remittance data. All invoice information, purchase orders, and payment details are readily available without missing a detail.
A recent PwC study found that top performers spend almost 20% more time analyzing data instead of gathering it. Dynamics GP users can analyze data using preset reports or easily build custom reports in seconds. Real-time data leads to better-informed decisions that impact the bottom line. At the end of the day, you’ll have everything you need at your fingertips to make the right bets for the business.
Top 3 Ways AP Automation Can Improve Your Workday
Everyone’s looking for ways to ease the pain of paper processes and problems. Want to learn more? We’ve talked to other finance professionals and gathered tips for relieving some of the headaches and hassles around payables. Register for our webinar, Top 3 Ways to Improve Your Workday, on Thursday, April 18, at 2pm EST, to learn how to maximize your workday with simple productivity strategies.
Deserialize JSON Data using DataContractJsonSerializer
In one of the integration, I needed to de-serialize a json to an object inside the AX.
To de-serialize we have used DataContractJsonSerializer and created a .NET class to pass the JSON parameter (string) and return is an object .. Success! see below!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
namespace Integration.JsonAdapter
{
public class Convert
{
// Deserialize a JSON stream to a User object.
public static Person ReadToObject(string json)
{
Person deserializedUser = new Person();
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json));
DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedUser.GetType());
deserializedUser = ser.ReadObject(ms) as Person;
ms.Close();
return deserializedUser;
}
}
[DataContract]
public class Person
{
[DataMember]
internal string name;
[DataMember]
internal int age;
}
}
Now we can add the dll to AX and call the method to do the de-serialization to Person Object.
cannot create a data definition language command on “source document line” : Accounting distribution
error “cannot create a data definition language command on “source document line””
In one of the client we had the requirement to always post the Pending vendor invoice on today’s date, regardless of when it was created. so we did the simple customization to update the TransDate before code initiate the posting process.
vendInvoiceInfoTable.selectForUpdate(true);
vendInvoiceInfoTable.TransDate = today();
vendInvoiceInfoTable.update();
But for this requirement is not that simple, somehow it is not updating the Accounting distribution and keeping the entries on older date in AccountingDistribution table, hence causing the error which is title of this blog.
After lots of investigation i reached to the conclusion, and this small job help me finding the cause and fixing it by creating the new Accounting Distribution record in today’s date and deleting the older one.
static void VendInvAccDistributionCorrection(Args _args)
{
AccountingDistribution AccountingDistribution, AccountingDistributionCopy;
vendInvoiceInfoLine vendInvoiceInfoLine;
VendInvoiceInfoTable vendinvoiceInfoTable;
select firstonly vendInvoiceInfoTable where vendInvoiceInfoTable.Num == '1234';// todo invoice number to remove the matching
if (vendInvoiceInfoTable.RecId)
{
ttsBegin;
vendInvoiceInfoTable.selectForUpdate(true);
vendInvoiceInfoTable.TransDate = today();
vendInvoiceInfoTable.update();
ttsCommit;
while select vendInvoiceInfoLine
where vendInvoiceInfoLine.TableRefId == vendinvoiceInfoTable.TableRefId && vendInvoiceInfoLine.ParmId == vendinvoiceInfoTable.ParmId
{
select firstOnly * from AccountingDistributionCopy order by number desc
where AccountingDistributionCopy.SourceDocumentHeader == vendinvoiceInfoTable.SourceDocumentHeader && AccountingDistributionCopy.SourceDocumentLine == VendInvoiceInfoLine.SourceDocumentLine;
AccountingDistribution.SourceDocumentLine = VendInvoiceInfoLine.SourceDocumentLine;
AccountingDistribution.SourceDocumentHeader = vendinvoiceInfoTable.SourceDocumentHeader;
AccountingDistribution.TransactionCurrency = VendInvoiceInfoTable.CurrencyCode;
AccountingDistribution.LedgerDimension = AccountingDistributionCopy.LedgerDimension;
AccountingDistribution.AccountingLegalEntity = AccountingDistributionCopy.AccountingLegalEntity;
AccountingDistribution.MonetaryAmount = AccountingDistributionCopy.MonetaryAmount;
AccountingDistribution.AccountingDate = today();
if (vendInvoiceInfoLine.LineAmount && AccountingDistribution.MonetaryAmount)
{
AccountingDistribution.AllocationFactor = AccountingDistribution.TransactionCurrencyAmount/VendInvoiceInfoLine.LineAmount;
}
else
{
AccountingDistribution.AllocationFactor = 1;
}
AccountingDistribution.AmountSource = DistributionAmountSource::PrimaryAmount;
//axAccountingDistribution.parmMonetaryAmountType(MonetaryAmount::ExtendedPrice);
AccountingDistribution.insertAccountingDistribution(true);
}
delete_from accountingDistribution
where accountingDistribution.SourceDocumentHeader == vendinvoiceInfoTable.SourceDocumentHeader && accountingDistribution.AccountingDate != today();
}
else{
info(strFmt('invoice not found in %1 company', curext()));
}
}