Tuesday, August 5, 2014

Using a different name on the 1099 forms

I like clients who plan ahead! This company wants to use a different name on the 1099s other than the ‘Check Name’. You could use this technique on any modern version of Dynamics, but GP 2013 actually has a dedicated address ID for 1099s. That’s where the 1099 address comes from. Sadly, the Vendor Contact is not a field included in the 1099s to Print Temporary File table.

There was one more twist to this request, they didn’t want to use this alternate name for all 1099 vendors, just for some exceptions. No problem. Here’s what we did:


First, we need a way to determine whether the alternate name or the checkbook name should be printed. There are several ways to do this. The easiest way is to pick a field on the vendor master and use it as a switch that will tell us if the alternate name should be used. You could use any field, but we normally claim a field not being used for something else. Some likely candidates are:
    • Payment Priority
    • FOB
    • Country
    • Phone 3
    • UPS Zone
    • Tax Registration Number
    • Comment 1
    • Comment 2
    • User Defined 1
    • User Defined 2
    • Payment Priority
    • Revalue Vendor (this only works if you will NEVER use Multicurrency)
    • Country Code

You can use any field on the Vendor Maintenance or Vendor Address Maintenance windows, but the above fields are some of the fields I’ve hijacked over the years.

For this example, I’m going to use the Revalue Vendor checkbox field. Often, I use this field because it’s a checkbox and it’s easy to work with. I think it’s easier because it can only have two values, 0 or 1. You must be sure you’re never going to want to use multicurrency, but that’s easily managed by switching fields. As seen above, there are many you can choose from.

You need to use Modifier and change the prompt, but it’s an obvious choice if multicurrency is out. I changed the checkbox prompt to Use Default 1099 Check Name. We need to word it that way because we need to uncheck the box when the alternate name is desired.


Once you’ve decided on the field, it’s time to decide on the criteria. I’m going to keep this example easy, but it can be complicated, so long as it’s something the Report Writer can calculate. Revalue Vendor is a checkbox, so it’s value is 0 if false and 1 if true. This checkbox defaults to checked, so we need to use ‘unchecked’ to mark an exception vendor. I also make the following window fields Invisible (use the Visual tab on the Properties window):

  • [Text] Post Results To: (the field prompt)
  • (L) Payables/Discount Acct (a radio button)
  • (L) Purchasing Offset Act (the other radio button)
  • Post Results to (the radio group)

I do not remove those fields from the window. I may need to bring these fields back to life in the future, so I leave them on the window and hide them. My Vendor Maintenance Options window looks like this:

Preview of Modified Vendor Options


We now need to create a new relationship in Report Writer between the 1099s To Print Temporary File and the PM Vendor Master File.

image 


With that relationship set up, you need to add the PM Vendor Master File to the report’s tables, and then add the PM Address Master under the PM Vendor Master File. My Report Table Relationships window looks like this:

image


Next, we’re going to add a restriction to the report such that it only selects records from the PM Address MSTR if the Address Code is equal to ‘1099’, or whatever ID you choose. Just keep it consistent. My report restriction looks like this: 

image


Then, you need to decide which field on the Vendor Maintenance or Vendor Address Maintenance window you want to use as the alternate 1099 name. Typically, I use a field on the Address Maintenance window to be sure it isn’t changed unintentionally. Here, I am going to use Contact Name.

I used Modifier to change the field prompt to read * Contact Name. I also added a note to the bottom of the window that reads * On the 1099 Address ID, this is the Vendor Name on the 1099. You might not want to do this part, because the prompt will then be changed for all Address IDs, not just the 1099 address. My modified window looks like this:

Vendor Address Maintenance


Next, we need the conditional calculated field. I’m going to call it Alternate 1099 Name. We are testing for the value of the Revalue Vendor checkbox. If it is 1, we print the check name, if it is 0, we print the alternate name (which is Vendor Contact). The formula will look like this:

image


Finally, modify the report layout and replace the Vendor Check Name field with your Alternate 1099 Name calculated field.

If the IRS makes any changes to the report, your modified report will no longer print appropriately. In that case, you’ll need to start over with a new copy of the then current 1099 Laser Miscellaneous report.

My modified report is shown below – there’s a red box around the new calculated field. There is a link to this report at the bottom of this post.

1099 Report LayourI

I welcome any other workarounds you all have come up with. Also, please let me know if you have any trouble following this article and I’ll modify it for the better.


This is a link to the package file containing the modified 1099 Laser Miscellaneous report: https://app.box.com/s/3yvjfgdwb652jdlno4w1

This is a link to the package file containing the modified Vendor Address Maintenance window:https://app.box.com/s/dcdtkg13q9z2qr84ykvc

Until next post!

Leslie Vail

Monday, August 4, 2014

Applying Security to Record Notes

Quite often, users want to apply Field Level Security on the Notes windows. Since the whole company shares the same four Notes windows, you really can’t apply security to the windows themselves. You can’t specify a particular Notes window on a particular field on a particular window.

