Generated on April 19, 2017 7:54:54 AM CEST
e-dec Plausi-Rules Report: Easy
 
 
 
Package: plausi_ruleset_easy (108 rules)
  
  
 
Rule: K001 Anmeldungstyp = easy
  
Description:
Anmeldungstyp easy (6)
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the declarationType of HEADER is not 'the var_declarationType_easy_6' 
then
   'the result' .setHeaderError( "1" , 'the check header' , the name of this rule ) ;
  
  
 
Rule: K002a Versandvorgang Typ = Import
  
Description:
Versandvorgang Typ = Import (1)
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the serviceType of HEADER is not "1" 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K002b Veranlagungsort = Domizil
  
Description:
Veranlagungsort = Domizil (2)
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the clearancelocation of HEADER is not "2" 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K002c Veranlagungstyp
  
Description:
Veranlagungstyp = Normalveranlagung (1), zollfreie Veranlagung gem. ZG (7) oder abgabenfreie Veranlagung (8)
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the customsClearanceType of POSITION is not one of { "1" , "7" , "8" }
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K002d Erzeugungsland =DE
  
Description:
Erzeugungsland = DE
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the dispatchCountry of HEADER is not "DE" 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K002e Handelsware = nein (2)
  
Description:
Handelsware = nein (2)
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the commercialGood of POSITION is not "2" 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K002f Bewilligungspflichtcode = nicht pflichtig (0)
  
Description:
Bewilligungspflichtcode = nicht pflichtig (0)
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the permitObligation of POSITION is not "0" 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K002g Ware Warennummer = 9898 9898
  
Description:
Warennummer = 9898.9898 und Warenschluessel muss null oder 0 sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   ( the statisticalCode of POSITION isNotNull
   and the statisticalCode of POSITION is not 0 )
   or the commodityCode of POSITION is not "9898.9898" 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K002h NZE-Pflichtcode = nicht pflichtig (0)
  
Description:
NZE-Pflichtcode = nicht pflichtig (0)
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the nonCustomsLawObligation of POSITION is not "0" 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K002i Verpackungscode = PK (Packung-Packstuecke)
  
Description:
Verpackungscode = PK (Packung/Packstücke)
Status:
deployable
Locale:
en_US
 
definitions
   set 'PACKAGING' to a packaging ;
   set 'POSITION' to a position ;
if
   the packagingType of PACKAGING is not "PK" 
   and the positions nr of PACKAGING equals the positions nr of POSITION 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K003 Anmeldungszeitpunkt in Stammdaten
  
Description:
Gueltiger Anmeldungszeitpunkt gem. Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the declarationTime of HEADER is not null
   and the declarationTime of HEADER is not one of the refDeclarationTimes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K004 Berichtigungscode in Stammdaten
  
Description:
Gueltiger Berichtigungscode gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the correctionCode of HEADER is not null
   and the correctionCode of HEADER is not one of the refCorrectionCodes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K005 Berichtigungsgrund in Stammdaten
  
Description:
Gueltiger Berichtigungsgrund gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the correctionReason of HEADER is not null
   and the correctionReason of HEADER is not one of the refCorrectionReasons of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K006 Sprachencode in Stammdaten
  
Description:
Gueltiger Sprachencode gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the language of HEADER is not null
   and the language of HEADER is not one of the refLanguageCodes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check header' , the name of this rule ) ;
  
  
 
Rule: K007 Zollstellennummer in Stammdaten
  
Description:
Gueltige Zollstellennummer gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the customsOfficeNumber of HEADER is not null
   and the customsOfficeNumber of HEADER is not one of the refCustomsOfficeNumbers of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K008 Die Lagerbezeichnung Veranlagungsbelege Ladeort und Begründung nicht erlaubt
  
Description:
Die Felder Begründung Lagerbezeichnung, Veranlagungsbelege, Ladeort und Begründung dürfen nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the warehouseCoded of HEADER is not null
   or the injunctionType of HEADER is not null
   or the placeOfLoading of HEADER is not null
   or the reason of HEADER is not null
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K009 Verkehrszweig in Stammdaten
  
Description:
Gueltiger Verkehrszweig gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the transportMode of HEADER is not null
   and the transportMode of HEADER is not one of the refTransportModes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K010 Transportmitteltyp in Stammdaten
  
Description:
Gueltiger Transportmitteltyp gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the transportationType of HEADER is not null
   and the transportationType of HEADER is not one of the refTransportationTypes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K011 Transportmittelland in Stammdaten
  
Description:
Gueltiges Transportmittelland gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the transportationCountry of HEADER is not null
   and the transportationCountry of HEADER is not one of the refCountries of REFDATA 
   and the transportationCountry of HEADER is not one of { "FL" , "LI" }
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K012 Art Vorpapier in Stammdaten
  
Description:
Gueltige Arten Vorpapier gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data common ;
if
   plausi helpers.containsAll( the previousDocumentsType_Lists of HEADER , the refPreviousDocumentTypes of REFDATA ) is false 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K013 Versenderland in Stammdaten
  
Description:
Gueltiges Versenderland gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the consignorCountry of HEADER is not null
   and the consignorCountry of HEADER is not one of the refCountries of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K014 Importeurland in Stammdaten
  
Description:
Gueltiges Importeurland gem. Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the importerCountry of HEADER is not null
   and the importerCountry of HEADER is not one of the refCountries of REFDATA 
   and the importerCountry of HEADER is not one of { "LI" , "FL" }
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K015 ImporteurPLZ in Stammdaten
  
Description:
Gueltige Importeur-Postleitzahl gem. Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the importerPostalCode of HEADER is not null
   and the importerPostalCode of HEADER is not one of the refPostalCodes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K016 Empfaengerland in Stammdaten
  
Description:
Gueltiges Empfaengerland gem.  Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the consigneeCountry of HEADER is not null
   and the consigneeCountry of HEADER is not one of the refCountries of REFDATA 
   and the consigneeCountry of HEADER is not one of { "LI" , "FL" }
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K017 EmpfaengerPLZ in Stammdaten
  
Description:
Gueltige Empfaenger-Postleitzahl gem. Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the consigneePostalCode of HEADER is not null
   and the consigneePostalCode of HEADER is not one of the refPostalCodes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K018 Spediteur in Stammdaten
  
Description:
Gueltige Spediteurnummer gemäss Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the declarantTraderIdentificationNumber of HEADER is not null
   and the declarantTraderIdentificationNumber of HEADER is not one of the refTraderIdentificationNumbers of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K019 Deklarantennummer in Stammdaten
  
Description:
Gueltige Deklarantennummer gem. Stammdaten und fuer verwendete Spediteurnummer möglich.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the declarantNumber of HEADER is not null
   and the declarantNumber of HEADER is not one of the refDeclarantNumbers ( the declarantTraderIdentificationNumber of HEADER ) of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K020 Deklarantenland in Stammdaten
  
