Skip to content

Commit a743465

Browse files
committed
Added France Extended CTC Invoice rules
1 parent 226360d commit a743465

3 files changed

Lines changed: 43 additions & 2 deletions

File tree

Binary file not shown.

phive-rules-france/src/main/java/com/helger/phive/france/FranceCTCValidation.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,16 @@ public final class FranceCTCValidation
7878
"cdar",
7979
"1.3.0");
8080

81+
public static final DVRCoordinate VID_FR_EXTENDED_CTC_UBL_INV_1_3_0 = PhiveRulesHelper.createCoordinate (GROUP_ID,
82+
"extended-ubl-invoice",
83+
"1.3.0");
84+
public static final DVRCoordinate VID_FR_EXTENDED_CTC_UBL_CN_1_3_0 = PhiveRulesHelper.createCoordinate (GROUP_ID,
85+
"extended-ubl-creditnote",
86+
"1.3.0");
87+
public static final DVRCoordinate VID_FR_EXTENDED_CTC_CII_1_3_0 = PhiveRulesHelper.createCoordinate (GROUP_ID,
88+
"extended-cii",
89+
"1.3.0");
90+
8191
private FranceCTCValidation ()
8292
{}
8393

@@ -203,6 +213,31 @@ public static void initFranceCTC (@NonNull final IValidationExecutorSetRegistry
203213
PhiveRulesCIIHelper.createXSLT_CII_D22B (new ClassPathResource (sPrefix0 +
204214
"20260216_BR-FR-CDV-Schematron-CDAR_V1.3.0.xslt",
205215
_getCL ()))));
216+
// Extended
217+
aRegistry.registerValidationExecutorSet (ValidationExecutorSet.create (VID_FR_EXTENDED_CTC_UBL_INV_1_3_0,
218+
"France Extended CTC Invoice " +
219+
VID_FR_EXTENDED_CTC_UBL_INV_1_3_0.getVersionString (),
220+
PhiveRulesHelper.createSimpleStatus (bNotDeprecated),
221+
ValidationExecutorXSD.create (UBL21Marshaller.getAllInvoiceXSDs ()),
222+
PhiveRulesUBLHelper.createXSLT_UBL21 (new ClassPathResource (sPrefix0 +
223+
"20260216_EXTENDED-CTC-FR-UBL-V1.3.0.xslt",
224+
_getCL ()))));
225+
aRegistry.registerValidationExecutorSet (ValidationExecutorSet.create (VID_FR_EXTENDED_CTC_UBL_CN_1_3_0,
226+
"France Extended CTC Credit Note " +
227+
VID_FR_EXTENDED_CTC_UBL_CN_1_3_0.getVersionString (),
228+
PhiveRulesHelper.createSimpleStatus (bNotDeprecated),
229+
ValidationExecutorXSD.create (UBL21Marshaller.getAllCreditNoteXSDs ()),
230+
PhiveRulesUBLHelper.createXSLT_UBL21 (new ClassPathResource (sPrefix0 +
231+
"20260216_EXTENDED-CTC-FR-UBL-V1.3.0.xslt",
232+
_getCL ()))));
233+
aRegistry.registerValidationExecutorSet (ValidationExecutorSet.create (VID_FR_EXTENDED_CTC_CII_1_3_0,
234+
"France Extended CTC CII " +
235+
VID_FR_EXTENDED_CTC_CII_1_3_0.getVersionString (),
236+
PhiveRulesHelper.createSimpleStatus (bNotDeprecated),
237+
ValidationExecutorXSD.create (CCIID22B.getXSDResourceCII ()),
238+
PhiveRulesCIIHelper.createXSLT_CII_D22B (new ClassPathResource (sPrefix0 +
239+
"20260216_EXTENDED-CTC-FR-CII-V1.3.0.xslt",
240+
_getCL ()))));
206241
}
207242
}
208243
}

phive-rules-france/src/test/java/com/helger/phive/france/mock/CTestFiles.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,10 @@ public static ICommonsList <PhiveTestFile> getAllTestFiles ()
6464
FranceCTCValidation.VID_FR_CTC_UBL_INV_1_3_0,
6565
FranceCTCValidation.VID_FR_CTC_UBL_CN_1_3_0,
6666
FranceCTCValidation.VID_FR_CTC_CII_1_3_0,
67-
FranceCTCValidation.VID_FR_CTC_CDAR_1_3_0 })
67+
FranceCTCValidation.VID_FR_CTC_CDAR_1_3_0,
68+
FranceCTCValidation.VID_FR_EXTENDED_CTC_UBL_INV_1_3_0,
69+
FranceCTCValidation.VID_FR_EXTENDED_CTC_UBL_CN_1_3_0,
70+
FranceCTCValidation.VID_FR_EXTENDED_CTC_CII_1_3_0 })
6871
for (final IReadableResource aRes : getAllMatchingTestFiles (aVESID))
6972
{
7073
assertTrue ("Not existing test file: " + aRes.getPath (), aRes.exists ());
@@ -104,7 +107,10 @@ public static ICommonsList <? extends IReadableResource> getAllMatchingTestFiles
104107

105108
if (aVESID.equals (FranceCTCValidation.VID_FR_CTC_UBL_INV_1_3_0) ||
106109
aVESID.equals (FranceCTCValidation.VID_FR_CTC_UBL_CN_1_3_0) ||
107-
aVESID.equals (FranceCTCValidation.VID_FR_CTC_CII_1_3_0))
110+
aVESID.equals (FranceCTCValidation.VID_FR_CTC_CII_1_3_0) ||
111+
aVESID.equals (FranceCTCValidation.VID_FR_EXTENDED_CTC_UBL_INV_1_3_0) ||
112+
aVESID.equals (FranceCTCValidation.VID_FR_EXTENDED_CTC_UBL_CN_1_3_0) ||
113+
aVESID.equals (FranceCTCValidation.VID_FR_EXTENDED_CTC_CII_1_3_0))
108114
{
109115
// No test files available
110116
return new CommonsArrayList <> ();

0 commit comments

Comments
 (0)