You can still use Field Level Security by putting your security on the Notes buttons. The buttons are usually part of an array, and their index tells you exactly which button it is. You can tell if your field is an array by performing the following:

  1. Open your target window in Modifer
  2. Select the window object you’re interested  in
  3. Open the Properties window in Modifier (CTRL+M)
  4. Select the Object tab in the Properties window
  5. Double click on the field that says Field
  6. The Field Definition window will open
  7. Look at the Array Size field on that window
  8. If the number is greater than zero, you have an array
  9. The number tells you how many elements the array can hold

A.  Here’s the SOP Entry window in Modifier:

SOP Entry window in modifier

B. Here’s the Properties window with the fields referred to above highlighted:

Properties window

C. Below is the Field Definition window. We can see this field has an Array Size of 11. That means we can have up to 11 Notes buttons on the window using the ‘Note Array Absent - Window Area’ field.

Field Definition window

D. In order to apply security to the correct note button, you need to determine the index number of your target button. There are a variety of ways to do that. I’ve set security on every element in the array, and then tried them one at a time. I’ve also exported the form to a text file using Dexterity and just looked on the report for the location of the field. What you can’t do, is figure it out using Modifier. I do not know of a way to do that anyhow.

E. For the SOP Entry window, I’ve taken the time to identify the array indexes for the Note buttons on that window. Below you’ll find a screenshot of the SOP entry window with the indexes identified:

Note Array fields on SOP entry window

F. Remember, when you are setting security on the Notes buttons, you need to include both the Note Present and Note Absent fields. For the ‘Type ID’ note button, here are what the field would look like:

Note Array Absent – Window Area[1]
Note Array Present – Window Area[1]

G. For the ‘Batch ID’ note button, it would look like this:

Note Array Absent – Window Area[4]
Note Array Present – Window Area[4]

The only thing that changes is the index number.

H. The array index numbers will typically match for the Absent and Present fields, but that may not be true 100% of the time.

I. The table below lists the indexes and matching fields for the SOP Entry window.

Index

Field

[1]

Type ID

[2]

Document Number

[3]

Default Site ID

[4]

Batch ID

[5]

Customer ID

[6]

Currency ID

[7]

Item Number

[8]

Comment ID

Indexes 9 -11 were not used on the SOP Entry window.

Until next time,

Leslie Vail

Sunday, August 3, 2014

Use Tax due because Inventory was used by the company

SNAGHTML17b46016I had a question recently asking me if there was an easy way to record Use Tax that becomes due when inventory is used by the company.

There are several existing methods to record Use Tax if you know it is due at the time of purchase, but this question applied to an existing inventory item, so those techniques are not useable.

Using the procedure below will allow you to record your use tax, reduce your inventory as well as tie it back to the inventory items you put in use. The ‘in use’ item should no longer appear on your Stock Status report.

Here's what I came up with:

  1. Create a site for inventory put in use. I called mine USE TAX.
  2. Create a GL account to use as the ‘Use tax inventory clearing account’.
  3. Create a Tax Schedule and the appropriate Tax Details as a Purchases tax that will represent the Use Tax.
  4. Identify the inventory put in use and create an inventory transfer to the USE TAX warehouse. Also change the Quantity Type from On Hand to In Use. Set the default GL account for In Use to the clearing account created in step 2.
  5. In the Company Setup Options window, check the box next to ‘Calculate Taxes in General Ledger’.
  6. Create a GL entry and push the ‘Tax Entry’ button that should now exist in the lower left-hand corner of the Transaction Entry window.
  7. On the Tax Entry window, select the Credit Transaction radio button.
  8. Use the ‘Use tax inventory clearing account’ created in step 2 as the account on the Tax Entry window.
  9. Select the Tax Schedule created in Step 3 and then push the ‘Create’ button.
  10. The Transaction Entry window for GL will open. You will need to provide the debit account to make the entry balance. This is the account you want the expense (or whatever) to land in as a result of putting this inventory item in use. This is normally an expense account (this might also turn into a fixed asset – that would be a different set of procedures).
  11. Enter the vendor invoice for the balance in the Sales Tax Payable account (the amount was credited to the account in step 10). The PURCH amount should credit the account or accounts you set up with each of the tax details. The PURCH debit should clear that account out. The credit will, of course, be to accounts payable.
  12. Pay the Vendor.

Summary:

Transferring the inventory to a USE TAX site will be an easy way to track the specific items on which you have remitted use tax. It also will remove it from the Stock Status report, and the GL inventory account.

The tax entry to the GL will calculate the appropriate tax amount and credit the taxes payable account you set up on the Tax Details. The Debit account for this transaction should be the account you want the inventory cost plus the sales tax to land in. This is usually an expense account.

The Vendor invoice transaction will clear out (debit) the Taxes Payable account – which should be the PURCH account. The credit side of the entry goes to your regular A/P account.

Here’s what the T-Accounts look like using the Supplies Expense account as the ultimate landing place for the item put in use (plus the UseTax),

image

Enjoy!
Leslie Vail

Monday, July 28, 2014

