Get Paid Quicker: Business Central Payments Features

Collections is challenging, particularly in the midst of a business downturn. When interest rates rise, some businesses turn to an alternative lending source: their vendors. Stretching payments from 10 days to 45 days provides additional cashflow and reduces the need to borrow. Since most vendors (in our experience) don’t enforce interest charges against customers, other methods of payment reduce collections time.

Business Central: SEPA Direct Debit

Let’s assume for the time being that your bank supports SEPA Direct Debit (most large banks do). With an agreement from your customer and a bit of configuration in Business Central, you can create a SEPA file to send to your bank. Once you upload the file, it transfers funds from your customer’s account to yours as if the customer paid you by ACH. ACH is also supported in Business Central.

Direct Debit setup in Business Central.

 

 

 

 

 

 

As you can see from the setup above, Business Central supports valid dates and single (as well as recurring) payments. When invoicing, you can select the invoices you want to collect with Direct Debit.

Business Central Payments

Direct Debit isn’t for every customer situation. So if you accept credit cards, you can automate collection with a payment service. PayPal is a common payment service used by many individuals and small businesses. After you enable the Paypal Payment Service, you select a payment service on the invoice. You could have several Payment Services, depending on the availability of extensions to Business Central PaymentsChoosing a Payment Service on a Posted Sales Invoice in Business Central..

The Invoice Details section of the Posted Sales Invoice is below with PayPal selected as the payment service. When you email an invoice to a customer, Business Central generates a link to collect payment. As you see below, the email also contains a PDF copy of the invoice as an attachment.

If you are using Exchange Online (Office 365 email), you can configure the email sending program to use either a single email account for this type of email, or use the email account of the user sending the email from Business Central.An email showing PayPal Payment Services enabled in Business Central.

 

If you’d like more information about Business Central Payments or need support for Business Central, give us a shout at Data Guidance Group here.

Shopify Connector Included in Dynamics 365 Business Central

If you’ve been watching your Business Central toolbar, you know by now that the May upgrade brought a new option.

 

 

 

Shopify is an eCommerce package designed to be simple to implement, but with a variety of features. If you probe the settings a bit, you’ll find that this is a fairly robust connector allowing you to integrate Business Central with one or more Shopify stores. Multiple stores might be the way to go for diverse products, or to allow you to feature specific product sets in the design of the store.

Business Central Shopify Connector

 If you already have a Shopify store and are using Business Central, a look at the connector makes sense. After all, it is included in the Business Central subscription. If you’re thinking about adding eCommerce, Shopify is certainly worth a look since it’s a popular package. Here is the documentation on the Shopify connector from Microsoft.

Notes on Shopify

We won’t do a deep dive into Shopify, but a few points may be in order. Shopify has a wizard that helps you get started fresh or import from a variety of other store types. More on this in a later post.

Shopify will also handle your credit card processing. You can find the rates here. The monthly or annual fees for Shopify and credit card processing are comparable to other services, and the fact that you don’t have to deal with hosting a website or setting up credit card processing is a plus.

Shopify also has connectors to several Sales Channels including TikTok, Facebook, Instagram, eBay, Google and Walmart. A notable omission is Amazon, but there is a third-party connector if you want to sell on Amazon.

A Few Items to Consider When Evaluating eCommerce Systems

Some of the items we’ve run into with other eCommerce implementations deserve a look before you plunge headlong into Shopify:

  • Make sure your pricing model will work with Shopify
  • If you sell B2B as well as B2C, make sure the order entry process for your B2B customers is acceptable. In some cases where customers order a long list of items (common in B2B distribution), traditional shopping carts and searching for one item at a time are cumbersome.
  • Make sure your shop is fully integrated with inventory quantities, particularly if you plan to sell products on several Sales Channels. eBay and Amazon in particular will penalize sellers that cancel too many orders because they are out of stock, and customers get very hostile if you offer a product for sale but do not have it in stock.
  • Look at the integration and fulfillment models, particularly if you are selling high value products like electronics or jewelry. Make sure there are ample protections to identify orders that might be fraudulent. Order fulfillment tools may also be important.