Description:
Gueltiges Deklarantenland gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the declarantCountry of HEADER is not null
   and the declarantCountry of HEADER is not one of the refCountries of REFDATA 
   and the declarantCountry of HEADER is not one of { "FL" , "LI" }
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K021 Incoterms in Stammdaten
  
Description:
Gueltige Incoterms gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the incoterms of HEADER is not null
   and the incoterms of HEADER is not one of the refIncoTerms of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K022 Konto Zoll
  
Description:
Konto Zoll muss eine gültige Kontonummer gem. Stammdaten sein. Die Kontonummer 0 (Barzahler) ist nicht erlaubt.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the customsAccount of HEADER isNotNull
   and the customsAccount of HEADER is not one of the refAccountNumbers of REFDATA 
   or 'the var_account_Barzahler_0' is the customsAccount of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K023 Konto MWST
  
Description:
Konto MWST muss eine gültige Kontonummer gem. Stammdaten sein. Die Kontonummer 0 (Barzahler) ist nicht erlaibt.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the VATAccount of HEADER isNotNull
   and the VATAccount of HEADER is not one of the refAccountNumbers of REFDATA 
   or 'the var_account_Barzahler_0' is the VATAccount of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K024 Ursprungsland in Stammdaten
  
Description:
Gueltiges Land gem. Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
   set 'REFDATA' to a ref data ;
if
   the originCountry of POSITION is not null
   and the originCountry of POSITION is not one of the refCountries of REFDATA 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K026 Zollnettogewicht und Lagercode nicht erlaubt
  
Description:
Die Felder Zollnettogewicht und Lagercode dürfen nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the storageType of POSITION is not null
   or the customsNetWeight of POSITION isNotNull
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K027 Art Unterlagencode in Stammdaten
  
Description:
Gueltige Art Unterlagencode gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
   set 'REFDATA' to a ref data ;
if
   plausi helpers.containsAll( the documentTypes of POSITION , the documentTypes of REFDATA ) is false 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K028 Bewilligung nicht erlaubt
  
Description:
Die Felder Bewilligungstyp, Bewilligungsstellencode, Reversart Tabak, Bewilligungsnummer, Bewilligungsdatum und zusätzliche Angaben dürfen nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'PERMIT' to a permit ;
if
   the permitType of PERMIT is not null
   or the permitAuthority of PERMIT is not null
   or the tobaccoPermitType of PERMIT is not null
   or the permitNumber of PERMIT is not null
   or the issueDate of PERMIT is not null
   or the additionalInformation of PERMIT is not null