Dex.ini file uploaded to Box 07-28-2014

office_cabinet_custom_text_12928
The link to the dex.ini download was not working so I’ve refreshed it.
You can access the latest Dex.ini file on Box. Download here: DEX.ini. Here’s the link done the long way: https://app.box.com/s/xkgae2rz1vil1ap4o579

Until next time!
Leslie
07/28/2014

Friday, July 25, 2014

Never Forget to Match that Purchase Order Again!

YAY! This one was added to Dynamics GP!

Vote for Product Suggestion ID: 669719

https://connect.microsoft.com/dynamicssuggestions/feedback/details/669719/gp-never-forget-to-match-that-purchase-order-again

image

There are 18 votes so far. This process really works, I’ve had two of my suggestions actually make it into the product!

Too often a vendor invoice comes into the company and it's entered into A/P without going through the invoice matching process in POP. We need a method for the user to be alerted if a vendor's invoice is entered to the Payables transaction entry window while there is an outstanding uninvoiced receipt.

The problem is that we end up with uninvoiced POs,  or worse, the vendor is paid twice by mistake.

While you’re at the Connect page, I suggest you browse through all of the good suggestions that have been logged. You may find others that are worthy of your vote!

Until next time,

Leslie

Thursday, July 24, 2014

Speed up your Macros

 

stick_figure_colored_running_inside_arrows_150_clr_9682

Today I delivered a Webinar on Macros for GPUG. I loved doing it, but there are so many things to cover that an hour just doesn’t do it justice. I talked about adding the ShowAdvancedMacroMenu=TRUE switch to your Dex.ini file to reveal additional functionality that can make macros a lot more robust. No new software to buy, just an extra line (called a switch) in the Dex.ini file.

Even with this switch, a macro still can’t throw up dialog boxes with yes/no/never mind buttons on it, but you can make your macros run significantly faster using this tool. It speeds them up to run at least twice as fast. This is especially useful if you’re doing large imports or mass changes. Macros running under this mode took half the time of others. For longer macros, it was even more astonishing.

After you add the above switch to your Dex.ini file, the Advanced Macro menu becomes an option on your Macro menu. Once you update your Dex.ini file, your menu will look like this:

Advanced Macro Menu

All of the goodies are in the Status window. Pictured below is the Status window. I’ll go through this window and point out the things that I like to use.

image

Below I’ll try to define each of the items numbered above:

1. Shows you the name of the macro currently being recorded and what line it’s on.

2. Shows you the name of the macro currently being played, and what line it’s on.

3. This is the magic checkbox that turbo charges your macro. Checking this box turns off the complete redraw and hides the interface flash thereby making the macro run twice (at least) as fast.

4. The line in the macro you want to jump to. This is a great way to find out what was going on when your macro fails at line 7463 for example. You can put that value in this field and the results will display in the scrolling window at the bottom. You can also restart a macro to begin playing at the jump to line.

5. The number of lines to display in the scrolling window.

6. Indicate where you want the macro to pause while it’s playing. This is a good way to debug the macro or stop it from executing after a certain point is reached

7. The actual lines of the macro according to the lines displayed.

The easiest way to make this feature work is to click on the ellipses [. . .]button and browse for your macro file.

SNAGHTML1251fbec

Once the macro is loaded, check the No User Interface Flash checkbox and then press the OK button. Your macro will launch running at lightening speed!

If there’s interest out there, I can go through each of the menu items on the Macro menu and the Advanced Macro and explain how to use it and what it does.

Live the Dream!

Leslie

Report Writer–copying package files, beware

 

mailbox_with_custom_check_14221 white background

I had a client call me today who was trying to copy the layout of the Check with stub on top and bottom- Graphical to the layout of the Check with stub on top. It wasn’t working.

She changed the top line of the package file  to read Check with stub on top and it imported beautifully. She could open it up in Report Writer and everything looked good. However, when she tried to print it she got something very foreign looking. It had switched to a graphical report, and it had a stub on top, but it didn’t produce the face of the check, and the dollars where all messed up.

Below is the only thing that printed after the import of the ‘new’ package file:

clip_image002

It’s got a nice looking stub on top, but the rest of the check was missing. Something had gone terribly wrong.

Further investigation revealed that the Check with stub on top report, before it was modified, contained 7 tables. The Check with stub on top and bottom- Graphical contained only 5. We could import just fine between two of the formats that had the same 7 tables, but the formats that had only 5 needed to be imported into a format that had the same 5.

We needed a check format that contained the same 5 tables as the Check with stub on top and bottom- Graphical. Luckily, the Check with two stubs on top matched up perfectly. 

So, if your modified reports coming from edited package files don’t appear the way you think they should, check the tables. If the tables are not compatible, the report will not work the way you want.

Until next time!

Leslie

Tuesday, July 22, 2014

Vote for being able to do a credt card 'check run'

YAY! This one made it into Dynamics GP!

I'm happy to report we have 31 votes to add a feature to GP that would allow us to do a 'credit card run' just like we do a check run. I would love to see a credit card that acted like a checkbook - including reconcile capabilities just like bank accounts.