We’ll try to post a deeper dive into the Shopify system in the next few weeks as well as the integration of Business Central with Shopify. Until then, if you need more information drop us a line at https://www.dgginc.com.

 

Business Central Pages (Toggles) Broken by Chrome Update

A few days ago, Google announced a Chrome security update. Today I got an email from a client that the Customer, Vendor, and Item screens looked odd. A screenshot like the one below was attached.

Toggle (yes/no) buttons broken by Chrome Security Update.

 

Notice the toggle (yes/no) buttons in the top left corner of each column.

When we first got the screenprint, we could not reproduce it. I remembered the Chrome update and the client had mentioned that it did not happen on Edge. I checked my version of Chrome like this:

Check your version of Chrome by choosing three dot menu, help, about Chrome.

That is, (a) three dot menu, Help, About Google Chrome. If your Chrome is out of date, you will see a message unless your Chrome Updates are managed by your organization. Mine are, and are controlled by our Antivirus. So I noted the version (102.x.x.x) and went to the Chrome download site to get (103.x.x.x). After the update, the toggles appear as above.

By the time you read this, hopefully it will be fixed. But if it’s not, at least you’ll understand why your UI looks bizarre.

More and More Phishing Sophistication

I got the email below today. I suppose it could be legitimate. While I’m a CPA, I don’t generally do individual returns. You can find me in a few CPA directories, and I’m a member of both the AICPA and the TN Society of CPAs. There are a couple of interesting things. First, the 2021 tax return is overdue. So is the extension. Second, the from address and the reply to were not only different, but at different domains. I wondered about the domain NAVER.COM, so I went to Google and typed “What is Naver.com” It’s a South Korean search engine company, so say the Google Gods. A 1099R is for the distribution of retirement benefits. That, a W-2 and a Schedule C might seem a little odd. The grammer isn’t particularly good, but I’ve seen worse from my kids’ texts.

All in all, I’m suspicious. Phishing? Maybe. Probably. Worth a reply, when a reply would likely have several files attached which I would need to open? Not on your life.

 

 

 

 

Terry, if you are really looking for a tax return preparer, I hope you find someone. I didn’t reply.

Be careful out there. The phishing attacks are getting better day by day.

Business Central: Exporting the Data Behind the Report

Sometimes when you’re analyzing data, you want a report. Sometimes it would be easier to have the actual data. Exporting reports from ERP / Accounting systems to Excel has been possible for a long time, but the data you wind up with in Excel is often ugly. Because it is formatted with totals and subtotals, not to mention spacing, lines, titles on every page, etc., it can be harder to use than just rekeying the data. 

Microsoft added the capability to export the data behind the report a couple of versions ago (it was optional in 2021 Release Wave 1, it appears for all users in 2021 Release Wave 2). It’s easier to demonstrate than discuss, but here are the steps followed by a video.

  • Select the report you want to export to Excel. Complete the filters just as you would if you were going to print the report.
  • Select “Send to…” and choose the option “Microsoft Excel Document (data only)”
  • Open the document in Excel and remove any data you don’t need.

Note that you’ll also see data here that appears as literal text on the report such as “Aged Customer Balances” in the example below. Business Central also sends text fields to the report formatter along with the data. Just ignore this information and hide or delete it from your worksheet.

Here’s a video demonstrating this feature.

Adding Attachments With the Business Central Mobile App

Business Central’s mobile app has been out for several versions now. It displays pages in a size friendly (adaptive) way on mobile devices. Horizontal menus at the top of pages are converted to page-filling scrolling buttons that are easy to tap, even on a small phone.

Limits of a Mobile Device

Of course, because of the amount of data entered for an order (item number, description, and quantity at a minimum), you might expect to have a bit more difficulty with these tasks. Business Central’s app converts lines in a grid to full pages, making them easier to navigate. The one issue I had was getting a “full picture” of an order. For example, answering questions like, “How many lines are on this order?” or “What is the total and tax?” or “Does that include the discount?” All of this is possible, it just takes a bit of scrolling and pinching to get to it.

Attaching Photos to Documents

One thing we’ve been asked for in previous versions is the ability to take a photo and attach it to an order. Perhaps a customer signature on a delivery ticket. Or the items delivered on site (like Amazon’s delivery).

