Kort oversigt
- Hurtigst muligt for momsomlægningen: Oprette nye konti for nye momssatser (moms og fradragsberettiget moms)
- Ny oprettelse og konfiguration af de nye (moms-)produktbogføringsgrupper
- Hurtigst muligt: Udvidelse af UVA med de nye indberetningsposter til momsangivelsen
- Hurtigst muligt: Tjek, om du har kolonnerne Generel produktbogføringsgruppe (Business Central), Produktbookinggruppe (Navision) og kolonnen Moms Produktbogføringsgruppe (begge versioner) i indkøbsordrer og salgsordrer, fakturaer, kreditnotaer, kan se eller se, og om du også kan redigere dem. Gennemlæs denne vejledning her, om alle trin er klare og alt er forberedt.
- Dagen **før** momsændringen, **efter** lukketid, f.eks. den 30.6.2020 eller 31.12.2020 (Corona-stimuluspakke med momsnedsættelse): a) **Fakturering af alle leverede ordrer**, Bogføring af alle indtastede fakturaer og kreditnotaer. b) **Kørsel af dokumentkonvertering** (ændrer også stamdata for artikler)
- Fra den første dag efter momsomlægningen, afhængigt af behovet: Ændr evt. produktbogføringsgruppen (moms) pr. linje i indkøbs-/salgslinjerne, kontrol ved hver post for at sikre, at det samlede beløb er korrekt.
Forudsætninger for en enkel momsændring i Navision eller Business Central
Hvis denne side her vises „komisk“ (uden billede, uden formatering, uden indholdsfortegnelse), så ring venligst gentag her.
Hvis du den Moms produktbogføringsgrupper og det Produktbookingsgrupper så indrettet, som jeg anbefaler det, er du nu ude af problemet. Du behøver ca. 5 minutter til at forberede momsændringen og efter lukketid dagen før momsændringen yderligere ca. 5 minutter til at ændre momsen. Dette gælder både for det gamle Navision (Dynamics Nav, Attain) og for Business Central. Dette gjorde/gør også overgangen for salgsmoms.sænkning (Momsnedsættelse) for Corona i 2020 (stimuluspakke / konjunkturprogram) meget simpelt, ligesom momsforhøjelsen (momsforhøjelse) efter den 31. december 2020 som følge af Corona-stimuluspakken fra 2020.
Hvordan genkender du en „simpel“ opsætning af bogføringsgrupper i Navision / Attain / Business Central? Hvordan genkender du, at forberedelsen af momsopsætningen til momsudligning er let? Meget simpelt: Kig venligst på dine moms varekoder og dine varekoder (Navision) eller dine generelle varekoder (Business Central). De bør se cirka således ud:




Ideel set har du præcis en Moms produktgruppenavn og præcis en Produktbogføringsgruppe pr. momssats, der skal ændres. Måske to eller tre. Men ikke ti eller hundrede. Det er det, der er vigtigt, når man ændrer moms!
Bemærk: Produktbogføringsgrupper er kun relevante, hvis du har momsafhængige indtægts- eller omkostningskonti, f.eks. 8300 Indtægter 19% (SKR03) / 4400 Indtægter 19% (SKR04) og 8300 Indtægter 7% (SKR03) / 4300 Indtægter 7% (SKR04). Hvis du derimod har „masser af bogføringsgrupper“, så er du et tilfælde for Enhedsmæssigt eller Det passer slet ikke. Men: Den her viste procedure virker også i det tilfælde! Den er bare mere omstændelig.
Hvis du også har momsafhængige vareindkomstkonti / varekøbskonti (f.eks. 3010 (Skr03) / 5300 (SKR04) Vareindkomst eller varemodtagelse 7%og 3030 (SKR03) / 5400 (SKR04) Indkøb af rå-, hjælpestoffer og driftsforbrugsstoffer 19% ), så gælder alle de procedurer, der er angivet og beskrevet her, også for indkomstkonti.
Datev SKR03 Fremgangsmåde Bemærkning
Hvis du bruger en Datev-forbindelse, så kan du (i samråd med din Datev-revisor) få brug for en anden procedure! Data bruger f.eks. i SKR03 identiske konti for 7%/5%(indtægter 8300, udgifter 3300) og 19% /16% (indtægter 8400, udgifter 8400). Datev genkender her moms-skattekategorien udelukkende baseret på ydelsesperiode. Hvordan Datev behandler periodefremmede kreditnotaer her, er stadig under afklaring)
Und überprüfen Sie dazu auch Ihre MwSt.-Voranmeldung (Umsatzsteuervoranmeldung). Wenn diese auf MwSt.-Produktbuchungsgruppen und MwSt.-Geschäftsbuchungsgruppen basiert, dann werden Sie hier auch sehr schnell die notwendigen Änderungen für die Umsatzsteueränderung unterbringen. Sehen Sie dazu weiter unten.
Du kan foretage hele ændringen af moms/fradragsmoms fuldstændig manuelt, helt uden konverteringsværktøjer/værktøjer!
Denne guide her antager, at opsætningen af moms (momsopsætning) eller fradragsberettiget moms (fradragsberettiget momsopsætning) allerede er foretaget. Evt. vil der komme en separat guide til opsætning af moms (momsopsætning) herom.
Forberedelse til momsændring
Diese Anleitung wurde konkret für das Jahr 2020 mit der Umstellung von 19% auf 16 % und später wieder Rückstellung auf 19% erstellt. Sie gilt aber grundsätzlich für jede Mehrwertsteuerumstellung / Mehrwertsteueränderung in Navision / Attain / Business Central. Sie gilt gleichlautend auch z.B. für die Umstellung von 7% auf 5% und jede andere Steueränderung.
Tip: Øv denne ændring i dit testmiljø.
- Hvis du stadig har dine gamle 16% moms-produktbogføringsgrupper fra før den 1.1.2007, indikerer det mangelfuld datastyring, som vi bør drøfte. Dine Navision-data bør af forskellige årsager ikke være ældre end 10 (11) år. I dette tilfælde er der dog en lille lettelse: Du kan blot fortsætte med at bruge disse indstillinger nu!
- Denne blok gælder også f.eks. for overgangen fra 7% til 5% og enhver anden kontrolleret overgang.
- Oprettelse af den nye moms produktbogføringsgruppe, f.eks. „16%“ eller „V16“ eller „Voll16“. Følg blot den moms produktbogføringsgruppe, der senere skal erstattes.
- Om nødvendigt (se ovenfor) opretter du også en ny passende almen produktbookinggruppe.
- Indstil også booking- og momsgruppematrixerne passende. Husk venligst, at du i alle Navision-versioner let (Business Central) bis børnelet (Navision) muligheden for at kopiere opsætningen fra en anden bogføringsmatrixopsætning!



