lookup nip - migration
This commit is contained in:
parent
cca28e9414
commit
6e65ed4468
3 changed files with 146 additions and 9 deletions
|
|
@ -52,6 +52,12 @@ import jakarta.inject.Inject;
|
|||
* </pre>
|
||||
*
|
||||
* <p>
|
||||
* NIP: The adapter needs the NIP (vat-id). If we do not find the partner.vat in
|
||||
* the business object, we do a lookup on the D-Cargosoft object and try the vat
|
||||
* id from there. This is because the partner.vat is a field which was not
|
||||
* defined before.
|
||||
*
|
||||
* <p>
|
||||
* Wenn Debug = true gibt der Adapter alle einzelschritte auf der console aus
|
||||
* und erzeugt zusätzlich die factur-x xml und txt dateien.
|
||||
*
|
||||
|
|
@ -202,6 +208,38 @@ public class KSeFAdapter implements SignalAdapter {
|
|||
throw new PluginException(this.getClass().getName(), DOCUMENT_ERROR,
|
||||
"Business Partner ID '" + partnerID + "' does not exist");
|
||||
}
|
||||
|
||||
/**
|
||||
* Migration:
|
||||
* If the business partner does not yet have the item "partner.vat" we try here
|
||||
* to resync this information from the cargosoftkreditor object. This is needed
|
||||
* because the partner.vat was not initially defined by the synch processor and
|
||||
* so many partner objects do not yet provide this information.
|
||||
*/
|
||||
if (businessPartner.getItemValueString("partner.vat").isEmpty()) {
|
||||
logger.info("│ ├── BusinessPartner " + partnerID + " does not provide vat-id - try to migrate....");
|
||||
String dNumber = businessPartner.getItemValueString("dbtr.number");
|
||||
if (!dNumber.isEmpty()) {
|
||||
try {
|
||||
String query = "(type:cargosoftkreditor) AND (name:" + dNumber + ")";
|
||||
List<ItemCollection> result;
|
||||
result = documentService.find(query, 1, 0);
|
||||
if (result != null && result.size() > 0) {
|
||||
ItemCollection creditorData = result.get(0);
|
||||
String vatID = creditorData.getItemValueString("_vendor_vat_registration_id");
|
||||
logger.info("│ ├── synchronize VAT Registrytion ID: " + vatID);
|
||||
// update business partner
|
||||
businessPartner.setItemValue("partner.vat", vatID);
|
||||
documentService.saveByNewTransaction(businessPartner);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// should not happen!
|
||||
logger.info("│ ├── ⚠️ Failed to sync BusinessPartner : " + e.getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TradeParty tradeParty = new TradeParty(type);
|
||||
|
||||
// Name ist immer die erste Zeile
|
||||
|
|
|
|||
|
|
@ -0,0 +1,105 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Faktura xmlns="http://crd.gov.pl/wzor/2025/06/25/13775/" xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2022/01/05/eD/DefinicjeTypy/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Naglowek>
|
||||
<KodFormularza kodSystemowy="FA (3)" wersjaSchemy="1-0E">FA</KodFormularza>
|
||||
<WariantFormularza>3</WariantFormularza>
|
||||
<DataWytworzeniaFa>2025-11-24T18:45:31.387561092Z</DataWytworzeniaFa>
|
||||
<SystemInfo>Imixs eInvoice</SystemInfo>
|
||||
</Naglowek>
|
||||
<!-- Seller (Your Polish Company - Pre-filled) -->
|
||||
<Podmiot1>
|
||||
<DaneIdentyfikacyjne>
|
||||
<NIP>9552521552</NIP>
|
||||
<Nazwa>Alexander Global Logistics</Nazwa>
|
||||
</DaneIdentyfikacyjne>
|
||||
<Adres>
|
||||
<KodKraju>PL</KodKraju>
|
||||
<AdresL1>Gdanska 36</AdresL1>
|
||||
<AdresL2>70-660 Szczecin</AdresL2>
|
||||
</Adres>
|
||||
<DaneKontaktowe>
|
||||
<Email>MBudas@alexander-logistics.com</Email>
|
||||
</DaneKontaktowe>
|
||||
</Podmiot1>
|
||||
<!-- Buyer (Customer - Empty, to be filled) -->
|
||||
<Podmiot2>
|
||||
<DaneIdentyfikacyjne>
|
||||
<!-- NIP falls eine PL Ust Vorliegt
|
||||
ansonsten NrID - geht immer -->
|
||||
<!-- <NIP></NIP> -->
|
||||
<!-- <Nazwa>#Customer Name#</Nazwa> -->
|
||||
<NIP>6621004747</NIP>
|
||||
<Nazwa>REGESTA Spolka Akcyjna</Nazwa>
|
||||
</DaneIdentyfikacyjne>
|
||||
<Adres>
|
||||
<KodKraju>PL</KodKraju>
|
||||
<AdresL1>ul. Nowowiejska 52a</AdresL1>
|
||||
<AdresL2>28-400 Pinczow</AdresL2>
|
||||
</Adres>
|
||||
<!---
|
||||
Contact information from buyer can be left
|
||||
<DaneKontaktowe>
|
||||
<Email></Email>
|
||||
<Telefon></Telefon>
|
||||
</DaneKontaktowe>
|
||||
-->
|
||||
<NrKlienta>D15231</NrKlienta>
|
||||
<JST>2</JST>
|
||||
<!-- fixed -->
|
||||
<GV>2</GV>
|
||||
<!-- fixed -->
|
||||
</Podmiot2>
|
||||
<!-- Invoice Data -->
|
||||
<Fa>
|
||||
<KodWaluty>EUR</KodWaluty>
|
||||
<P_1>2024-04-03</P_1>
|
||||
<!-- Invoice Date -->
|
||||
<P_2>216525</P_2>
|
||||
<!-- Invoice Number -->
|
||||
<P_6>2024-06-02</P_6>
|
||||
<!-- Due Date -->
|
||||
<!-- Totals -->
|
||||
<P_13_1>4128.00</P_13_1>
|
||||
<!-- Total Net -->
|
||||
<P_14_1>0.00</P_14_1>
|
||||
<!-- Total VAT -->
|
||||
<P_15>4128.00</P_15>
|
||||
<!-- Total Gross -->
|
||||
<Adnotacje>
|
||||
<!-- 1 yes - 2 no -->
|
||||
<P_16>2</P_16>
|
||||
<!-- Keine Selbstfakturierung -->
|
||||
<P_17>2</P_17>
|
||||
<!-- Kein Reverse Charge -->
|
||||
<P_18>2</P_18>
|
||||
<!-- Kein Split Payment (Rechnung unter 15.000 PLN/EUR) -->
|
||||
<P_18A>2</P_18A>
|
||||
<!-- Keine Steuerbefreiung -->
|
||||
<Zwolnienie>
|
||||
<P_19N>1</P_19N>
|
||||
</Zwolnienie>
|
||||
<!-- Keine neuen Verkehrsmittel -->
|
||||
<NoweSrodkiTransportu>
|
||||
<P_22N>1</P_22N>
|
||||
</NoweSrodkiTransportu>
|
||||
<!-- Kein vereinfachtes Verfahren nach Art. 135 -->
|
||||
<P_23>2</P_23>
|
||||
<!-- Keine Margenregelung -->
|
||||
<PMarzy>
|
||||
<P_PMarzyN>1</P_PMarzyN>
|
||||
</PMarzy>
|
||||
</Adnotacje>
|
||||
<!-- Invoice Type (VAT) -->
|
||||
<RodzajFaktury>VAT</RodzajFaktury>
|
||||
<!-- Invoice Positions: FaWiersz -->
|
||||
<FaWiersz>
|
||||
<NrWierszaFa>1</NrWierszaFa>
|
||||
<UU_ID>8a8458dc-5b4f-462c-a964-8848d089a0f9</UU_ID>
|
||||
<P_7>R IM-ZEL-2403-259</P_7>
|
||||
<P_8A>szt.</P_8A>
|
||||
<P_8B>1</P_8B>
|
||||
<P_9A>4128.00</P_9A>
|
||||
<P_11>4128.00</P_11>
|
||||
</FaWiersz>
|
||||
</Fa>
|
||||
</Faktura>
|
||||
|
|
@ -32,8 +32,7 @@
|
|||
<DaneIdentyfikacyjne>
|
||||
<!-- NIP falls eine PL Ust Vorliegt
|
||||
ansonsten NrID - geht immer -->
|
||||
<!-- <NIP></NIP> -->
|
||||
<Nazwa>#Customer Name#</Nazwa>
|
||||
<!-- <Nazwa>#Customer Name#</Nazwa> -->
|
||||
</DaneIdentyfikacyjne>
|
||||
<Adres>
|
||||
<KodKraju></KodKraju>
|
||||
|
|
@ -59,16 +58,11 @@
|
|||
<P_1></P_1> <!-- Invoice Date -->
|
||||
<P_2></P_2> <!-- Invoice Number -->
|
||||
<P_6></P_6> <!-- Due Date -->
|
||||
|
||||
|
||||
<!-- Line Items will be added here -->
|
||||
|
||||
<!-- Totals -->
|
||||
<P_13_1>0.00</P_13_1> <!-- Total Net -->
|
||||
<P_14_1>0.00</P_14_1> <!-- Total VAT -->
|
||||
<P_15>0.00</P_15> <!-- Total Gross -->
|
||||
|
||||
|
||||
<Adnotacje>
|
||||
<!-- 1 yes - 2 no -->
|
||||
<P_16>2</P_16>
|
||||
|
|
@ -100,11 +94,11 @@
|
|||
<P_PMarzyN>1</P_PMarzyN>
|
||||
</PMarzy>
|
||||
</Adnotacje>
|
||||
<!-- Normale Rechnung (VAT) -->
|
||||
<!-- Invoice Type (VAT) -->
|
||||
<RodzajFaktury>VAT</RodzajFaktury>
|
||||
|
||||
|
||||
<!-- Invoice Poitions FaWiersz -->
|
||||
<!-- Invoice Positions: FaWiersz -->
|
||||
|
||||
</Fa>
|
||||
</Faktura>
|
||||
Loading…
Reference in a new issue