31 votes is a good start, but we need more. If you agree that this functionality would be awesome, please vote on Microsoft connect for the item below:

vhttps://connect.microsoft.com/dynamicssuggestions/feedback/details/763004/gp-perform-a-credit-card-run-just-like-a-check-run

We've gotten two other items in the product because of popular support, so this method really works!

Let's go for it and get this feature added too!

Live the dream!

Leslie

Friday, July 18, 2014

When things go wrong - Missing or Invalid Date on SOP Edit List

 

3d man holding stop sign

This error kept coming up at a client whom was using the Sales Document Consolidation product from Binary Stream.

As it turned out, the problem was because the DUEDATE field in the SOP10100 table was showing a value of 1900-01-01 00:00:00.000, that is not a valid date in the Dynamics GP SOP posting world. This situation came about because (as near as we could tell), the customer did not have a default payment term assigned to them.

If you get this error on your SOP Edit List, go take a look at that field.

Kind regards,

Leslie

Backup Withholding on 1099 Payments

Gotcha’s on using the withholding feature in Dynamics GP

3d man with calculator

Lately, I’ve been fielding several questions from clients regarding the ability to track Backup Withholding using Dynamics GP. The short answer is that you can do it, you’ve just got to be careful.

Here are a few tips:

  1. First, turn it on by entering a 1099 vendor ID in the Company Setup Options window:

    Administration | Setup | Company | Options Buttonimage

  2. Open the Vendor card for the Vendor subject to backup withholding, push the Withholding button, and check the box indicating the Vendor is Subject to the Withholding Deduction .
    SNAGHTML19f6097f

  3. After entering, posting and paying some transactions subject to withholding, print the Form 1099 for the vendor on whom you have withheld. Make sure box 7 has not been reduced by amount withheld.
  4. The Vendor must be marked as a 1099 vendor on the date of the transaction subject to withholding or it will not make it onto the 1099. Neither the ‘update’ utility, nor the PSTL utility will fix it.
  5. Using the Update ‘1099 Information’ utility does not move the withheld amount to the new form.
  6. The ‘Edit 1099 Transaction Information’ window will likewise not move nor create the withholding information.
  7. If you enter any amounts in the 1099 details window and then reconcile, the amount not supported by a transaction will return to zero
  8. The withholding vendor will not withhold on itself even if you have it set up as a 1099 vendor subject to withholding.

Bear in mind, this withholding feature was not designed for the United States. If you are using it for US Backup Withholding, be sure to test it after each service pack release.

Live the Dream!

Leslie

Tuesday, July 15, 2014

Do not automatically unapply other documents if one is voided: 921385

Please vote for this suggestion if you agree.

Vote here: https://connect.microsoft.com/dynamicssuggestions/Feedback

Read about it here: https://connect.microsoft.com/dynamicssuggestions/feedback/details/921385/do-not-automatically-unapply-other-documents-if-one-is-voided

This refers to the new feature in GP2013 that will automatically unapply all documents (except payments) from a vendor invoice if even one of those documents is voided. For instance, if you pay an invoice using checks, credit memos, returns and write offs – ALL of those documents (other than checks) become unapplied when one of the checks is voided.

I just posted the suggestion on Connect, here’s why the new feature is a bad idea:

This new feature is a DISASTER and should be an option, NOT an automatic unapply of all non-payment documents. Here's what happens.

You have a payable to a vendor

$1,000

You pay by check ($400)

($400)

You pay by check ($415)

($415)

You apply a credit memo of ($10)

($10)

You apply a credit memo of ($75)

($75)

You apply a return ($50)

($50)

You write off ($50)

($50)

Remaining Balance

$0

At this point the invoice is fully applied and in history, as are the other apply documents.

Now, you void the $400 payment. Magically the following documents become unapplied:

  • The credit memo of ($10)
  • The credit memo of ($75)
  • The return for ($50)
  • The write off of ($50)

Now the balance of the invoice shows to be $585 instead of the ‘real’ balance of $400

WHAT! This is insanity!

So now you have to go back and figure out what those four documents should be applied to and apply them. This is causing a real problem and it should not behave this way. At least present a dialog asking the user if they want to unapply the other documents, don't just do it. And why the inconsistency with the payments, why aren't they unapplied too, the returns are.

This new 'automatic' feature is a nightmare and should instead be an option, not a mandate.

Kind regards,

Leslie

Allow changes to the Amount Paid field on the Edit Payables Check Batch window: 921350

Please vote for this suggestion if you agree.

Vote here: https://connect.microsoft.com/dynamicssuggestions/Feedback

Read about it here: https://connect.microsoft.com/dynamicssuggestions/feedback/details/921350/allow-changes-to-the-amount-paid-field-on-the-edit-payables-check-batch-window

I just posted the suggestion on Connect as appears below:

Currently, if you check a voucher on the right side of the Edit Payables Check Batch window, the Amount Paid defaults to 100% of the Open amount. What if I don't want that? What if I want to pay less than the total amount.