Eksempel på nye produktbogføringsgrupper og moms. Produktbogføringsgrupper i Navision med eksemplet på Corona-konjunkturpakken 2020 for momsændringen
6. Tilføj de nye indberetningsposter for momsangivelsen til din momsangivelse.
51 transaktioner til 16% moms (51 var anmeldelsesposten for 16% indtil 2006, formodentlig vil den også blive brugt til de 16 % moms af Corona konjunkturpakken 2020)
?? Omsætning på 5 % moms (her er der endnu ikke oplyst noget forhåndsmomsangivelsesnummer for momsændringen i forbindelse med Corona-stimulanspakken).
Momsangivelse„gamle“Navision (Bis 2009R2, f.eks. Navision 2.01, 2.60, 3.01..., Attain):
Finansstyring eller finansiel regnskabsføring, periodiske aktiviteter, moms, momsopgørelse.

Momsangivelse UVA i „nye“ Navision, alt fra version 2013, 2015, 2016, 2017, 2018. ikke Business Central:
Ctrl+F3 på Windows-klienten (åbner søgefeltet øverst til højre), derefter Moms indtast. Indtastningen direkte Moms vælge. Herunder Opgaver/Momsafregning vælge.

Business Central Webklient:
Alt+Q, moms, evt. på alle annoncer.
„Klik på “Momsafregning“.

„Trylleordet“ er i denne forbindelse momsregnskab hver gang.
Orienter dig ved oprettelsen af de to nye UVA rapporteringspositioner i forhold til de allerede eksisterende 7% (86) henholdsvis 19% (81).
Ændring af moms.
Her beskrives den simple version: Manuelt, om aftenen, efter den sidste booking på den sidste dag den gamle moms (Merværdiafgift). Hvis I organisatorisk ikke kan håndtere dette, så er I også en kandidat til Hvis intet af dette passer.
- Navision & Business CentralFakturer alle leverede ordrer! Samlefakturaer, hvor det er muligt, se ordrer igennem. Rapporterne om ufakturerede leverancer vil hjælpe dig med dette. Du får også et hurtigt overblik på denne måde:
I. Slet alle gamle salgsbeviser efter fakturering: Batch-behandling „Slet afsluttede ordrer“.
II. Start tabellen 37 (Indkøb: tabel 39) via designeren („Kør“)

III. Filtrer på kolonnen Leveret ikke faktureretxxxx: 0


Bemærk: Du skal have samme resultat i alle fire meningsfulde filterfelter (se skærmbillede af Business Central)! Hvis du ser forskellige linjer på forskellige felter med et filter på 0, så har nogen ødelagt din Navision. Du vil så også have problemer som f.eks. ikke-afregnelige og derfor ikke-sletbare salgsordrer.
IV. Marker alle linjer (Ctrl+A), kopier dem til Excel, og lav en pivottabelanalyse af bilagsnummeret der.
Du ved ikke, hvordan man laver en pivottestand i Excel? Så bør du tale med mig om et Excel-kursus. Denne funktion er børneleg og sjov, du behøver ikke noget andet BI-værktøj mere!
Som resultat har du nu i Excel en liste over alle salgsordrer, der endnu ikke er faktureret. Denne liste må ikke indeholde tilbud, fakturaer eller krediter! Det ville betyde, at nogen har ødelagt dit Navision!
2. Omformatér dine masterdata for varer.
Omstrukturering af masterdata for artikler i Navision, Attain, Dynamics NAV
Gå til varekortet (eller brug mit værktøj) -> feltet moms produktbogføringsgruppe, Ctrl+H (Søg og erstat), og erstat den gamle moms produktbogføringsgruppe med den nye. Gentag om nødvendigt også for produktbogføringsgruppen.
Ikke alle Navision-versioner understøtter dette, og du skal også stadig omstille dokumenterne til det nye momsformat. Og for coronatilskyndelsespakken 2020 skal dette gøres 2 gange: 1 gang den 30.6.2020 om aftenen til den nye sats på 16%eller 5%, og så igen den 31.12.2020 til de gamle satser, der var gældende før corona og tilskyndelsespakken. Brug hellere min KonverteringsværktøjDet er gratis!
Stamdata og bilag overføres i Business Central med momskonvertering
Du finder desværre ikke længere denne smukke søg og erstat-funktion her. Alternativ: Eksporter dine stamdata via Rapid-Start-funktionen (i nyere versioner: Data Migration), erstat værdierne i Excel, og indlæs tabellen igen.
Men siden Navision 2013 / Business Central har der været et væsentligt enklere værktøj: VAT Conversion Tool, eller på dansk væsentligt mere sagligt: Ændring af momssatsen:


Jeg anbefaler følgende indstilling:
Opdater konti: Nej. Normalt har man separate Sachkonten efter skattesats, eller neutrale Sachkonten, som f.eks. omkostningskonti, der ikke kræver konvertering.
Opdater artikler, opdater ressourcer, opdater artikel skabeloner:
Begge eller Moms produktbogføringsgruppe. Beslutning se ovenfor.
Opdater produktbookingsgrupper: Moms produktbogføringsgruppe
Bog. Bilag: Venligst bogfør alle bilag før datoen.
BeviseIndlæs standardindstillinger.

