That "take a seat"-part of the title is just a suggestion because it's quite a long story .. and I think it's more comfortable than standing up all the time ;°) ... or do I mean something else....
It seems that about each year, we (Belgium) face a new update regarding VAT-stuff :(. And as you might have noticed from the title .. I'm not that fond of it. OK, may be finally we've got a government .. but if that means: a yearly intervat-update .. I'll choose not to have one :-/
Anyway .. may be you remember the previous adventure we went through .. you could follow it on my blog (http://dynamicsuser.net/blogs/waldo/archive/tags/Upgrade/default.aspx) as i tried (but wasn't always allowed) to make people aware of the fact that it really involved quite some work .. and back then .. Microsoft wasn't really making our life easier .. . But let's not "take old cows out of the ditch" (which is the litteral translation of something like "I do not want to go over old ground") of something that did leave some scars.
Intervat 8.0, of course. Never heard of it? Me neither .. until I received a mail from Microsoft on the 30th of December last year (which is only 5 days ago), saying that "Per 7th of February 2012" - only one month later - "new schemas for INTERVAT" - quite important, i guess - "will be applicable" - as in: go live - "and the old schemas will not be accepted anymore" - as in: upgrade is mandatory.
For customers .. this is why you pay maintenance, people! :-)
My first reaction was positive. OK, we have to organize ourselves to do this for possibly +200 customers within 20 working days, in a period where many customers are going live, in a period where many employees are taking holidays .. but hey .. you shouldn't have this amount of customers if you're not organised to do this unexpectedly. OK, may be they could have communicated it just a teeny weeny bit sooner (Dear partner, we're working on an update for intervat 8.0 - blabla - old stuff won't work anymore - blabla - get yourself organised - blabla - release at the end of december - full stop. Clear communication, everybody happy). I'm the last person that's compaining though ... . It's not like we, as partner, pay extra money to Microsoft for this kind of communication (oh wait .. we actually do ... PABS? :-/ ).
I do sense some kind of frustration, waldo .. wassup?
I expected it to be quite minor - and it actually is. It's only 5 objects:
- New Table 11308 Representative
- Updated Report 11307 VAT-Form
- Updated Report 11309 VAT Annual Listing – Disk
- Updated Report 11315 VAT – VIES Declaration Disk
- New Codeunit 11308 INTERVAT Helper (New)
And if you don't care at all about code design and how things work down below .. then you'll be perfectly happy, because it's very simple to do this upgrade: send the fob to your customers, let them import it, and there you go.
Me, on the other hand, I do care about what's behind. Since we did some modifications (minor though) in these reports, I had to go into code. Just by importing our changes (thank you ReVision, of turning this into a 5-minute job) into it, I bumped into things I actually didn't like very much .. . It actually makes me wonder what that very-expensive-and-long-hotfix-approval-before-putting-on-partnersource-process is all about.
I want to stress out though that these are all just my opinions, and I would really appreciate that you don't base yours on mine ;°) . Some people tell me that I really go too deep, and make problems of minor things (how it's said in English, a fusspot?) .. so please pardon me if this makes you feel like that about me. But anyway, I'm going to share .. :-):
The naming conventions we're used to, are not applied decently:
We all value the consitency that Microsoft already put into the naming conventions ... something we can rely on most of the times.
How can I fill the table?
Like said, there's a new table .. but how do I fill this table? There are no pages, no menu items, nothing. I asked this and the reply was: this table is filled and maintained from the request page of the report - it's by design.
First reaction: Eh?
Second reaction: oh...
So, it's only one record, so no second representative possible? It seems that the goal was to use as less objects as possible to make it look a very small update. First time I saw this, I was really stumbled, so it didn't feel natural that this was linked into the request page.. . What if I want to automate this report? What if I want to have more-than-one "representative"? My opinion? Not done..
And then my favorite: hardcoded stuff
These are belgian reports, and only apply to Belgian customers. So how to filter on "Belgium". Apparently there was only one way:
SETRANGE("Country/region Code", 'BE');
First reaction: Eh? (followed by quite a long silence...)
So we're assuming that all hundreds and hundreds of customers are using 'BE' as the code for Belgium? Not 'B' not 'BEL' not ... . We're not allowed anymore to use something else .. while it's just a code field which can contain any value? I read through the documentation, but I couldn't find anything of this being mandatory. I always assumed hardcoded stuff like this was "not done" .. but you're right .. also THAT is an assumption.
Don't get me wrong. Everyone is entitled to making mistakes. And I probably make many more than anyone of you. And even the word "mistake" is based on my own personal opinion. So please, take this with a big grain of salt (i think this litteral translation does make sense in English? :-) ).
The thing that made me a little bit upset though, was the fact that when I reported this, the statement was clear: "you're right, but if the functionality is working, and people can do their VAT-stuff ... we probably won't "fix" it right away, because there is no bug, and we'll only do this for the next release."
So .. when you make the summation:
I hope you agree that some people (about 40 partners in Belgium) have the right not to be the happiest Microsoft partners in the world right now.
But I'm positive. From the information I have now, we have a working solution that we can provide to our customers, 40 days (ok, 20 working days, but I'm positive here!) before it actually has to go live. That's a LOT more than the previous VAT upgrade!
As you probably now long time ago I was responsible in "BE" (Belgium) for doing localisation stuff like this.
You are clearly frustrated and it seems that you have good reasons for it.
One thing you have know is that also the VAT Administration do publish these things typically very late (at least in the past) and then you have to hurry .. now some years ago when the responsibility of localisation was per country you still had a chance of being on time. I can imagine that now, with the international approach, it is little bit more complex.
You didn't mention about support for older versions. Since only a few versions are officially supported that can also be a pain in .. if you have a 'less up to date' customer base.
I would say Microsoft should learn some lessons from it:
1) faster communication - the 30th of December is really not done
2) have the code reviewed before releasing it by a panel of specialists from the partners or why not by a delegation of the Belgian Dynamics Community;
Lets hope that the VAT administration keeps things like they are, at least for another year. That would help too.
Not to mention that most customers leave their Country/Region Code field empty when the country in question is their own.
You should think about introducing your "PRS" concept at MS Belgium sometimes ;-) !
Would sound quite amusing, if it wasn't so sad ...
Excelent writing Eric!