There is not a “take a picture” button in the current Business Central app. It has always been possible to take a photo and attach it to a document in Business Central. Depending on mobile internet speed, this can be quite quick. In the latest version of iOS, however, we found a way to take the picture and attach it without the step of saving it and locating it again.

Demonstration on iPhone

It’s easier to show this than tell about it, and this also gives you an idea about the look and feel of the app as well.

Let us know if this is helpful.

Business Central Security: Permission Sets

Picture of hands in handcuffs to illustrate security As I write this, I am looking at the security in the newest version (19.1) of Microsoft Dynamics 365 Business Central. We had noticed in the previous version that some of the permission sets give more access than the name indicates. This post will offer some actual examples of what we found in the newest version.

Permission Set: D365 Team Member

A Team Member License is a low-cost license that provides read-only access to the tables in Business Central. It also provides the ability to enter quotes and a few other items. We generally describe it as designed for management and sales people. It does not allow posting. When you assign a Team Member License to a user, the D365 Team Member permission set is assigned by default. Let us assume that you have a salesperson using this license.

Here are some interesting permissions assigned by this permission set:

  • Bank Account: read and modify
  • G/L Entry: read, insert, modify, and delete
  • G/L Account: read and modify
  • Customer: read and modify
  • Vendor: read and modify
  • Item: read and modify
  • Job: read and modify

This license type is prevented from posting, so these permissions will not allow the team member to post general ledger entries. However, it does allow read-only access to any table in the system. A person with these permissions will be able to see all of the general ledger entries. This will include entries into the salary accounts, and if salaries are posted in detail in the G/L, amounts will be visible. In addition, the user will be able to see the chart of accounts and balances.

Obviously, you may not want to give this permission set to some users, particularly if you do not want them changing customers, vendors, items, and jobs.

Permission Set: D365 Basic

Let us say you decide to pick a more minimal permission set. This permission set, D365 Basic looks as if it would provide basic access to the system, and it does. It also provides the ability to read general ledger accounts and entries, and the ability to read, insert, and modify customers, vendors, and items.

A Bit More Info on Permission Sets

It appears that Microsoft has been reworking the permission set code in the last few versions. Developers can combine permission sets to make new permission sets. The permission set D365 BUS PREMIUM, for example, includes the following code:

    IncludedPermissionSets = "D365 BUS FULL ACCESS",
                             "D365PREM MFG, EDIT",
                             "D365PREM SMG, EDIT",
                             "D365PREM SMG, SETUP";

This code copies in all the permissions from the other permission sets. It is a good move from a maintenance standpoint, since it means that a change in one permission set will cascade through others. It makes it a little bit difficult to be sure exactly what you are getting when you assign a permission set.

Conclusion

The biggest lesson we have learned from this exercise is that you cannot just assume that permission sets provide logical permissions. In other words, you cannot take for granted that they mean what their name says they mean. And this means that any company needing tight security will be designing their permission sets pretty much from scratch.

Our hope is that Microsoft will add functionality to the permission set extension to allow us to DENY permissions that have been granted. As of this date, Microsoft documentation on the permission set extension says the following:

The permission set extension object in Business Central adds permissions to an existing permission set defined in AL. A permission set extension object cannot remove permissions from an existing permission set, it can only add permissions.

You can read more about the permission set extension object in the Microsoft documentation.

Be careful that the security you assign is the security meant to assign in Business Central.

Automatic Business Central Upgrades: Bad Information in the Wind

I got an email from Microsoft the other day about a Business Central upgrade for one of our clients. Part of the email read as follows:

Your Business Central environment could not be updated to version 19.0 because one or more of the installed extensions failed to update successfully. Review the error information below and complete the recommended actions to resolve the issue before the update can be attempted again.

The extension identified was an extension from Microsoft AppSource, and is key to the client’s business. The email contained a laundry list of errors that were preventing the upgrade. Since we don’t have access to the source code, we couldn’t fix any of them.

Business Central Upgrade Troubleshooting Process

Here is the process we followed:

  • Created a sandbox with an exact copy of the customer’s data (this takes a couple of clicks).
  • Upgraded the app to the newest version using the App Management panel in admin.
  • Rescheduled an update for the sandbox.