Well, then we have to open that particular payment in the Edit Checks window and change the amount. OR, we have to enter the check anew in the Edit Checks window. Either way, it adds a lot of steps to the payables function.

I think we ought to be able to just change the amount on the Edit Payables Check Batch window and go on with processing the check run.

Live the Dream!

Leslie

Add a [Mark/Unmark All] button to the Edit Payables Check Batch window ID: 921336

Please vote for this suggestion if you agree.

Vote here: https://connect.microsoft.com/dynamicssuggestions/Feedback

Read about it here: https://connect.microsoft.com/dynamicssuggestions/feedback/details/921350/allow-changes-to-the-amount-paid-field-on-the-edit-payables-check-batch-window

I just posted the suggestion on Connect as appears below:

The Edit Payables Check Batch window is a widely accepted, much sought after window and I was thrilled to see its addition to the program. However, I find it difficult to use if you have a long list of vouchers for a vendor and you need to uncheck most of them.

As soon as you select a vendor on the left-hand side, all of the vouchers are marked on the right-hand side. If you want to Unmark them, you have to do it one at a time. I expected the little check box above all of the other checkboxes would provide the Mark All, Unmark All functionality but it does not. If it's supposed to, it's broken.

This would reduce the amount of time it took for the payables clerk to pay vouchers if only a few vouchers were paid. Clients do not necessarily want to pay ALL of the vouchers outstanding, so there's always a second step to 'Unselect' the ones you do not want to pay.
It's easy to miss some vouchers, and end up paying too many. Cash out the door.

It would be much better if the default were 'unchecked', since changing the default doesn't make sense at this point, I think we need an "Check/Uncheck All" button, or an option in the Payables Setup window that controls the default behavior

Kind regards,

Leslie

Edit Payables Check Batch–Change the Columns Displayed

I find that there is a relatively unused feature of the Edit Payables Check Batch window. You have the option to change which columns appear on each side of the window. One change I nearly always make is to display the document number instead of the voucher number. Voucher number, really, what’s up with that?

Not only can you turn on or off the columns, you can also rearrange them.

In the screenshot below, notice I changed the left-hand section to include the Payment Priority. On the right-hand side, I changed Voucher Number to Document Number and added a field for the Original Amount.

image

To make these changes, you just need to push the ‘Column’ button in the header of the side you want to change. The button is circled in red above.

Upon pushing the button on the left, you get the following window with some additional choices that you can turn on or off. You are limited; you can only choose to display three columns. It will bark at you if you select too many.

image

Pushing the button on the right, will reward you with the following window with some additional choices that you can turn on or off. You are limited to seven columns for the right side. This side will bark at you too if you select too many.

image

Choices for the left and right are listed in the table below:

Left Side Right Side
Vendor ID Voucher Number
Vendor Name Document Number
Total Amount Paid Due Date
Class ID Amount Remaining
Payment Priority Amount Paid
  Original Amount
  Discount Date
  Terms Available
  Terms Taken
  Type
  Transaction Description
  Currency ID

Utilizing this feature can make this popular window even more inviting.

Now, if we only had a way to ‘Unmark All’. The suggestion is on Connect. Vote for 921336 if you agree.

Kind regards,

Leslie

Wednesday, July 9, 2014

Richard Whaley’s memorial fund and services

Hi all,

I’ve been asked about where you could send a contribution in celebration of Richard’s life, and I now have that information. His family has established a memorial fund where you can send contributions that will be forwarded to the American Heart Association (AHA) in your name.

Richard was taken from us by congestive heart failure. The AHA is working to find a cure so that we do not lose any more colleagues that suffer the same problem as did our friend Richard. Here is the information you need to make contributions:

Richard’s memorial fund

Bank of America
555 S. Hunt Club Blvd
Apopka, FL 32703

Routing number: 063100277
Account number: 898065822095

Richard’s memorial services

Richard’s daughter, Betsy, gave this information to Heidi Pukas, which was conveyed to me . There will be two memorial services for Richard, the details are below:

First Baptist Church of Forest City
Saturday July 12th @ 11am
721 W Lake Brantley Road
Altamonte Springs, FL  32714
(407) 869-1278

Bethany United Methodist Church
Friday July 18th @ 10am
118 W. 3rd Street South
Summerville, SC 29483
(843) 873-1230

I hope some of you can be there.

Kind regards,

Leslie

Tuesday, July 1, 2014

Richard Whaley has passed away; 7/1/51- 7/1/2014

Farewell to the Professor. It saddens me to tell you that we lost Richard Whaley this morning 07/01/2014. He was home with his family by his side. As you may know, Richard’s health had been very bad these last couple of years, he slipped away in his sleep.

clip_image002

imageimage

image

image

Richard was a very close friend of mine and he will be sorely missed. I was very lucky to spend a few days with him the week before last, and I will treasure that trip for a lifetime.

Richard was one of the GPUG Superstars, on the ‘top’ 100 list from forever, and a former Microsoft GP MVP. We remember him for his conference antics, like cruising around on a Segway and dressing up like a professor.