then
   'the result' .setPositionError( the positions nr of PERMIT , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K029 NZE-Artencode nicht erlaubt
  
Description:
NZE-Artencode darf nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the number of elements in the nonCustomsLawTypes of POSITION is at least 1 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K030 Zoll - Mwst nicht erlaubt
  
Description:
Die Felder Nettoveranlagung, Tarazuschlag, Richtigcode Tarazuschlag und Zollbegünstigungscode dürfen nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   ( the netDuty of POSITION is not null
   and the netDuty of POSITION is not "0" )
   or the tareSupplement of POSITION isNotNull
   or ( the tareSupplementConfirmation of POSITION is not null
   and the tareSupplementConfirmation of POSITION is not "0" )
   or ( the customsFavourCode of POSITION is not null
   and the customsFavourCode of POSITION is not "0" )
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K031 MWST Code in Stammdaten
  
Description:
Gueltiger MWSt-Code gem. Stammdaten
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
   set 'REFDATA' to a ref data ;
if
   the VATCode of POSITION is not null
   and the VATCode of POSITION is not one of the refVATCodes of REFDATA 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K032 Mwst-Code bei TN 9898_9898
  
Description:
Wenn die TN 9898.9898 (checked in K002g) angemeldet wird, dann muss der MWST-Code 1 (Normalansatz: 8%), 2 (Reduzierteransatz:2.5%) oder 3 (Steuerfrei) sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the VATCode of POSITION is not one of { "1" , "2" , "3" }
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K033 Zusatzabgaben (Art Menge Schlüssel Volumenprozent Ansatz Richtigcode Ansatz)
  
Description:
Die Felder Zusatzabgaben (Art, Menge, Schlüssel, Volumenprozent, Ansatz, Richtigcode Ansatz) dürfen nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
   set 'ADDITIONALTAX' to an additional tax ;
if
   the type of ADDITIONALTAX isNotNull
   or the quantity of ADDITIONALTAX isNotNull
   or the key of ADDITIONALTAX isNotNull
   or the alcoholLevel of ADDITIONALTAX isNotNull
   or the rate of ADDITIONALTAX isNotNull
   or the rateConfirmation of ADDITIONALTAX isNotNull
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K034 Gebuehrenarten in Stammdaten
  
Description:
Gueltige Gebuehrenarten gem. Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
   set 'REFDATA' to a ref data ;
if
   plausi helpers.containsAll( the FeeTypes of POSITION , the refFeeTypes of REFDATA ) is false 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K036 Reparatur- und Veredelungsverkehr nicht erlaubt
  
Description:
Die Felder Verkehrsrichtung, Veredelungstyp, Verfahrenstyp, Abrechnugnstyp und Art der Ausbesserung duerfen nicht angemeldet werden (Rubrik Veredelung / Ausbesserung) und Das Flag Ausbesserung darf nicht gesetzt sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   any of the following conditions is true :
         - the direction of POSITION isNotNull
         - the refinementType of POSITION isNotNull
         - the processType of POSITION isNotNull
         - the billingType of POSITION isNotNull
         - ( the repairReason of POSITION isNotNull
         and 'the helper_def_empty_String' is not the repairReason of POSITION )
         - ( the repair of POSITION isNotNull
         and "0" is not the repair of POSITION ) ,
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K037 Zusatzinformationen nicht erlaubt
  
Description:
Die Felder Zusatzinformationen Name und Zusatzinformationen Wert duerfen nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'GOODS ITEM DETAIL' to a goods item detail ;
if
   the name of 'GOODS ITEM DETAIL' is not null
   or the code of 'GOODS ITEM DETAIL' is not null
then
   'the result' .setPositionError( the positions nr of 'GOODS ITEM DETAIL' , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K038a Dienststelle falsch
  
Description:
Gueltige Zollstellennummer
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the lastCorrectionCode of HEADER isNotNull
   and the customsOfficeNumber of HEADER isNotNull
   and the customsOfficeNumber of HEADER is not the lastVersionCustomsOfficeNumber of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_version' , the name of this rule ) ;
  
  
 
Rule: K038b Annullation
  
Description:
Zollanmeldung bereits annulliert
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_correctionCode_Annullation_0' is the lastCorrectionCode of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_version' , the name of this rule ) ;
  
  
 
Rule: K038c Versionsnummer falsch
  
Description:
Ungueltige Version der uebermittelten Einfuhrzollanmeldung
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the lastCorrectionCode of HEADER is null
   and the correctionCode of HEADER is one of { 'the var_correctionCode_Annullation_0' , 'the var_correctionCode_Korrektur_2' }
then
   'the result' .setHeaderError( "1" , 'the check_version' , the name of this rule ) ;
  
  
 
Rule: K039 Einfuhrzollanmeldung in Intervention
  
Description:
Wenn eine Einfuhrzollanmeldung in  Intervention ist, dann darf kein Berichtigungscode  0 oder 2 gesetzt sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header
      where the statusOfDeclaration of this header is not null ;
if
   the correctionCode of HEADER is not 'the var_correctionCode_Erstuebermittlung_1' 
   and the statusOfDeclaration of HEADER is "in Intervention" 
then
   'the result' .setHeaderError( "1" , 'the check_version' , the name of this rule ) ;
  
  
 
Rule: K040 Einfuhrzollanmeldung in Berechtigung
  
Description:
Wenn eine Einfuhrzollanmeldung in  Berichtigung ist, dann darf kein Berichtigungscode  0 oder 2 gesetzt sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_correctionCode_Erstuebermittlung_1' is not the correctionCode of HEADER 
   and "in Korrektur" is the statusOfDeclaration of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_version' , the name of this rule ) ;
  
  
 
Rule: K041 Einfuhrzollanmeldung in Berechtigungsanfrage
  
Description:
Wenn eine Einfuhrzollanmeldung in  wartend auf Akzeptanz ist, dann darf der Berichtigungscode nicht  0 (Annullation)  oder 2 (Berichtigung) sein.

correctionCode
0 = Annullation
1 = Erstübermittlung
2 = Berichtigung
3 = erneute Anforderung von Rückmeldung und PDF
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_correctionCode_Erstuebermittlung_1' is not the correctionCode of HEADER 
   and "wartend auf Akzeptanz" is the statusOfDeclaration of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_version' , the name of this rule ) ;
  
  
 
Rule: K042 Berichtigungsgrund
  
Description:
Wenn der Berichtigungcode gleich 0 (Annulation) oder gleich 2 (Berichtigung) ist , dann ist ein Berichtigungsgrund notwendig, sonst darf kein Berichtigungsgrund verwendet werden.
(correctionCode : 0 = Annullation / 1 = Erstübermittlung / 2 = Berichtigung / 3 = erneute Anforderung von Rückmeldung und PDF)
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   ( the correctionReason of HEADER isNull
   and the correctionCode of HEADER isNotNull
   and the correctionCode of HEADER is one of { 'the var_correctionCode_Annullation_0' , 'the var_correctionCode_Korrektur_2' } )
   or ( 'the var_correctionCode_Erstuebermittlung_1' is the correctionCode of HEADER 
   and the correctionReason of HEADER isNotNull )
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K043 Transportmitteltyp
  
Description:
Wenn der Verkehrszweig gleich 3 (Strassenverkehr) ist, dann muss der Transportmitteltyp gesetzt sein, sonst darf der Transportmitteltyp nicht verwendet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   ( the transportMode of HEADER is "3" 
   and the transportationType of HEADER is null )
   or ( the transportMode of HEADER is not "3" 
   and the transportationType of HEADER is not null )
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K044 Transportmittelland
  
Description:
Wenn der Verkehrszweig gleich 3  (Strassenverkehr) ist, dann muss das Transportmittelland angegeben sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   ( the transportationCountry of HEADER isNull
   or the transportationCountry of HEADER is 'the helper_def_Space_String' )
   and 'the var_transportMode_Strasse_3' is the transportMode of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K045 Transportmittelkennzeichen
  
Description:
Wenn der Verkehrszweig gleich 3 (Strassenverkehr) ist, dann muss das Transportmittelkennzeichen gesetzt sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   ( the transportationNumber of HEADER isNull
   or the transportationNumber of HEADER is 'the helper_def_Space_String' )
   and the transportMode of HEADER is "3" 
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K046 Spediteur ZE Status
  
Description:
Der Spediteur ZE-Status fuer die verwendete Zollstelle muss  1 sein.   
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   "1" is not REFDATA .getRefZEStatusDeclarant( the declarantTraderIdentificationNumber of HEADER )
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K047 Sperrcode Konto Zoll
  
Description:
Der Sperrcode fuers Konto darf nicht "1" sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   "1" is REFDATA .getRefLockCodeAccount( the customsAccount of HEADER )
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K048 Sperrcode Konto MWST
  
Description:
Der Sperrcode fuers Konto darf nicht "1" sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   "1" is REFDATA .getRefLockCodeAccount( the VATAccount of HEADER )
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K049 Empfaengerland CH
  
Description:
Das Empfaengerland muss CH oder FL oder LI sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the consigneeCountry of HEADER isNotNull
   and all of the following conditions are true :
         - the consigneeCountry of HEADER is not "CH" 
         - the consigneeCountry of HEADER is not "FL" 
         - the consigneeCountry of HEADER is not "LI" ,
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K050 Importeurland CH
  
Description:
Das Importeurland muss CH oder FL oder LI sein (ausser bei UC80).
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the importerCountry of HEADER is not null
   and the importerCountry of HEADER is not one of { "LI" , "CH" , "FL" }
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K051 VVM vor Abrechnung nicht definiert
  
Description:
Wenn Berichtigungscode 2 oder 0 (Annullierung oder Berichtigung), und Berichtigung vom Zoll vor Abrechung, dann darf VVM nicht neu ausgestellt werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the correctionCode of HEADER is one of { 'the var_correctionCode_Annullation_0' , 'the var_correctionCode_Korrektur_2' }
   and ( is correction from declarant of HEADER is false )
   and ( HEADER declaration state is/was 'abgerechnet' or 'korrigiert nach abrechnung' is false )
   and ( HEADER create new VAT debit isNotNull )
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K052 VVM nach Abrechnung definiert
  
Description:
Wenn Berichtigungscode 2 oder 0 (Annullierung oder Berichtigung), und Berichtigung vom Zoll nach Abrechung, dann muss angegeben werden, ob ein VVM neu ausgestellt werden soll oder nicht.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   HEADER create new VAT debit isNull
   and the correctionCode of HEADER is one of { 'the var_correctionCode_Annullation_0' , 'the var_correctionCode_Korrektur_2' }
   and ( is correction from declarant of HEADER is false )
   and ( HEADER declaration state is/was 'abgerechnet' or 'korrigiert nach abrechnung' is true )
then
   'the result' .setHeaderError( "1" , 'the check header' , the name of this rule ) ;
  
  
 
Rule: K053 Zollstellennummer erforderlich
  
Description:
Zollstellennummer ist zwingend anzugeben
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the customsOfficeNumber of HEADER is null
then
   'the result' .setHeaderError( "1" , 'the check_required_attributes' , the name of this rule ) ;
  
  
 
Rule: K054 Importeur erforderlich
  
Description:
Importeur ist zwingend anzugeben
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   HEADER has importer is false 
then
   'the result' .setHeaderError( "1" , 'the check_required_attributes' , the name of this rule ) ;
  
  
 
Rule: K055 Konto MWST und Konto Zoll sind erforderlich
  
Description:
Das Konto Zoll und Konto MWST ist zwingend anzugeben
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   any of the following conditions is true :
         - the VATAccount of HEADER isNull
         - the customsAccount of HEADER isNull
         - 'the helper_def_empty_String' is the VATAccount of HEADER 
         - 'the helper_def_empty_String' is the customsAccount of HEADER ,
then
   'the result' .setHeaderError( "1" , 'the check_required_attributes' , the name of this rule ) ;
  
  
 
Rule: K056 Zoll MWST Code und Zoll MWST Wert erforderlich
  
Description:
Der Zoll MWST Code und Zoll MWST Wert sind zwingend anzugeben
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the VATCode of POSITION isNull
   and the VATValue of POSITION isNull
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_required_attributes' , the name of this rule ) ;
  
  
 
Rule: K057 Gebuehrenart muss 150 sein
  
Description:
Gebuehrenart muss 150 sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
   set 'FEE' to a fee ;
if
   the type of FEE is not 150 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_fee' , the name of this rule ) ;
  
  
 
Rule: K058 Gebuehren vollstaendig
  
Description:
Wenn eine Gebuehr angegeben ist, dann muss die Art, die Menge und der Ansatz angegeben sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
   set 'FEE' to a fee ;
if
   ( the type of FEE isNotNull
   or ( the quantity of FEE isNotNull
   and the quantity of FEE is not 0 )
   or ( the rate of FEE isNotNull
   and ZERO is not the rate of FEE ) )
   and ( the type of FEE isNull
   or ( the quantity of FEE isNull
   or the quantity of FEE is 0 )
   or ( the rate of FEE isNull
   or ZERO is the rate of FEE ) )
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_fee' , the name of this rule ) ;
  
  
 
Rule: K059 Unterlagen bei Praeferenz
  
Description:
Wenn die Praeferenz gleich 1 ist, muss entweder der Unterlagencode 3, 861, 862, 865, 866 oder 954 angegeben sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   "1" is the preference of POSITION 
   and 'the var_documentType_Qualitätszeugnis_3' is not one of the documentTypes of POSITION 
   and 'the var_documentType_Ursprungszeugnis_861' is not one of the documentTypes of POSITION 
   and 'the var_documentType_Ursprungserklaerung_862' is not one of the documentTypes of POSITION 
   and 'the var_documentType_APS-Ursprungszeugnis_865' is not one of the documentTypes of POSITION 
   and 'the var_documentType_Statement_on_Origin_866' is not one of the documentTypes of POSITION 
   and 'the var_documentType_EUR1_Warenverkehrsbescheinigung_954' is not one of the documentTypes of POSITION 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_origin' , the name of this rule ) ;
  
  
 
Rule: K059 Unterlagen bei Praeferenz_old
  
Description:
Wenn die Praeferenz gleich 1 ist, muss entweder der Unterlagencode 3, 861, 862, 865 oder 954 angegeben sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   "1" is the preference of POSITION 
   and 'the var_documentType_Qualitätszeugnis_3' is not one of the documentTypes of POSITION 
   and 'the var_documentType_Ursprungszeugnis_861' is not one of the documentTypes of POSITION 
   and 'the var_documentType_Ursprungserklaerung_862' is not one of the documentTypes of POSITION 
   and 'the var_documentType_APS-Ursprungszeugnis_865' is not one of the documentTypes of POSITION 
   and 'the var_documentType_EUR1_Warenverkehrsbescheinigung_954' is not one of the documentTypes of POSITION 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_origin' , the name of this rule ) ;
  
  
 
Rule: K060a Richtigcode bei Unterlagen ohne Praeferenz
  
Description:
Wenn Art-Unterlagencode = 865 (APS), 866 (SoO), 954 (EUR.1), 862 (Ursprungserklaerung), 861 (Ursprungszeugnis) oder 3 (Qualitaetszeugnis), dann muss die Praeferenz = 1 (ja) sein, ausser der Richtigcode Praeferenz ist gesetzt.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   "1" is not the preference of POSITION 
   and "1" is not the preferenceConfirmation of POSITION 
   and any of the following conditions is true :
         - 'the var_documentType_Qualitätszeugnis_3' is one of the documentTypes of POSITION 
         - 'the var_documentType_Ursprungszeugnis_861' is one of the documentTypes of POSITION 
         - 'the var_documentType_Ursprungserklaerung_862' is one of the documentTypes of POSITION 
         - 'the var_documentType_APS-Ursprungszeugnis_865' is one of the documentTypes of POSITION 
         - 'the var_documentType_Statement_on_Origin_866' is one of the documentTypes of POSITION 
         - 'the var_documentType_EUR1_Warenverkehrsbescheinigung_954' is one of the documentTypes of POSITION ,
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_origin' , the name of this rule ) ;
  
  
 
Rule: K060a Richtigcode bei Unterlagen ohne Praeferenz_old
  
Description:
Wenn Art-Unterlagencode = 865 (APS), 954 (EUR.1), 862 (Ursprungserklaerung), 861 (Ursprungszeugnis) oder 3 (Qualitaetszeugnis), dann muss die Praeferenz = 1 (ja) sein, ausser der Richtigcode Praeferenz ist gesetzt.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   "1" is not the preference of POSITION 
   and "1" is not the preferenceConfirmation of POSITION 
   and any of the following conditions is true :
         - 'the var_documentType_Qualitätszeugnis_3' is one of the documentTypes of POSITION 
         - 'the var_documentType_Ursprungszeugnis_861' is one of the documentTypes of POSITION 
         - 'the var_documentType_Ursprungserklaerung_862' is one of the documentTypes of POSITION 
         - 'the var_documentType_APS-Ursprungszeugnis_865' is one of the documentTypes of POSITION 
         - 'the var_documentType_EUR1_Warenverkehrsbescheinigung_954' is one of the documentTypes of POSITION ,
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_origin' , the name of this rule ) ;
  
  
 
Rule: K060b Richtigcode ohne Praeferenz ohne Unterlagen
  
Description:
Wenn Präferenz = 0, null (nicht gesetzt) und Richtigcode Präferenz = 1 (ja), dann muessen Unterlagen vorgelegt werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   "1" is not the preference of POSITION 
   and "1" is the preferenceConfirmation of POSITION 
   and 0 is the number of elements in the documentTypes of POSITION 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_origin' , the name of this rule ) ;
  
  
 
Rule: K061 Vorgelegte Unterlagen vollstaendig
  
Description:
Wenn Art-Unterlagencode = 865 (APS), 866 (SoO), 954 (EUR.1), 862 (Ursprungserklaerung), 861 (Ursprungszeugnis) oder 3 (Qualitaetszeugnis), dann muessen Datum und Referenz der Dokumente angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'PRODUCEDDOCUMENTS' to a produced documents
      where the documentType of this produced documents is not null ;
if
   ( any of the following conditions is true :
         - 'the var_documentType_Qualitätszeugnis_3' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_Ursprungszeugnis_861' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_Ursprungserklaerung_862' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_APS-Ursprungszeugnis_865' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_Statement_on_Origin_866' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_EUR1_Warenverkehrsbescheinigung_954' is the documentType of PRODUCEDDOCUMENTS , )
   and ( ( the issueDate of PRODUCEDDOCUMENTS isNull
   or the issueDate of PRODUCEDDOCUMENTS is 'the helper_def_Space_String' )
   or ( the documentReferenceNumber of PRODUCEDDOCUMENTS isNull
   or the documentReferenceNumber of PRODUCEDDOCUMENTS is 'the helper_def_Space_String' ) )
then
   'the result' .setPositionError( the positions nr of PRODUCEDDOCUMENTS , "1" , 'the check_origin' , the name of this rule ) ;
  
  
 
Rule: K061 Vorgelegte Unterlagen vollstaendig_old
  
Description:
Wenn Art-Unterlagencode = 865 (APS), 954 (EUR.1), 862 (Ursprungserklaerung), 861 (Ursprungszeugnis) oder 3 (Qualitaetszeugnis), dann muessen Datum und Referenz der Dokumente angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'PRODUCEDDOCUMENTS' to a produced documents
      where the documentType of this produced documents is not null ;
if
   ( any of the following conditions is true :
         - 'the var_documentType_Qualitätszeugnis_3' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_Ursprungszeugnis_861' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_Ursprungserklaerung_862' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_APS-Ursprungszeugnis_865' is the documentType of PRODUCEDDOCUMENTS 
         - 'the var_documentType_EUR1_Warenverkehrsbescheinigung_954' is the documentType of PRODUCEDDOCUMENTS , )
   and ( ( the issueDate of PRODUCEDDOCUMENTS isNull
   or the issueDate of PRODUCEDDOCUMENTS is 'the helper_def_Space_String' )
   or ( the documentReferenceNumber of PRODUCEDDOCUMENTS isNull
   or the documentReferenceNumber of PRODUCEDDOCUMENTS is 'the helper_def_Space_String' ) )
then
   'the result' .setPositionError( the positions nr of PRODUCEDDOCUMENTS , "1" , 'the check_origin' , the name of this rule ) ;
  
  
 
Rule: K062 Zollbeguenstigung nicht moeglich
  
Description:
Wenn Veranlagungstyp nicht gleich 10 oder 11 und Ursprungsland enthalten in (CH, FL, LI) dann darf keine Praeferenz angegeben werden.

Veranlagungstypen:
1: Normalabfertigung
2: Veredelungsverkehr
3: Ausbesserungsverkehr
4: Rückwaren
5: Zollerleichterung
6: Tabak
7: Zollfreie Abfertigung gem. ZG
8: Abgabenfreie Veranlagung
9: Sonderfälle
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the customsClearanceType of POSITION is not one of { "10" , "11" }
   and the originCountry of POSITION is one of { "CH" , "FL" , "LI" }
   and the preference of POSITION is "1" 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_detail_cross' , the name of this rule ) ;
  
  
 
Rule: K063 Zollansatz
  
Description:
Der Zollansatz muss Fr. 0.- und der Richtigcode Zollansatz 0 sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   ( the rate of POSITION isNotNull
   and the rate of POSITION is not ZERO )
   or ( the rateConfirmation of POSITION isNotNull
   and the rateConfirmation of POSITION is not "0" )
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K064 GesamtMWST-Wert
  
Description:
Der MWST-Wert aller Positionen muss kleiner gleich CHF 1000.- sein
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the amount of the sumOfVATValue of HEADER isNotNull
   and the amount of the sumOfVATValue of HEADER is more than the amount of ONETHOUSAND 
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K065 Spediteurnummer nicht 5906
  
Description:
Die Spediteurnummer 5906 darf nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the declarantTraderIdentificationNumber of HEADER is one of { "5906" }
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K066 GesamtRohmasse
  
Description:
Die Rohmasse aller Positionen muss kleiner gleich 1000kg sein
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the sumOfGrossMass of HEADER isNotNull
   and the sumOfGrossMass of HEADER is more than 1000 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K068a Detail ID und Positionen
  
Description:
Die Detail-ID muss pro Zollanmeldung und Version eindeutig vergeben sein und es muss mindestens eine Position vorhanden sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'POSITION' to a position ;
if
   ( the detail ID of POSITION isNull
   or the detail ID of POSITION is 'the helper_def_Space_String' )
   or ( 'the var_correctionCode_Erstuebermittlung_1' is the correctionCode of HEADER 
   and detail IDs are unique of HEADER is false )
   or ( 'the var_correctionCode_Korrektur_2' is the correctionCode of HEADER 
   and is correction from declarant of HEADER is true 
   and detail IDs are unique of HEADER is false )
then
   'the result' .setHeaderError( "1" , 'the check_detail_cross' , the name of this rule ) ;
  
  
 
Rule: K070 MWST-Wert Statistischer Wert
  
Description:
Wenn der Richtigcode MWSt-Wert gleich 0 und der statischer Wert nicht gleich 0 ist, dann muss der MWSt-Wert groesser oder gleich dem statistischen Wert und kleiner oder gleich dreimal dem statistischen Wert sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position
      where the VATValue of this position isNotNull ;
if
   ( the VATValueConfirmation of POSITION isNull
   or "0" is the VATValueConfirmation of POSITION )
   and ZERO is not the statisticalValue of POSITION 
   and ( the amount of the VATValue of POSITION is less than the amount of the statisticalValue of POSITION 
   or the amount of the VATValue of POSITION is more than ( the amount of the statisticalValue of POSITION * 'the helper_def_int_3' ) )
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_statistics' , the name of this rule ) ;
  
  
 
Rule: K071 Rohmasse - Eigenmasse
  
Description:
Wenn der Richtigcode Rohmasse gleich 0 ist und die Eigenmasse kleiner oder gleich 10, dann muss die Rohmasse groesser oder gleich Eigenmasse und kleiner oder gleich 25-mal Eigenmasse sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position
      where the netMass of this position isNotNull
         and the grossMass of this position isNotNull ;
if
   ( ( the netMass of POSITION is at most 'the helper_def_int_10' 
   and the grossMass of POSITION is more than ( the netMass of POSITION * 'the helper_def_int_25' ) )
   or ( the netMass of POSITION is more than 'the helper_def_int_10' 
   and the grossMass of POSITION is more than ( the netMass of POSITION * 'the helper_def_float_2_5' ) )
   or the grossMass of POSITION is less than the netMass of POSITION )
   and ( the grossMassConfirmation of POSITION isNull
   or the grossMassConfirmation of POSITION is "0" )
   and the netMass of POSITION is not 0 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_statistics' , the name of this rule ) ;
  
  
 
Rule: K072 Nullwert MWST Wert
  
Description:
Wenn der MWST-Wert = (0 oder null) dann ist das ein Fehler.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the VATValue of POSITION isNull
   or the VATValue of POSITION is ZERO 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_statistics' , the name of this rule ) ;
  
  
 
Rule: K073 Nullwerte Rohmasse
  
Description:
Wenn die Rohmasse = (0 oder nulll) dann ist dies ein Fehler.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the grossMass of POSITION isNull
   or the grossMass of POSITION is 0 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_statistics' , the name of this rule ) ;
  
  
 
Rule: K074 Container
  
Description:
Wenn der Container gleich 1 ist, dann ist die Containernummer anzugeben, sonst darf die Containernummer nicht angegeben sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   ( 'the var_transportMean_inContainer_nein_0' is the transportInContainer of HEADER 
   and the number of elements in the containerNumbers of HEADER is more than 0 )
   or ( 'the var_transportMean_inContainer_ja_1' is the transportInContainer of HEADER 
   and the number of elements in the containerNumbers of HEADER is 0 )
   or ( 'the var_transportMean_inContainer_ja_1' is the transportInContainer of HEADER 
   and ( the containerNumbers of HEADER contain " " 
   or the containerNumbers of HEADER contain "" ) )
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K075 Anmeldungszeitpunkt darf nicht 3 sein
  
Description:
Der Anmeldezeitpunkt darf nicht 3 (nachtraegliche Anmeldung) sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_declarationTime_nachtraeglicheAnmeldung_3' is the declarationTime of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_statistics' , the name of this rule ) ;
  
  
 
Rule: K076 Veranlagungstyp 8 dann MWST-Code 3
  
Description:
Wenn der Veranlagungstyp 8 (abgabenfrei) ist, dann muss der MWST-Code 3 (0% - steuerfrei) sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   'the var_customsClearanceType_AbgabeFrei_8' is the customsClearanceType of POSITION 
   and 'the var_VATCode_Steuerfrei_3' is not the VATCode of POSITION 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K077 RmbType nach Abrechnung definiert
  
Description:
Bei Berichtigungen nach Abrechnung (Phase 2) muss das Feld "Rechtsmittelbelehrung" definiert werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_correctionCode_Korrektur_2' is the correctionCode of HEADER 
   and is correction from declarant of HEADER is false 
   and HEADER declaration state is/was 'abgerechnet' or 'korrigiert nach abrechnung' is true 
   and the rmb type of HEADER is not one of { "0" , "1" }
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K078 Rohmasse mit drei Stellen nach dem Komma
  
Description:
Wenn die Rohmasse 3 Stellen nach dem Komma hat, muessen die letzten 2 Stellen 0 sein. Also xxx.x00.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   import gross mass pattern of POSITION is like xx.x00 is false 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_statistics' , the name of this rule ) ;
  
  
 
Rule: K079 Packstuecke
  
Description:
PACKSTUECKE Zeichen (Nummer) Packstuecke = muss angegeben werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'PACKAGING' to a packaging ;
if
   the packagingReference of PACKAGING isNull
   or 'the helper_def_Space_String' is the packagingReference of PACKAGING 
   or 'the helper_def_empty_String' is the packagingReference of PACKAGING 
then
   'the result' .setPositionError( the positions nr of PACKAGING , "1" , 'the check_statistics' , the name of this rule ) ;
  
  
 
Rule: K080 Meldestellencode nicht erlaubt
  
Description:
Meldestellencode darf nicht angemeldet werden.
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the number of elements in the notificationCodes of POSITION is not 0 
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_reference_data' , the name of this rule ) ;
  
  
 
Rule: K081 Version kleiner 98
  
Description:
Wenn die Vorversion >= 98 ist und die eingehende Deklaration ist keine Annulation, dann Fehler.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_correctionCode_Annullation_0' is not the correctionCode of HEADER 
   and the lastVersionNumber of HEADER greaterOrEqual 98 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K082 Ursprung und Praeferenz sind erforderlich
  
Description:
Das Ursprungsland und die Präferenz sind zwingend anzugeben
Status:
deployable
Locale:
en_US
 
definitions
   set 'POSITION' to a position ;
if
   the originCountry of POSITION is null
   or the preference of POSITION is null
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_required_attributes' , the name of this rule ) ;
  
  
 
Rule: K083a Ueberpruefung nichtverwendbarer Felder
  
Description:
ENTITY  Attributes nicht verwendbar
Ladeort
Bestimmungsland
Bewilligter Warenort
Transfer ins Transit System
UCR
Security
Kennnummer für besondere Umstände
Transporteur/Name
Transporteur/Strasse und Hausnummer
Transporteur/Address Zusatz 1
Transporteur/Address Zusatz 2
Transporteur/Postleitzahl
Transporteur/Stadt
Transporteur/Land
Transporteur/TIN Nr Transporteur
Transporteur/Transporteurreferenz
EMPFINDLICHE WARE/Warencode
EMPFINDLICHE WARE/Menge
Rückerstattung/Rückerstattungstyp
Rückerstattung/VOC Menge
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header
      where the acceptanceDate of this header isNotNull
         and the acceptanceDate of this header is after or the same as 12/31/2011 ;
if
   ( the placeOfLoading of HEADER isNotNull
   and 'the helper_def_empty_String' is not the placeOfLoading of HEADER )
   or ( the deliveryDestination of HEADER isNotNull
   and 'the helper_def_empty_String' is not the deliveryDestination of HEADER )
   or ( the agreedLocationOfGoods of HEADER isNotNull
   and 'the helper_def_empty_String' is not the agreedLocationOfGoods of HEADER )
   or ( the transferToTransitSystem of HEADER isNotNull
   and 'the helper_def_empty_String' is not the transferToTransitSystem of HEADER )
   or ( the uniqueConsignmentReferenceNumber of HEADER isNotNull
   and 'the helper_def_empty_String' is not the uniqueConsignmentReferenceNumber of HEADER )
   or ( the security of HEADER isNotNull
   and 'the helper_def_empty_String' is not the security of HEADER )
   or ( the specificCircumstanceIndicator of HEADER isNotNull
   and 'the helper_def_empty_String' is not the specificCircumstanceIndicator of HEADER )
   or ( the carrierName of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierName of HEADER )
   or ( the carrierStreet of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierStreet of HEADER )
   or ( the carrierAddressSupplement1 of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierAddressSupplement1 of HEADER )
   or ( the carrierAddressSupplement2 of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierAddressSupplement2 of HEADER )
   or ( the carrierPostalCode of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierPostalCode of HEADER )
   or ( the carrierCity of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierCity of HEADER )
   or ( the carrierCountry of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierCountry of HEADER )
   or ( the carrierTraderIdentificationNumber of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierTraderIdentificationNumber of HEADER )
   or ( the carrierReference of HEADER isNotNull
   and 'the helper_def_empty_String' is not the carrierReference of HEADER )
   or ( HEADER has consignor security is true )
   or ( HEADER has consignee security is true )
   or ( the companyNumberTaxpayer of HEADER isNotNull
   and 'the helper_def_empty_String' is not the companyNumberTaxpayer of HEADER )
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
  
  
 
Rule: K083b Ueberpruefung nichtverwendbarer Felder
  
Description:
ENTITY  Attributes nicht verwendbar
Ladeort
Bestimmungsland
Bewilligter Warenort
Transfer ins Transit System
UCR
Security
Kennnummer für besondere Umstände
Transporteur/Name
Transporteur/Strasse und Hausnummer
Transporteur/Address Zusatz 1
Transporteur/Address Zusatz 2
Transporteur/Postleitzahl
Transporteur/Stadt
Transporteur/Land
Transporteur/TIN Nr Transporteur
Transporteur/Transporteurreferenz
EMPFINDLICHE WARE/Warencode
EMPFINDLICHE WARE/Menge
Rückerstattung/Rückerstattungstyp
Rückerstattung/VOC Menge
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'POSITION' to a position
      where the acceptanceDate of HEADER isNotNull
         and the acceptanceDate of HEADER is after or the same as 12/31/2011 ;
if
   ( the refundType of POSITION isNotNull
   and "" is not the refundType of POSITION )
   or ( the VOCquantity of POSITION isNotNull
   and 0 is not the VOCquantity of POSITION )
   or ( the UNDangerousGoodsCode of POSITION isNotNull
   and 'the helper_def_empty_String' is not the UNDangerousGoodsCode of POSITION )
then
   'the result' .setPositionError( the positions nr of POSITION , "1" , 'the check_other_data' , the name of this rule ) ;
  
  
 
Rule: K083c Ueberpruefung nichtverwendbarer Felder
  
Description:
ENTITY  Attributes nicht verwendbar
Ladeort
Bestimmungsland
Bewilligter Warenort
Transfer ins Transit System
UCR
Security
Kennnummer für besondere Umstände
Transporteur/Name
Transporteur/Strasse und Hausnummer
Transporteur/Address Zusatz 1
Transporteur/Address Zusatz 2
Transporteur/Postleitzahl
Transporteur/Stadt
Transporteur/Land
Transporteur/TIN Nr Transporteur
Transporteur/Transporteurreferenz
EMPFINDLICHE WARE/Warencode
EMPFINDLICHE WARE/Menge
Rückerstattung/Rückerstattungstyp
Rückerstattung/VOC Menge
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'SENSIBLE_GOOD' to a sensible good
      where the acceptanceDate of HEADER isNotNull
         and the acceptanceDate of HEADER is after or the same as 12/31/2011 ;
if
   ( the code of SENSIBLE_GOOD isNotNull
   and 0 is not the code of SENSIBLE_GOOD )
   or SENSIBLE_GOOD has quantity
then
   'the result' .setPositionError( the positions nr of SENSIBLE_GOOD , "1" , 'the check_other_data' , the name of this rule ) ;
  
  
 
Rule: K084 Rechnungswaehrungscode
  
Description:
Gueltiger Rechnungswaehrungscode gemaess Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
   set 'REFDATA' to a ref data ;
if
   the invoiceCurrencyType of HEADER isNotNull
   and the invoiceCurrencyType of HEADER is not one of the refInvoiceCurrencyTypes of REFDATA 
then
   'the result' .setHeaderError( "1" , 'the check_reference_data' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_business_invoiceCurrencyType' , the name of this rule ) ;
  
  
 
Rule: K085 Veranlagungsort 5 darf nicht veraendert werden
  
Description:
Gueltiger Rechnungswaehrungscode gemaess Stammdaten.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   ( 'the var_correctionCode_Annullation_0' is the correctionCode of HEADER 
   or 'the var_correctionCode_Korrektur_2' is the correctionCode of HEADER )
   and 'the var_clearanceLocation_e_dec_web_5' is the clearancelocationPreviousVersion of HEADER 
   and 'the var_clearanceLocation_e_dec_web_5' is not the clearancelocation of HEADER 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_correctionCode' , the name of this rule ) ;
  
  
 
Rule: K086 Samnaun Empfaenger PLZ
  
Description:
WENN ServiceType = 1 (Import)                     
UND Empfänger PLZ = 7562 oder 7563              
DANN Fehler
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   the consigneePostalCode of HEADER isNotNull
   and the consigneePostalCode of HEADER is one of { "7562" , "7563" }
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_consignee_postalCode' , the name of this rule ) ;
  
  
 
Rule: K088 Vorpapier Art = BAMU (Bandveranlagung Mülligen Urdorf)
  
Description:
WENN das Feld Vorpapier Art = BAMU (Identifikation Postverkehr) angemeldet wird                                                                               
DANN muss die Spediteurnummer berechtigt sein                                                                               
SONST Fehler
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_artenVorpapier_BAMU' is one of the previousDocumentsType_Lists of HEADER 
   and the declarantTraderIdentificationNumber of HEADER is not one of { 'the var_UID_002' , 'the var_UID_003' , 'the var_UID_004' , 'the var_UID_005' , 'the var_UID_006' , 'the var_UID_007' , 'the var_UID_008' , 'the var_UID_009' , 'the var_UID_010' , 'the var_UID_011' , 'the var_UID_012' , 'the var_UID_013' , 'the var_UID_014' , 'the var_UID_015' , 'the var_UID_016' , 'the var_UID_017' , 'the var_UID_018' , 'the var_UID_019' , 'the var_UID_020' , 'the var_UID_021' , 'the var_UID_022' , 'the var_UID_023' , 'the var_UID_024' , 'the var_UID_025' , 'the var_UID_026' , 'the var_UID_027' , 'the var_UID_028' , 'the var_UID_029' , 'the var_UID_030' , 'the var_UID_031' }
then
   'the result' .setHeaderError( "1" , 'the check header' , the name of this rule ) ;
  
  
 
Rule: K089 Vorpapierart = BAMU nur einmal
  
Description:
Vorpapier Art = BAMU (Bandveranlagung Mülligen Urdorf) darf nur einmal pro Einfuhrzollanmeldung verwendet werden (BAMU in Grossbuchstaben)
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   false is plausi helpers.containsAtMostOnce( the previousDocumentsType_Lists of HEADER , "BAMU" )
then
   'the result' .setHeaderError( "1" , 'the check_dependency' , the name of this rule ) ;
  
  
 
Rule: K090 ZE muss Rolle ZE haben
  
Description:
Es wird geprüft, ob der gemeldete ZE in der ZKV die Rolle ZE hat. Zu prüfen ist dies mit der UID (Feld <TraderIdentificationNumber> im ZE-Adressblock.
Status:
deployable
Locale:
en_US
 
definitions
   set 'REFDATA' to a ref data ;
   set 'HEADER' to a header ;
if
   HEADER is has zugelassener empfaenger is true 
   and REFDATA .hasZugelassenerEmpfaengerWithZERole is false 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_authorizedConsignee_traderIdentificationNumber' , the name of this rule ) ;
  
  
 
Rule: K091 ZO muss dem ZE zugewiesen sein
  
Description:
WENN ZO != CH00906ZO9999N000001 (Pseudo Code)
DANN wird geprüft, ob in der ZKV der ZO dem ZE zugewiesen ist
UND es wird in ZKV geprüft, ob die deklarierte Zollstelle der Kontrollzoll-stelle entspricht, welcher gem. ZKV der ZO zugewiesen ist.
Status:
deployable
Locale:
en_US
 
definitions
   set 'REFDATA' to a ref data ;
   set 'HEADER' to a header
      where "CH009006ZO9999N000001" is not the placeOfUnloading of this header 
         and the placeOfUnloading of this header isNotNull
         and 'the helper_def_empty_String' is not the placeOfUnloading of this header ;
if
   REFDATA .isValidZOforZE( the placeOfUnloading of HEADER ) is false 
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_placeOfUnloading' , the name of this rule ) ;
  
  
 
Rule: K092 Veranlagungsort beim ZE obligatorisch
  
Description:
Der ZE muss in der Rubrik Abladeort der EZA immer den Abladeort eingeben.

WENN Versandvorgang Typ = 1 (Import)  
UND Veranlagungsort = 2 "Domizil" 
DANN ist die Angabe des Abladeortes obligatorisch 
SONST Fehler 

Regel ist nur aktiv für Deklarationen mit Annahmedatum ab 28.10.2012.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header
      where the acceptanceDate of this header isNotNull
         and the acceptanceDate of this header is after or the same as 10/28/2012 ;
if
   the clearancelocation of HEADER isNotNull
   and the clearancelocation of HEADER is 'the var_clearanceLocation_Domizil_2' 
   and the placeOfUnloading of HEADER isNull
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_placeOfUnloading' , the name of this rule ) ;
  
  
 
Rule: K093 OHC Pruefung auf Strasse und TIN bei ZE
  
Description:
WENN Veranlagungsort = 2 (Domizil)
DANN muss der Adressblock <ZE> ausgefüllt sein
UND das Feld <TraderIdentificationNumber> sowie das Feld <Strasse> im ZE-Adressblock müssen ausgefüllt sein.
SONST Fehler.
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header
      where 'the var_clearanceLocation_Domizil_2' is the clearancelocation of this header ;
if
   any of the following conditions is true :
         - ( the authorizedConsigneeTraderIdentificationNumber of HEADER isNull
         or 'the helper_def_empty_String' is the authorizedConsigneeTraderIdentificationNumber of HEADER )
         - ( the authorizedConsigneeStreet of HEADER isNull
         or 'the helper_def_empty_String' is the authorizedConsigneeStreet of HEADER )
         - ( the authorizedConsigneeCity of HEADER isNull
         or 'the helper_def_empty_String' is the authorizedConsigneeCity of HEADER )
         - ( the authorizedConsigneePostalCode of HEADER isNull
         or 'the helper_def_empty_String' is the authorizedConsigneePostalCode of HEADER )
         - ( the authorizedConsigneeCountry of HEADER isNull
         or 'the helper_def_empty_String' is the authorizedConsigneeCountry of HEADER )
         - ( the authorizedConsigneeName of HEADER isNull
         or 'the helper_def_empty_String' is the authorizedConsigneeName of HEADER ) ,
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_authorizedConsignee_traderIdentificationNumber' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_authorizedConsignee_street' , the name of this rule ) ;
  
  
 
Rule: K094 Importeur UID Ueberpruefung fuer GSD
  
Description:
Eine UID im Feld traderIdentificationNumber Importeur, die im Format CHE...9 ist, muss gemäss Stammdaten gültig sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'AREFDATA' to an abstract ref data ;
   set 'HEADER' to a header ;
   set 'TIN' to the importerTraderIdentificationNumber of HEADER ;
   set 'nullString' to null string ;
if
   any of the following conditions is true :
         - ( the acceptanceDate of HEADER is after or the same as 1/1/2016 
         and TIN isNull )
         - ( the acceptanceDate of HEADER is after or the same as 1/1/2016 
         and 'the helper_def_empty_String' is TIN )
         - ( the acceptanceDate of HEADER is after or the same as 1/1/2016 
         and AREFDATA .allDeclarationUidsValid( nullString , nullString , nullString , nullString , nullString , nullString , TIN , the acceptanceDate of HEADER , true ) is false ) ,
then
   'the result' .setHeaderError( "1" , 'the check header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_importer_traderIdentificationNumber' , the name of this rule ) ;
  
  
 
Rule: K095 Empfaenger UID Ueberpruefung fuer GSD
  
Description:
Eine UID im Feld traderIdentificationNumber Empfaenger, die im Format CHE...9 ist, muss gemäss Stammdaten gültig sein.
Status:
deployable
Locale:
en_US
 
definitions
   set 'AREFDATA' to an abstract ref data ;
   set 'HEADER' to a header ;
   set 'TIN' to the consigneeTraderIdentificationNumber of HEADER ;
   set 'nullString' to null string ;
if
   any of the following conditions is true :
         - ( the acceptanceDate of HEADER is after or the same as 1/1/2016 
         and TIN isNull )
         - ( the acceptanceDate of HEADER is after or the same as 1/1/2016 
         and 'the helper_def_empty_String' is TIN )
         - ( the acceptanceDate of HEADER is after or the same as 1/1/2016 
         and AREFDATA .allDeclarationUidsValid( nullString , nullString , TIN , nullString , nullString , nullString , nullString , the acceptanceDate of HEADER , true ) is false ) ,
then
   'the result' .setHeaderError( "1" , 'the check header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_consignee_traderIdentificationNumber' , the name of this rule ) ;
  
  
 
Rule: K096 Erstuebermittlung Spediteurnummer
  
Description:
WENN Korrekturcode = 1 (Erstübermittlung)
UND dann muss die Spediteurnummer mit CHE beginnen
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_correctionCode_Erstuebermittlung_1' is the correctionCode of HEADER 
   and the declarantTraderIdentificationNumber of HEADER does not start with "CHE" 
   and the declarantTraderIdentificationNumber of HEADER is not one of { "9930" , "9130" , "9131" , "9132" , "9133" , "9929" , "1000067" , "1000068" , "1000121" , "1000900" , "1000901" }
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_declarant_traderIdentificationNumber' , the name of this rule ) ;
  
  
 
Rule: K096 Erstuebermittlung Spediteurnummer_old
  
Description:
WENN Korrekturcode = 1 (Erstübermittlung)
UND dann muss die Spediteurnummer mit CHE beginnen
Status:
deployable
Locale:
en_US
 
definitions
   set 'HEADER' to a header ;
if
   'the var_correctionCode_Erstuebermittlung_1' is the correctionCode of HEADER 
   and the declarantTraderIdentificationNumber of HEADER does not start with "CHE" 
   and the declarantTraderIdentificationNumber of HEADER is not one of { "9930" , "9130" , "9131" , "9132" , "9133" , "9929" }
then
   'the result' .setHeaderError( "1" , 'the check_other_header' , the name of this rule ) ;
   'the result' .appendReferencedElement( 'the ref_declarant_traderIdentificationNumber' , the name of this rule ) ;