The result? We got the same list of errors. An email to the vendor resulted in this suggestion (from the vendor’s tech support):

To be able to proceed without errors, you will have to uninstall the [vendor name removed] app, do the update, and then reinstall the app as workakround. [sic]

So I’ve uninstalled the app in the sandbox I created. Now we wait to see if it upgrades. [A quick aside: to do this in production would mean that the app was not available when the upgrade was done. If the app proves incompatible after the upgrade, we would not be able to reinstall it. That would be a problem.]

Reloading the App from AppSource

While I was waiting, I verified that I could install an AppSource App in a sandbox. I found some documentation that suggested that it was possible, but nothing with a set of detailed instructions. I also found some blog posts that suggested that it was not possible (see below for why I don’t trust blog posts completely).

Frustrated Employee during ERP implementation photoIn the course of all of this, I ran across the following statement on a site. It is accompanied by a video of what appears to be an experienced man stating–emphatically–that AppSource apps update automatically, and are required to be compatible in advance of the release of a new version. The problem is…I had an email from Microsoft proving just the opposite. Here’s the statement from the website and video:

The benefit of using apps is that Microsoft will update your Business Central every month – and you don’t have to do anything. No cost. No tasks. No upgrading project.

Here’s my pet peeve: this site is selling itself as a training site and it is completely, totally, and dangerously wrong! If the app version you have loaded isn’t compatible with the upgrade, Microsoft will eventually upgrade and delete the app. The data will still be there, but you may have an anxious client while you reload the app.

Microsoft Documentation on AppSource App Upgrades

But don’t take my word for it. Here’s the first paragraph of the documentation on Upgrading Apps from Microsoft:

When an updated version of an AppSource app becomes the active version in the Dynamics 365 Business Central service, tenants do not automatically get this updated version. This upgrade must be done manually by getting the latest version of the app in AppSource.

Ok. All the advice you get in the marketplace from “experts” isn’t good advice: not by a long shot. Now that that rant is out there, back to verifying that I can load an AppSource App in a Sandbox.

If you need some help with or information on a Business Central Upgrade or Dynamics NAV upgrade, contact us with an overview of your situation or schedule a chat.

Business Central – SIFT Technology, NAV Conversions, and Performance

Mature man getting a headache from taxes and billsWe’re in the process of moving a client from a 3.6(!) database to Business Central 18 (Spring 2021). In the database, there is a custom table that has several Flow Fields defined as sums of the Amount fields in G/L Entries and the Detailed Customer Ledger Entry table.

Just for the giggles, you should know that the history goes back to 2003, and there are 1MM+ records in the tables, but not many more than 1MM records. To make it a little more interesting, we didn’t do the original customization, so we’re figuring out the customization as we go.

Fighting the Performance Battle

We’ve converted the data, refactored everything to an AL extension, and are testing reports. The problem came when we hit a couple of reports based on a table added in the extension. The table has 4 flow fields. And the reports take forever to run (hours in one case). They are slow on a local copy of the old database, but they are much slower on BC18. Much slower. Like ten times slower.

So we looked at the old code. As it turns out, the flow fields were based on data from the base Business Central table as well as data from the extension. Previous customization in C/AL (3.6) had added a key on all of these fields. As you may know, table extensions cannot use fields from the base table as part of keys.

Because flow fields rely on keys, performance took a huge hit.

The Solution

the solution was actually fairly straightforward. Since we needed the data from the base table in the extended table, we created triggers to copy the data. We were then able to build keys (SQL indexes) on the data in the table extension.

    trigger OnBeforeInsert()
    begin
        CopyFields();
    end;
    trigger OnBeforeModify()
    begin
        CopyFields();
    end;
    trigger OnBeforeRename()
    begin
        CopyFields();
    end;
    procedure CopyFields()
    begin
        "ext G/L Account No." := "G/L Account No.";
        "ext Document Date" := "Document Date";
        "ext Posting Date" := "Posting Date";
        "ext Amount" := Amount;
    end;

The result was dramatic: a report that took 2.5 hours to run before the change ran in 15 minutes after the change. It still seems like we can optimize this a bit, but there also a tremendous number of calculations happening in the report.