Richard brought us nearly two dozen books on Dynamics GP, most of which he penned himself, as well as books on AX, CRM, NAV, SL and SQL Reporting Services:

As well as being an expert on the Manufacturing module, he was versed in nearly every other module. He knew so much about Dynamics GP and was never too busy to help others. Richard answered hundreds of questions for us on the Community Forum, he gave countless hours of his time to GPUG and taught classes at most of the conferences.

He will be a hard act to follow.

Please send me any pictures you may have of Richard and I will add them to this post.

Kind regards,

Leslie

Wednesday, June 18, 2014

Let Richard Whaley know how much he’s helped

image

Our friend Richard Whaley is in poor health. In fact, he is in hospice care right now. Richard didn’t want anyone to know how poor his health was, because he didn’t want any of us to worry. Well, it’s time to worry – and to pray.

Beyond that, it’s time to let Richard know just how much he’s helped you, and meant to you, if he has. Whether with his books, or webinars, or forum responses, or just stopping by during one of the conferences for a chat. I don’t think he realizes just how much of a difference he’s made to this community.

So, let’s fill his mailbox at rwhaley@accoladepublications.com or  Richard.Whaley@IntegratedBusinessGroup.com. Trend on twitter with #ProfessorWhaley, or however you can get the message to Richard that he has been a giant amongst us Dynamics GP folks. We forgive him for ever supporting Macola – we all make mistakes Smile.

I’ll be flying to Orlando tomorrow from Dallas to see Richard. I hope by the time I see him his mailbox will be full!

Bless you all who care.

Leslie

P.S.  I’m kind of mad at him myself, I was just starting to like him. Winking smile

Tuesday, June 17, 2014

GP 2013 R2 Ribbons

Not only is there a Dex.ini switch to disable the new ribbons (EnableWCRibbons=FALSE), but you can set a User Preference as to how you would like them to display.

I thank Heather Roggeveen for pointing out this new User Preference. When you launch the User Preferences window, there’s a new option. Check out the screen shot below:

image

You have three choices: Action Pane, Action Pane Strip, or Menu Bar. Each are described below:

Window Command Display

Select how to display commands in a window. Refer to the following table to view how commands can be displayed in a window.

Window Command Display selections

Action Pane

image

Action Pane Strip

image

Menu Bar

image

In addition, you can use a Dex.ini switch to turn off the Action Pane for all users at the workstation level. To turn off the Action Pane for the workstation, put the following in your Dex.ini file:  EnableWCRibbons=FALSE 

Enjoy!

Leslie

Monday, June 16, 2014

Another new Dex.ini switch EnableWCRibbons=FALSE

Boy what a day, another new dex.ini switch to add to my collection. I’m guessing R2 of GP2014 has many more that I have not discovered yet. Please let me know if you find new ones.

Here’s what this one does. If you set it to FALSE the new ribbon bars go away and the windows look like they did prior to the R2 release. If you set it to TRUE, you get the fancy new ribbon bars. Here’s an example:

EnableWCRibbons=TRUE

clip_image002

EnableWCRibbons=FALSE

clip_image004

If you don’t like the ribbon bars, you can hide them. I’m guessing you should learn to love them because I bet at some point this switch won’t work anymore.

Enjoy!

Leslie

A New Dex.ini Switch – VBADisable=TRUE

Here’s one more for the collection.

I ran into an issue today after I loaded the patch to update my GP 2013 to build 1745. After the patch was loaded, I no longer had access to Modifier. I’m a pretty heavy Modifier user, so this was a big problem for me. I searched around the Internet a bit and didn’t find anything. I looked on the forum, even posted a question, but didn’t get an answer.

Next, I looked at the Dex.ini file for the new build and compared it to the old build. A Ha! There was a new Dex.ini switch that appeared in my build 1745 install. The switch read: VBADisable=TRUE. That sounded to me like it might be the problem. I changed the TRUE to FALSE and tried again.

Sure enough, the Modifier tool was once again available. This is probably documented somewhere, but I couldn’t find it. If you should run into this, here’s your answer.

Enjoy!

Leslie

Sunday, June 15, 2014

Setting up Multicurrency

I developed my own cheat sheet / checklist for setting up the Multicurrency module. I wanted something that I could fit on a single page just to remind me of what I needed to do next.

Recently, I’ve had a few colleagues ask me whether I had some kind of easy to follow checklist and I’ve been sending them this one. It seems more and more companies are implementing multicurrency these days, so I thought I’d share it with the community. It’s not fancy, nor does it provide any explanations – but it does provide the navigation to the various widows.

I welcome your comments on ways to improve it or if you think things should be re-ordered.

1. Create Currency (use the ISO code for the ID, don’t use the ‘Z’ entries)
Administration | Setup | System | Currency

2. Create Exchange Table
Administration | Setup | System | Exchange Table
Exchange Table naming convention suggestion:
  Segment 1 = Functional Currency
  Segment 2 = Originating/Reporting Currency
  Segment 3= Usage, such as BUY, SELL or AVG (optional)