Via handlingerne kan du opsætte konverteringspræferencen (hvilken gammel gruppe til hvilken ny gruppe) og køre konverteringen på cut-off-datoen, efter afslutning af alle leverancer:

Dette konverterer alle restbeholdninger til de nye skattesatser, mere specifikt de nye bogføringsgrupper. Du vil senere få brug for Efterberegning.
3. Testen: Registrer en ordre for en almindelig kunde. Navision og Business Central bør nu beregne den nye momssats.
Programfejl i visse Navision-versioner ved rammeordrer
Under en kundeovergang stødte jeg på denne fejl. I hvert fald anser jeg den for at være en fejl.
Det udtrykker sig ved meddelelsen “Du kan ikke modtage mere end 0 basiseenheder.“ under momsændringen og opstår i tabellen 39 Purchase Line i efterbehandlingen af feltet „Qty. to Receive“. efter min erfaring kun, når der bruges indkøbsrammeaftaler.

(Hurtigt) Du modtager den samme meddelelse i salget, hvis du også opererer med rammeordrer der. I tabel 37 (Salgsordreposte) får du meddelelsen „Du kan ikke levere mere end 0 basisenheder“, også i efterbehandlingen af det tilsvarende felt „Antal, der skal sendes“. Fejlscenariet og løsningen, der er beskrevet nedenfor, er identiske for tabel 37.
HVIS "Antal at modtage" = Antal - "Antal modtaget" SÅ
InitAntalAtModtage
ELLERSÅ
"Antal, der skal modtages (grundlag)" := CalcBaseQty("Antal. der skal modtages");
InitQtyToInvoice;
END;
IF ((("Antal. der skal modtages" < 0) XOR (Antal < 0)) AND (Antal 0) AND ("Antal. der skal modtages" 0)) OR
(ABS("Antal. der skal modtages") > ABS("Udestående antal")) OR
(((Antal < 0 ) XOR ("Udestående antal" < 0)) AND (Antal 0) AND ("Udestående antal" 0))
THEN
ERROR(
Text008,
"Udestående antal");
IF ((("Antal. der skal modtages (Basis)" < 0) XOR ("Antal (Basis)" < 0)) AND ("Antal (Basis)" 0) AND ("Antal. der skal modtages (Basis)" 0)) OR
(ABS("Antal. der skal modtages (Basis)") > ABS("Udestående antal (Basis)")) OR
((("Antal (Basis)" < 0) XOR ("Udestående antal (Basis)" < 0)) AND ("Antal (Basis)" 0) AND ("Udestående antal (Basis)" 0))
THEN
ERROR(
Text009,
"Udestående antal (Basis)");
Her er feltet „Modtagelsesmængde (Basis)“ ikke altid korrekt omregnet!
Det gav så denne ret skæve kombination af værdier:

og