3. Establish Rates
Administration | Setup | System | Exchange Table | [Rates button]
Rate calculation is Originating Currency * Rate
OR
Originating Currency / Rate
You can use up to seven decimals

4. Grant Company access to currency and rate table (all must exit Dynamics)
Administration | Setup | System | Multicurrency Access

5. Set Rate Types
Financial | Setup | Financial | Rate Types

6. Set Posting Account Defaults. The system will search for an account in the order listed below. As soon as it finds one, it stops looking. If all should share the same account, enter it at the Company level.

Rate Type Accounts
     Financial | Setup | Financial | Rate Types | [Accounts button]

Currency ID
     Administration | Setup | System | Currency | [Accounts button]
OR
     Financial | Setup | Financial | Currency Accounts

Company-level Posting Accounts
     Administration | Setup | Posting | Posting Accounts | Display ‘Financial’ from drop list

7. Assign Currency Access to your GL Accounts. Identify which accounts should accept transactions in a foreign currency.
Financial | Cards | Financial | Account Currencies
OR
Financial | Cards | Financial | Currency Account Update
OR
Financial | Cards | Financial | Account History | [Currencies button]
OR
Financial | Cards | Financial | Account | [Currency button]

8. Assign Currency ID and Rate Type ID to Checkbook ID
Financial | Cards | Financial | Checkbook

9. Assign default Currency ID and Rate Type ID to appropriate Customers (or roll down from Customer Classes) and set revaluation options
Sales | Cards | Customer | [Options button]

10. Assign default Currency ID and Rate Type ID to appropriate Vendors (or roll down from Vendor Classes) and set revaluation options
Purchasing | Cards | Vendor | [Options button]

Enjoy!

Leslie

What’s in a date? PM Transactions

cat calendar
Recently, I worked with a group that needed to make changes to the dates of some of their posted payables transactions. Of course, you can’t do that through the user interface, so it was SQL to the rescue. While the initial job sounded easy, I was astonished to see just how many different date fields were in the tables. This post will review the various date fields in the following three tables:

Physical Name
Display Name
Date Fields
PM20000
PM Transaction OPEN File
10
PM30200
PM Paid Transaction History File
11
PM30300
PM Apply To History File
6

For each table, I’ll give the physical name for each relevant field and a short explanation of what I know about that date field. Some of the fields are obvious. Some, well, not so much.
I need a better explanation for the Purchase Date. Please add a comment to this post if you have more information on how this field is populated.

  PM20000

  PM Transaction Open File - 10 dates

VCHRNMBR
Voucher Number
VENDORID
Vendor ID
DOCTYPE
Document type of transaction. (Invoice, Return, Payment, etc.)
DOCDATE
Document date on the invoice or payment. This date is used by the subsidiary module (Payables Management)  to 'age' the document and to calculate it's due date.
DISCDATE
Date by which the invoice must be paid to earn the terms discount
DUEDATE
Date the invoice is due. After this date it is delinquent
POSTEDDT
System date when user pushed the [Post] button when the doc was originally posted.
MODIFDT
User date when transaction was last modified
DINVPDOF
The apply date from the final document applied to the invoice. This is the date the invoice or pmt became fully applied. Voided is fully applied, written-off can be fully applied. A document in the Open table should not have a value in this field, because no documents in the open table should be ‘paid off’.
PSTGDATE
Posting date for the invoice or payment; set by the user on batch window or doc date expansion window. This is the date of the transaction on the General Ledger - the date attached to the Journal Entry created by the transaction.
Tax_Date
Date that should be used to calculate and/or report sales tax, defaults to Document date; set by user on window
PRCHDATE
Physical date of transfer of goods/services
DEX_ROW_TS
Dex Row Timestamp – system date & time when last modified


  PM30200

  PM Paid Transaction History File - 11 dates


VCHRNMBR
Voucher Number
VENDORID
Vendor ID
DOCTYPE
Document type of transaction. (Invoice, Return, Payment, etc.)
DOCDATE
Document date on the invoice or payment. This date is used by the subsidiary module (Payables Management) to 'age' the document and to calculate it's due date.
DISCDATE
Date by which the invoice must be paid to earn the terms discount
DUEDATE
Date the invoice is due. After this date it is delinquent
POSTEDDT
System date when user pushed the [Post] button when the doc was originally posted.
MODIFDT
user date when trx last modified an ‘apply’ is a modification, a void is not.
DINVPDOF
Apply date of the document that caused the invoice or pmt to be fully applied. Voided is fully applied, written-off can be fully applied. The DATE1 field for the final apply record in the PM30300 table becomes the DINVPDOF.
PSTGDATE
Posting date for the invoice or payment; set by the user on batch window or doc date expansion window. This is the date of the transaction on the General Ledger - the date attached to the Journal Entry created by the transaction.
VOIDPDATE
The Posting Date (GL date) for the Void -The sub ledger void date becomes the DINVPDOF
Tax_Date
Date that should be used to calculate and/or report sales tax, defaults to Document date; set by user on window
PRCHDATE
Physical date of transfer of goods/services
DEX_ROW_TS
Dex Row Timestamp – system date & time when last modified, includes voids.

  PM30300

  PM Apply to History File - 6 dates

VENDORID
Vendor ID
VCHRNMBR
Voucher number of the payment document. The ‘apply from’ voucher number.
APFRDCNM
Document number of the payment ( check number). The ‘apply from’ Document number
DOCTYPE
Document type of the payment. The ‘apply from’ document type.
APTVCHNM
Voucher number of the invoice being paid. The ‘apply to’ voucher number.
APTODCNM
Document number of the invoice being paid. The ‘apply to’ invoice number
APTODCTY
The type of document the pmt is being applied to; invoice, debit memo, etc. The ‘apply to’ document type.
DOCDATE
Document date of the payment being applied; check date. The ‘apply from’ document date.
DATE1
The date the sub ledger uses for the ‘apply date’. This is set by the user on the apply window and used by the system in the HITB and to determine when the 1099 amount is reportable.
GLPOSTDT
Posting date to the general ledger, if an entry is necessary, like in a write-off. Set by user on the apply window
APTODCDT
Document date of the invoice being paid. The ‘apply to’ document date
ApplyToGLPostDate
Original GL posting date of the invoice being paid. The ‘apply to’ GL posting date.
ApplyFromGLPostDate
Original GL posting date of the payment document. The ‘apply from’ GL posting date.

Live the Dream!
Leslie

Tuesday, June 10, 2014

GP 2013 R2 updates to Report Writer Functions

David Musgrave posted an article about updates and additions he has made to the User-Defined functions he added to Report Writer back in release 7.0. I have added a list and description of those functions to my section about User-Defined Report Writer functions.

There are some incredibly handy functions now available. Check out his post by following this link.
David Musgrave's updates to Report Writer functions
I have copied his entire article below:

"By David Musgrave, View Profile8 Jun 2014 6:00 PM

You might remember the story about how I created a suite of Report Writer functions and got them added to the version 7.0 Dynamics.dic core dictionary. The aim for these functions was to make it easier for partner consultants and customers to modify the reports without needing custom scripting in Visual Basic for Applications (VBA) or Dexterity. They are documented in the Report Writer Functions document in the Software Developers Kit (SDK).

Based on feedback I have received from the community, I have made some changes to a few of the Report writer functions and submitted them to the development team for inclusion in the Microsoft Dynamics GP 2013 R2 (Service Pack 3) code. Below is a summary of the Report Writer (RW) functions changed and what new functionality is available.

RW_CoAddrIDInfo()
  • If an empty string is passed as the Address ID (first) parameter, the address data is pulled from the Company Master (SY_Company_MSTR, SY01500) table instead of Location Master (SY_Location_MSTR, SY00600) table.
RW_PMAddrIDInfo()
  • If an empty string is passed as the Address ID (second) parameter, the address data is pulled from the Vendor Master (PM_Vendor_MSTR, PM00200) table instead of Vendor Address Master (PM_Address_MSTR, PM00300) table.
RW_RMAddrIDInfo()
  • If an empty string is passed as the Address ID (second) parameter, the address data is pulled from the Customer Master (RM_Customer_MSTR, RM00101) table instead of Customer Address Master (RM_Customer_MSTR_ADDR, RM00102) table.
  • For the Field (third) parameter, The values 14 and 15 have been added for the User Defined 1 and User Defined 2 fields respectively.
RW_GetInternetText()
  • Updated Field (sixth) parameter, so that it works without errors. The values of 10 (to), 11(cc) and 12(bcc) return email addresses, any other value returns the internet text field.
RW_ConvertToWordsAndNumbers()
  • Added new mode to support full conversion of dollars and cents to words. The Mode (third) parameter now supports the following three values:
0 = Whole Number in words, Parts in numbers
1 = Whole Number in numbers, Parts in numbers
2 = Whole Number in words, Parts in words *NEW
RW_ConvertToWordsAndNumbersParse()
  • Added new mode to support full conversion of dollars and cents to words. The Mode (third) parameter now supports the following three values:
0 = Whole Number in words, Parts in numbers
1 = Whole Number in numbers, Parts in numbers
2 = Whole Number in words, Parts in words *NEW
Here are some examples of the RW_ConvertToWordsAndNumbers() function in action:
  • RW_ConvertToWordsAndNumbers( 1234.56   ""   0 )
One Thousand Two Hundred Thirty Four Dollars and 56 Cents
  • RW_ConvertToWordsAndNumbers( 1234.56   ""   1 ) returns
** 1,234 Dollars and 56 Cents
  • RW_ConvertToWordsAndNumbers( 1234.56   ""   2 ) returns
One Thousand Two Hundred Thirty Four Dollars and Fifty Six Cents (the above function is incredible; it’s one we’ve wanted for years!) For more information, check out the following blog articles:
Hope you like the improvements.”

Enjoy!

Leslie