I skærmbillederne kan man se at Antal at modtage korrekt nulstillet, mens Antal at modtage (grundlag) bare blev stående på den gamle værdi (her 95, da basisenheden var sat til 1 til omregning). Dette resulterer derefter i fejlen fra Text009: Du kan ikke modtage mere end 0 basisenheder.
Mærkeligt nok kunne jeg ikke finde en officiel rettelse til det hurtigt. Derfor er her mit forslag til en rettelse:
HVIS „Modtagen mængde“ = Mængde – „Modtaget mængde“ SÅ
InitQtyToReceive
ELLERS START
„Antal at modtage (grundlag)“ := CalcBaseQty(„Antal at modtage“);
StartAntalTilFaktura;
SLUT;
"Antal skal modtages (Grundlag)" := CalcBaseQty("Antal skal modtages");
IF "Antal skal modtages" = Antal - "Antal modtaget" THEN
InitAntalSkalModtages
ELSE
InitAntalSkalFaktureres;
Momsomlægning af Navision før version 2013 (IKKE Business Central (ikke RTC) med min moms-omstillingshjælp
Bemærk venligst forberedelserne!
Konverteringen, der tilbydes her, fungerer som følger:
Hun gennemgår alle artikler og ressourcer (ingen hovedbogskonti, ingen ...), og ændrer (moms-)produktbogføringsgrupperne i overensstemmelse med specifikationen:

I artiklen er alle (moms) produktbogføringsgrupper fra værdien til venstre (Kode) til værdien HøjreNye) ændret NÅR værdien til højre er udfyldt.
I indkøb & salg omstilles alle resterende varelinjer & ressourcelinjer med mængder ligeledes (indkøbsanmodning, indkøbsordre, salgstilbud, salgsordrer, indkøbs- & salgsfakturaer & kreditnotaer).
Undtagelse for delvist leverede (og dermed obligatorisk delvist fakturerede) linjer: Disse opdeles, og for restleveringen oprettes en ny linje med nye bogføringsgrupper.
Værktøjet er optimeret til den enkleste læsbarhed, så man hurtigt kan tilføje egne udvidelser.
Jeg anbefaler absolut en tidlig testkørsel!
Denne rapport følger Navision-standarden. Test den venligst grundigt i et testmiljø. Ændringer, der ikke kan integreres rent i standarden, vil ikke fungere hermed.
Selvfølgelig sker brugen af dette værktøj udelukkende på din egen risiko. Kontroller venligst koden for at sikre, at den passer til dig. Jeg afviser udtrykkeligt ethvert ansvar for dette værktøj i enhver form.
Jeg kan gerne hjælpe dig med omstillingen af moms (2020: momssænkning i forbindelse med Corona-konjunkturpakken) og også undersøge, om dette værktøj, eventuelt med modifikationer, „passer“ til dig. Til dette er de tilgængelige aftaler dog allerede knappe den 12.6.2020.
Rapport til masseomlægning af artikler, varenumre, endnu ikke leverede salgsordrer og indkøbsordrer (alle dokumenter i T36 Salgsoverskrift & T38 Indkøbsoverskrift samt tilhørende linjer).
Regnskabskonti med denne rapport ikke omstillet, hvilket normalt ikke giver mening. Særtilfælde som emballageforordning, returadministration, separat restlagerstyring osv. er naturligvis ikke inkluderet i denne rapport og skal programmeres i overensstemmelse med din database. Logikken bør passe fra omkring Navision 3.01: Engelske felter, feltstatus i dokumenthovedet. Koden bør også være god som base for AL, jeg har allerede fjernet forstyrrende tomme elementer. Business Central har dog allerede alt indbygget, hvad du har brug for til omstilling af moms og bogføringsgrupper.
OBJECT Rapport 50086 Værktøjssæt til momskonvertering RTH
{
OBJECT-PROPERTIES
{
Dato=24.06.20;
Time=15:47:07;
}
DATAITEMS
{
{ PROPERTIES
{
DataItemTable=Tabel27;
DataItemTableView=SORTING(No.);
OnAfterGetRecord=BEGIN
CLEAR(DoModify);
IF "TranslatePPG?"("Gen. Prod. Posting Group") THEN BEGIN
VALIDATE("Gen. Prod. Posting Group",TranslatePPG("Gen. Prod. Posting Group"));
DoModify := TRUE;
END;
IF "TranslateVatPPG?"("VAT Prod. Posting Group") THEN BEGIN
VALIDATE("VAT Prod. Posting Group",TranslateVatPPG("VAT Prod. Posting Group"));
DoModify := TRUE;
END;
IF DoModify THEN BEGIN
MODIFY;
Log("No.",'Item Translated',STRSUBSTNO('%1 %2', "Gen. Prod. Posting Group", "VAT Prod. Posting Group"));
END ELSE
CurrReport.SKIP;
SLUT;
ReqFilterFields=No.,Gen. Prod. posteringsgruppe,VAT Prod. posteringsgruppe;
}
SEKTIONER
{
{ PROPERTIES
{
SectionType=Overskrift;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455000;TextBox;0 ;0 ;3300 ;423 ;FontSize=9;
FontBold=Yes;
SourceExpr=TABLECAPTION }
}
}
{ PROPERTIES
{
SectionType=Krop;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455006;TextBox;0 ;0 ;1500 ;423 ;SourceExpr="No." }
{ 1119455008;TextBox;1650 ;0 ;4500 ;423 ;SourceExpr=Description }
}
}
}
}
{ PROPERTIES
{
DataItemTable=Tabel156;
DataItemTableView=SORTING(No.);
OnAfterGetRecord=BEGIN
CLEAR(DoModify);
IF "TranslatePPG?"("Gen. Prod. Posting Group") THEN BEGIN
VALIDATE("Gen. Prod. Posting Group",TranslatePPG("Gen. Prod. Posting Group"));
DoModify := TRUE;
END;
IF "TranslateVatPPG?"("VAT Prod. Posting Group") THEN BEGIN
VALIDATE("VAT Prod. Posting Group",TranslateVatPPG("VAT Prod. Posting Group"));
DoModify := TRUE;
END;
IF DoModify THEN BEGIN
MODIFY;
Log("No.",'Resource Translated',STRSUBSTNO('%1 %2', "Gen. Prod. Posting Group", "VAT Prod. Posting Group"));
END ELSE
CurrReport.SKIP;
SLUT;
ReqFilterFields=No.,Gen. Prod. posteringsgruppe,VAT Prod. posteringsgruppe;
}
SEKTIONER
{
{ PROPERTIES
{
SectionType=Overskrift;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455001;TextBox;0 ;0 ;3300 ;423 ;FontSize=9;
FontBold=Yes;
SourceExpr=TABLECAPTION }
}
}
{ PROPERTIES
{
SectionType=Krop;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455010;TextBox;1650 ;0 ;4500 ;423 ;SourceExpr=Name }
{ 1119455011;TextBox;0 ;0 ;1500 ;423 ;SourceExpr="No." }
}
}
}
}
{ PROPERTIES
{
DataItemTable=Tabel36;
DataItemTableView=SORTING(Dokumenttype,Nr.);
DataItemVarName=SaleHeader;
ReqFilterFields=Document Type,Order Date,Posting Date;
}
SEKTIONER
{
{ PROPERTIES
{
SectionType=Overskrift;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455002;TextBox;0 ;0 ;3300 ;423 ;FontSize=9;
FontBold=Yes;
SourceExpr=TABLECAPTION }
}
}
{ PROPERTIES
{
SectionType=Krop;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455012;TextBox;0 ;0 ;1500 ;423 ;SourceExpr="Document Type" }
{ 1119455014;TextBox;1650 ;0 ;2550 ;423 ;SourceExpr="No." }
}
}
}
}
{ PROPERTIES
{
DataItemIndent=1;
DataItemTable=Tabel37;
DataItemTableView=SORTING(Dokumenttype,Dokumentnr.,Linjenr.)
WHERE(Type=FILTER(Item|Resource),
No.=FILTER(''));
DataItemVarName=SaleLine;
OnAfterGetRecord=VAR
NewLine@1000000000 : Post 37;
BEGIN
Log(TABLECAPTION,'Translate',GETPOSITION);
IF (Quantity > "Quantity Shipped") OR (Quantity = 0) THEN BEGIN
UnlockSalesHeader(SaleHeader);
IF "Quantity Shipped" = 0 THEN BEGIN // Ingen afsendelse indtil nu
IF "TranslatePPG?"("Gen. Prod. Posting Group") THEN BEGIN
VALIDATE("Gen. Prod. Posting Group",TranslatePPG("Gen. Prod. Posting Group"));
DoModify := TRUE;
END;
IF "TranslateVatPPG?"("VAT Prod. Posting Group") THEN BEGIN
VALIDATE("VAT Prod. Posting Group",TranslateVatPPG("VAT Prod. Posting Group"));
DoModify := TRUE;
END;
IF DoModify THEN
MODIFY(TRUE);
END ELSE BEGIN
//Indsæt den nye linje med det udestående antal.
WITH NewLine DO BEGIN
NewLine := SaleLine;
"Linje nr." += 1;
"Afsendt mængde" := 0;
"Qty. Shipped (Base)" := 0;
"Return Qty. Received" := 0;
"Return Qty. Received (Base)" := 0;
"Faktureret mængde" := 0;
"Qty. Invoiced (Base)" := 0;
"Reserveret mængde" := 0;
"Reserveret kvantum. (Base)" := 0;
"Antal til forsendelse" := 0;
"Antal til forsendelse (base)" := 0;
"Antal retur til modtagelse" := 0;
"Antal retur til modtagelse (base)" := 0;
"Antal til fakturering" := 0;
"Antal til fakturering (base)" := 0;
"Qty. Shipped Not Invoiced" := 0;
"Return Qty. Rcd. Not Invd." := 0;
"Afsendt ikke faktureret" := 0;
"Return Rcd. Not Invd." := 0;
"Qty. Shipped Not Invd. (Base)" := 0;
"Ret. Qty. Rcd. Not Invd.(Base)" := 0;
"Afsendt ikke faktureret (LCY)" := 0;
"Returner Rcd. Not Invd. (LCY)" := 0;
IF "TranslatePPG?"("Gen. Prod. Posting Group") THEN
VALIDATE("Gen. Prod. Posting Group",TranslatePPG("Gen. Prod. Posting Group"));
IF "TranslateVatPPG?"("VAT Prod. Posting Group") THEN
VALIDATE("VAT Prod. Posting Group",TranslateVatPPG("VAT Prod. Posting Group"));
WHILE NOT INSERT DO
"Linje nr." += 100;
VALIDATE(Quantity,SaleLine. "Outstanding Quantity"); //Kør efterbehandling, f.eks. indbetaling
MODIFY;
SLUT;
//Lagre den gamle linje uden det udestående antal (= 100% Shipped)
VALIDATE(Mængde, "Afsendt mængde");
MODIFY;
SLUT;
SLUT;
SLUT;
DataItemLink=Document Type=FIELD(Document Type),
Document No.=FIELD(No.);
}
SEKTIONER
{
}
}
{ PROPERTIES
{
DataItemTable=Tabel38;
DataItemTableView=SORTING(Document Type,No.);
DataItemVarName=Købsoverskrift;
ReqFilterFields=Document Type,Order Date,Posting Date;
}
SEKTIONER
{
{ PROPERTIES
{
SectionType=Overskrift;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455003;TextBox;0 ;0 ;3300 ;423 ;FontSize=9;
FontBold=Yes;
SourceExpr=TABLECAPTION }
}
}
{ PROPERTIES
{
SectionType=Krop;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455016;TextBox;0 ;0 ;1500 ;423 ;SourceExpr="Document Type" }
{ 1119455017;TextBox;1650 ;0 ;2550 ;423 ;SourceExpr="No." }
}
}
}
}
{ PROPERTIES
{
DataItemIndent=1;
DataItemTable=Tabel39;
DataItemTableView=SORTING(Dokumenttype,Dokumentnr.,Linjenr.)
WHERE(Type=FILTER(Item),
No.=FILTER(''));
DataItemVarName=PurchLine;
OnAfterGetRecord=VAR
NewLine@1000000000 : Post 39;
BEGIN
Log(TABLECAPTION,'Translate',GETPOSITION);
IF (Quantity > "Quantity Received") OR (Quantity = 0) THEN BEGIN
UnlockPurchHeader(PurchHeader);
IF ("Quantity Received" = 0) OR "Drop Shipment" THEN BEGIN // Ingen forsendelse indtil nu
IF "TranslatePPG?"("Gen. Prod. Posting Group") THEN BEGIN
VALIDATE("Gen. Prod. Posting Group",TranslatePPG("Gen. Prod. Posting Group"));
DoModify := TRUE;
END;
IF "TranslateVatPPG?"("VAT Prod. Posting Group") THEN BEGIN
VALIDATE("VAT Prod. Posting Group",TranslateVatPPG("VAT Prod. Posting Group"));
DoModify := TRUE;
END;
IF DoModify THEN
MODIFY(TRUE);
END ELSE BEGIN
//Indsæt den nye linje med det udestående antal.
WITH NewLine DO BEGIN
NewLine := PurchLine;
"Linje nr." += 1;
"Modtaget mængde" := 0;
"Qty. Received (Base)" := 0;
"Faktureret mængde" := 0;
"Qty. Invoiced (Base)" := 0;
"Reserveret mængde" := 0;
"Reserveret kvantum. (Base)" := 0;
"Antal til modtagelse" := 0;
"Antal til modtagelse (base)" := 0;
"Antal til fakturering" := 0;
"Antal til fakturering (base)" := 0;
"Qty. Rcd. Ikke faktureret" := 0;
"Qty. Rcd. Ikke faktureret (Base)" := 0;
"Amt. Rcd. Not Invoiced" := 0;
IF "TranslatePPG?"("Gen. Prod. Posting Group") THEN
VALIDATE("Gen. Prod. Posting Group",TranslatePPG("Gen. Prod. Posting Group"));
IF "TranslateVatPPG?"("VAT Prod. Posting Group") THEN
VALIDATE("VAT Prod. Posting Group",TranslateVatPPG("VAT Prod. Posting Group"));
WHILE NOT INSERT DO
"Linje nr." += 100;
VALIDATE(Mængde,PurchLine. "Udestående mængde");
MODIFY;
SLUT;
//Lagre den gamle linje uden den udestående mængde (= 100% Shipped)
VALIDATE(Mængde, "Modtaget mængde");
MODIFY;
SLUT;
SLUT;
SLUT;
DataItemLink=Document Type=FIELD(Document Type),
Document No.=FIELD(No.);
}
SEKTIONER
{
}
}
{ PROPERTIES
{
DataItemTable=Table2000000026;
DataItemTableView=SORTING(Antal)
WHERE(Number=CONST(1));
DataItemVarName=LockHeaders;
OnAfterGetRecord=BEGIN
WITH TmpT36 DO BEGIN
HVIS FINDSET SÅ GENTAG
SaleHeader.GET("Document Type", "No.");
SaleHeader.Status := TmpT36.Status;
SaleHeader.MODIFY;
INDTIL NÆSTE = 0;
SLUT;
MED TmpT38 DO BEGIN
HVIS FINDSET SÅ GENTAG
PurchHeader.GET("Document Type", "No.");
PurchHeader.Status := TmpT38.Status;
PurchHeader.MODIFY;
INDTIL NÆSTE = 0;
END;
SLUT;
}
SEKTIONER
{
{ PROPERTIES
{
SectionType=Krop;
SectionWidth=12000;
SectionHeight=423;
}
KONTROL
{
{ 1119455005;Label ;4200 ;0 ;3150 ;423 ;FontSize=9;
FontBold=Yes;
CaptionML=[DEU=finish....;
ENU=afslut....] }
}
}
}
}
}
CODE
{
VAR
GenProdPostingGrp@1000000000 : Post 251;
VatProdPostingGrp@1000000001 : Post 324;
TmpT36@1000000003 : TEMPORÆR post 36;
TmpT38@1000000004 : MIDLERTIDIG post 38;
LogCU@1119455000 : Kodeenhed 50003;
DoModify@1000000002 : Boolean;
PROCEDURE "TranslatePPG?"@1000000002(pOldPPG@1000000000 : Code[10]) : Boolean;
BEGIN
HVIS GenProdPostingGrp.Code pOldPPG SÅ
HVIS IKKE GenProdPostingGrp.GET(pOldPPG) SÅ
CLEAR(GenProdPostingGrp);
EXIT(GenProdPostingGrp. "New Gen. Post.Grp" '');
SLUT;
PROCEDURE TranslatePPG@1000000000(pOldPPG@1000000000 : Code[10]) : Code[10];
BEGIN
HVIS GenProdPostingGrp.Code pOldPPG SÅ
GenProdPostingGrp.GET(pOldPPG);
EXIT(GenProdPostingGrp. "New Gen. Post.Grp");
SLUT;
PROCEDURE "TranslateVatPPG?"@1000000005(pOldPPG@1000000000 : Code[10]) : Boolean;
BEGIN
HVIS VatProdPostingGrp.Code pOldPPG SÅ
HVIS IKKE VatProdPostingGrp.GET(pOldPPG) SÅ
CLEAR(VatProdPostingGrp);
EXIT(VatProdPostingGrp. "Ny VAT Prod. posteringsgruppe" '');
SLUT;
PROCEDURE TranslateVatPPG@1000000004(pOldPPG@1000000000 : Code[10]) : Code[10];
BEGIN
HVIS VatProdPostingGrp.Code pOldPPG SÅ
VatProdPostingGrp.GET(pOldPPG);
EXIT(VatProdPostingGrp. "Ny VAT Prod. posteringsgruppe");
SLUT;
PROCEDURE UnlockSalesHeader@1000000001(pHeader@1119455000 : Record 36);
BEGIN
IF pHeader.Status = pHeader.Status::Released THEN BEGIN
Log('','Unlock',pHeader.GETPOSITION);
TmpT36 := pHeader;
IF TmpT36.INSERT THEN;
pHeader.Status := pHeader.Status::Open;
pHeader.MODIFY;
SLUT;
SLUT;
PROCEDURE UnlockPurchHeader@1000000003(pHeader@1119455000 : Record 38);
BEGIN
IF pHeader.Status = pHeader.Status::Released THEN BEGIN
Log('','Unlock',pHeader.GETPOSITION);
TmpT38 := pHeader;
IF TmpT38.INSERT THEN;
pHeader.Status := pHeader.Status::Open;
pHeader.MODIFY;
END;
SLUT;
PROCEDURE Log@1119455000(pKeyEntry@1000000006 : Text[1024];pLogEntry@1000000002 : Text[1024];pLogDetail@1000000003 : Text[1024]);
VAR
TimeOutput@1000000004 : Tekst[30];
BEGIN
LogCU.Log('Report',50085,pKeyEntry,pLogEntry,pLogDetail); //Kommenter denne linje, hvis du ikke har logning
END;
BEGIN
END.
}
}
Efterberegning af bilag med afvigende moms (merværdiafgift)
I indkøb vil dette være reglen, da de som regel modtager leverandørfakturaer senere. I salg bør der især forekomme kreditnotaer her, færre (helst ingen) fakturaer. Et yderligere problem: Gamle tilbud. (Emnet er under revision.)
Tilbud
Tilbud er enkle. De bliver uundgåeligt først leveret efter omstillingen, derfor bliver disse simpelthen omstillet generelt til den nye skattesats ved omstillingen af dokumenter.
Ikke leverede ordrer
Disse er også enkle. Her gælder det samme som ved tilbud. Det gælder altid ydelsesprincippet, dvs. leveringsdatoen (normalt datoen for afgang fra vores ansvarsområde, altså tidspunktet for vareudgang), hvad der ikke altid er korrekt, men normalt praktiseres således.
Under min skattekonvertering omstilles alle endnu ikke leverede linjer, alle delvist leverede linjer opdeles (gammel/ny skattesats), alle fuldt leverede linjer ignoreres. Venligst omfæt ikke efterlevering på allerede fuldt leverede linjer på disse dokumenter!
Indkøbsforespørgsler
Disse vil også uundgåeligt først blive leveret efter overgangen, derfor vil disse også blive omregnet generelt til den nye skattesats.
Forudbetalinger
Uanset om det er egne forudbetalinger eller modtagne forudbetalinger: disse er ubehagelige. Den simpleste fremgangsmåde ved skattelettelser: Ring til din kunde, og spørg, hvordan du skal tilbageføre eller tilbagebetale de x.xx euro. Måske kan du styre samtalen sådan, at kunden giver afkald på tilbagebetalingen.
Ellers burde det også være nemt bare at lade kvitteringen køre igennem normalt. Ved bogføring af forudbetalingen vil der blive stående en difference på kontoen (den faktiske levering/faktura blev jo udstedt med den reducerede momssats), ligesom med modregnede kreditnotaer. Måske kan du modregne denne med et andet udestående beløb, afstemningen vil så ske senere ved en kontoafstemning.
I tilfælde af en skattestigning (sandsynligvis altid tilfældet, undtagen i 2020 som del af coronakompensationspakken) overvejer muligheden for selv at dække differencen. Enhver aktivitet, du foretager for at afklare det, vil koste dig mere end „de få cent i differencen“. Drøft begge muligheder med din skatterådgiver.
Indkøbsordrer ikke leveret
Disse behandles ligesom salgsordrer. Den korrekte momssats skal kontrolleres ved indtastning af fakturaen.
Indkøbsordrer eller salgsordrer, der blev registreret før skæringsdatoen
...med efterfølgende levering før datoen
Indtast pr. linje i kolonnerne Generel produktbogføringsgruppe (Business Central) eller Produktbookinggruppe (Navision) eller. Moms Produktbogføringsgruppe (begge versioner, altså Navision såvel som Business Central) den korrekte bogføringsgruppe.
Kontroller, om de korrekte skattesatser er blevet anvendt, ved at sammenligne med bilagsstatistikken, før du bogfører.
...med levering efter skæringsdatoen
Her burde de korrekte bogføringsgrupper allerede være indtastet via overførslen af kvitteringer. Kontroller pr. linje i kolonnerne Generel produktbogføringsgruppe (Business Central) eller Produktbookinggruppe (Navision) eller. Moms produktbogføringsgruppe (begge versioner, altså Navision såvel som Business Central) den korrekte bogføringsgruppe.
Kontroller, om de korrekte skattesatser er blevet anvendt, ved at sammenligne med bilagsstatistikken, før du bogfører.
Kredit (Indkøb som salg)
Kreditnotaer, der vedrører en levering af varer, skal du oprette ved at kopiere et dokument, linjer må IKKE genberegnes. Her vil de (Moms) Produktbogføringsgrupper overtaget fra det oprindelige dokument. Du kan dog selv korrigere bogføringsgrupperne i overensstemmelse med de sidste to punkter.
Vouchers (multiple-purpose vouchers, single-purpose vouchers)
Disse kan alligevel være komplicerede og skal integreres i deres respektive processer. Begrundelse: Enkeltmærke-gavekort er – forenklet sagt – omsætning. De skal straks ved salg beskattes med den gældende momssats som omsætning via Navision eller Business Central – helt almindeligt som et varesalg. Et enkeltmærke-gavekort foreligger, når momssatsen for den ydelse, der senere modtages for det, er kendt ved gavekortets salg.
Skatteforvaltningen elsker enkelt formåls gavekort!
Ved gavekort, der kan bruges til flere forskellige varer eller ydelser, er momssatsen for de ydelser/varer, der senere byttes for, derimod ikke fast. Dette kan endda være tilfældet i en virksomhed for et produkt! Hvis du f.eks. er i cateringbranchen og sælger værdikuponer til mad, kan kunden senere købe mad/måltider for kuponen: reduceret skattesats. Men han/hun kan også bruge værdibeviset til at spise maden i din restaurant: Reduceret skattesats. Med juletræer med - tror jeg - 5 afgiftssatser, kaffedrikke med afhængighed af mælkemængden og andre meget, meget syge ideer fra de tyske skattemyndigheder, slutter dette nonsens ikke der. Disse vouchers er derfor multi-purpose vouchers, som skal anerkendes som skattefrit salg, når de gives til kunden (så de er helt sikkert overskud eller indkomst!). Momsomlægningen i forbindelse med coronavirus er endnu mere spændende: Vouchers har generelt en løbetid på mindst et år. Det vides derfor ikke, om Navision eller Business Central skal bogføre 5%, 7%, 16% eller 19%.
Selvom skattemyndighederne elsker enkeltbrugerkuponer (de får straks deres del af kagen), anbefaler jeg af alle disse grunde at bruge og dermed bogføre kuponer som flerbrugerkuponer. Desuden anbefaler jeg at gøre dette ensartet, dvs. ikke at blande. Corona giver her den nødvendige argumentation.
Hvad der er vanskeligt her, er allerede udstedte gavekort til engangsbrug! Disse blev normalt allerede solgt før en skattereform og dermed beskattet til den daværende gældende skattesats (momsen blev allerede afregnet til skattemyndighederne). Og derefter bliver de efterfølgende brugt til erhvervelse af ydelser, der er beskattet anderledes.
Her er der to muligheder:
„Hvad så“: Bogfør gavekortet direkte mod udlevering af varerne. Sandsynligvis vil selv meget strenge tilsynsmyndigheder og revisorer se igennem fingre med disse eksotiske tilfælde, da de også bør være bevidste om det vanvid, som lovgiveren igen bevidst har skabt.
2. Kreditér kuponen med den gamle momssats ved indløsning og konter den i samme bogføring med den nye momssats. Dette resulterer i forskellen både i nettoværdien og i den moms, der skal betales. Derefter kan vareudleveringen/ydelsen bogføres mod kuponen (nu frisk forsynet med den korrekte moms).
Harmonisering af moms Produktbogføringsgrupper
Hvis du afbilder din varestatistik via produktbogføringsgrupper og - endnu værre - også via moms-produktbogføringsgrupper, så har du typisk dusinvis eller endda hundredvis af generelle produktbogføringsgrupper og moms-produktbogføringsgrupper.
Produktbogføringsgrupperne kunne stadig løses ved at ændre MOMS-anmeldelsen (Momsangivelse) til MOMS-bogføringsgrupper. Med MOMS-produktbogføringsgrupper er det så ikke længere „elegant“. I dette tilfælde er du sandsynligvis kandidat til afsnittet Hvis intet af dette passer.
Eller du kan benytte lejligheden til en radikal omstilling ved at følge konceptet, som jeg præsenterede i begyndelsen af denne artikel. I så fald bedes du følge afsnittet Forberedelse. Tragen Sie hier als die neuen Buchungsgruppen kun de nødvendige (!) nye bookinggrupper (f.eks. „16%“) ind! Ved Omstilling erstat derefter alle gamle bookinggrupper med den samme nye bookinggruppe.
Og din varestatistik laver du fremover via? Täterääätäää: Vareøkonomien! Og ikke længere via bogføringen.
Momsangivelse
Momsangivelsen skal også tilpasses. De nye skattesatser skal ligeledes indarbejdes i momsopgørelsesopsætningen.
Hvis intet af dette passer...
Dann kontakt Se mig venligst. Så har du sandsynligvis et ret stort problem, alene på grund af den til tider meget korte omstillingstid. Især med den momsomlægning i 2020, der var planlagt for en kort periode på 6 måneder fra juli 2020 til december 2020, har du i dette tilfælde sandsynligvis brug for understøttelse fra programmer, der skal udarbejdes på forhånd, og som foretager de nødvendige omstillinger for dig på datoen.
Momsændring fra 2006
Faustformel: Omstillingsprogrammerne til momsændringen fra 31.12.2006 til 01.01.2007 fra 16% til 19% samt de dengang offentliggjorte eller tilgængeliggjorte programmer og vejledninger bør stadig fungere i dag!
Datumsafhængig moms – Den gyldne vej
Luksusudgaven. Dette modul er et integrerbart basismodul. Som regel skal det stadig tilpasses kundespecifikke varianter. Tilpasninger tilføjes baseret på tidsforbrug, ligesom de nødvendige objekter (1 Form/Side, 1 Codeunit, 1 tabel). Ændringer er f.eks. nødvendige i tabel 37 og 39. Desværre eksisterer dette modul endnu ikke som en udvidelse, men jeg forsøger at få det færdigt inden udgangen af juni.
Funktion: Moms-produktbogføringsgruppe trækkes i indkøbslinje (tabel 39) / salgslinje (tabel 37) afhængigt af bogføringsdatoen. Til dette formål er der en ny tabel Moms-produktbogføringsgruppe efter dato, hvor „Moms-produktbogføringsgruppe“, „Fra dato“, „Moms-produktbogføringsgruppe, der skal bruges“ er angivet. I salgs- og indkøbslinjen indtastes den korrekte produktbogføringsgruppe derefter automatisk afhængigt af bogføringsdatoen. Den korrekte moms-produktbogføringsgruppe indtastes også ved konvertering af tilbud og ved kopiering af dokumenter (både indkøbs- og salgssiden). Enhver pænt programmeret udvidelse bør fungere med det samme. Enhver upænt programmeret skal tilpasses tilsvarende.
Bookbar support
Hvis du har brug for min hjælp, bedes du give mig besked omfanget af den hjælp, du ønsker, senest 14 dage før omstillingen (helst: tidligere) om aftenen.
(Fakturering sker efter forbrug, værktøjerne leveret på siden ovenfor stilles gratis til rådighed)
[_] Jeg skal oprette de nye sachkonti for dig
... [_] og foretage de tilhørende bookinggrupper og deres opsætning
… [_]De nye konti vil blive givet mig af dig/din revisor
… [_]De nye materielle konti skal fastlægges af mig.
Jeg vil oprette et nyt bilag til test, både i EK og VK, med fire linjer:
én linje med gammel 19% skattesats, én linje med ny 16% skattesats, én linje med gammel 7% skattesats, én linje med ny 5% skattesats, og tjekke dette resultat.
[_] Jeg skal indlæse min momsomsætning for dig og foretage en grov justering.
(„Grov tilpasning“ betyder, at jeg sikrer, at den kan kompileres uden fejl, og at objekterne kan bruges efterfølgende. En fejlfri konvertering sikres eksplicit med dette trin ikke sikret. Dette sikres først efter bedste viden og overbevisning gennem den valgfri næste mulighed).
Jeg skal køre et testkørsel i din database på følgende mandanter:
(Sørg venligst for, at der er tilstrækkelig diskplads på din server til den/de ekstra kunde(r)!)
[_] Jeg skal køre en test med dine data på min computer med følgende mandanter:
Sørg venligst for, at der er tilstrækkelig lagerplads på din server til den nødvendige backup af din database. Jeg vil oprette backup'en, komprimere dataene med adgangskode og overføre dem til mig via en udbyder (f.eks. WeTransfer), og oprette et testmiljø her på min pc med disse aktuelle data.
Bemærkning til denne testkørsel:
Jeg vil fakturere alle salgsleverancer.
Jeg vil oprette tre prøvebilag i enten klienten/klienterne, et for indkøb og et for salg: Én, der ikke er leveret fuldstændigt. Denne skal konverteres fuldstændigt.
En komplet leveret og faktureret. Den skal ikke ændres.
En delvis levering, hvor der skal oprettes nye linjer for resterende varer.
Jeg vil oprette en ny post i Indkøb & Salg, med fire linjer, der selvfølgelig også vil blive kontrolleret. Dette vil også sikre, at de nødvendige kolonner til efterfakturering er synlige for dig.
En linje med gammel 19% skattesats, en linje med ny 16% skattesats, en linje med gammel 7% skattesats, en linje med ny 5% skattesats.
Bestanddel af denne testkørsel er en billedlig trin-for-trin vejledning med skærmbilleder fra DIT Navision med de nødvendige trin for den 30.6.2020 om aftenen.
De her trin fra denne vejledning skal du selv udføre, jeg kan desværre ikke foretage selve omstillingen for alle kunder på grund af tidsbegrænsninger.
Bemærkning 2: Jeg foretager naturligvis tilpasninger og kontroller som altid efter bedste evne og samvittighed. Som altid kan jeg naturligvis heller ikke denne gang garantere 100%% funktionalitet. Eventuelle nødvendige efterarbejder vil jeg naturligvis udføre hurtigst muligt til de sædvanlige betingelser. Sørg venligst for, at din data backup fungerer fejlfrit!
