Feedback von Taxman
This commit is contained in:
parent
47fc7e151e
commit
f8c13c5b2b
5 changed files with 66 additions and 8 deletions
25
doc/KSeF/FEEDBACK.md
Normal file
25
doc/KSeF/FEEDBACK.md
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Feedback zum PDF FIle
|
||||||
|
|
||||||
|
## 1. Podmiot 1 — Daten des Rechnungsausstellers (AGLP)
|
||||||
|
|
||||||
|
- `<Nazwa>` FIXED
|
||||||
|
- `<AdresL1>` FIXED
|
||||||
|
- `<PrefiksPodatnika>PL</PrefiksPodatnika>` FIXED
|
||||||
|
|
||||||
|
## 2. Podmiot 2 — Daten des Rechnungsempfängers
|
||||||
|
|
||||||
|
- `<NrID> <NIP>` - ALREADY IMPLEMENTED
|
||||||
|
- EU-Rechnungsempfänger - UNCLEAR!
|
||||||
|
- Anschrift des Rechnungsempfängers - CARGOSOFT TOPIC
|
||||||
|
|
||||||
|
## 3. Abschnitt <Fa> — Rechnungskopf (außer Standardfelder P_1, P_2, P_6)
|
||||||
|
|
||||||
|
- `<P_1M>` - FIXED
|
||||||
|
- `<KursWalutyZ>` - FIXED
|
||||||
|
|
||||||
|
# 4. Rechnungspositionen <FaWiersz> — Pflichtfelder je Position
|
||||||
|
|
||||||
|
- `<P_7>` - FIXED
|
||||||
|
- `<P_8B>` - IGNORED - NOT FIXED!
|
||||||
|
|
||||||
|
ab `<P_11A>` wird es krimminell
|
||||||
BIN
doc/KSeF/Feld-Mapping Cargo Soft zu KSeF (DE).pdf
Normal file
BIN
doc/KSeF/Feld-Mapping Cargo Soft zu KSeF (DE).pdf
Normal file
Binary file not shown.
|
|
@ -292,6 +292,26 @@ public class KSeFAdapter implements SignalAdapter {
|
||||||
*/
|
*/
|
||||||
model.setGrandTotalAmount(workitem.getItemValueDouble("invoice.total"));
|
model.setGrandTotalAmount(workitem.getItemValueDouble("invoice.total"));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* KursWalutyZ
|
||||||
|
*
|
||||||
|
* Für Rechnungen in Fremdwährung obligatorisch. Anzuwenden ist der NBP-
|
||||||
|
* Durchschnittskurs des Tages vor Entstehen der Steuerpflicht (Art. 31a
|
||||||
|
* UStG-PL).
|
||||||
|
* Dezimalformat mit Punkt.
|
||||||
|
*/
|
||||||
|
String currency = workitem.getItemValueString("invoice.currency");
|
||||||
|
if (!currency.isBlank() && !"PLN".equals(currency)) {
|
||||||
|
Element p15 = model.findChildNode(elementFa, EInvoiceNS.KSEF, "P_15");
|
||||||
|
if (p15 != null) {
|
||||||
|
Double rate = workitem.getItemValueDouble("invoice.rate");
|
||||||
|
logger.info("│ ├── set KursWalutyZ = " + rate);
|
||||||
|
Element element = model.findOrCreateChildNodeAfter(elementFa, EInvoiceNS.KSEF, "KursWalutyZ",
|
||||||
|
"P_15");
|
||||||
|
element.setTextContent(rate.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// finally set the due date at the end of the XML tree
|
// finally set the due date at the end of the XML tree
|
||||||
model.setDueDateTime(workitem.getItemValueLocalDate("invoice.duedate"));
|
model.setDueDateTime(workitem.getItemValueLocalDate("invoice.duedate"));
|
||||||
|
|
||||||
|
|
@ -460,7 +480,18 @@ public class KSeFAdapter implements SignalAdapter {
|
||||||
|
|
||||||
// Herrn Grzegorz Grzelczyk möchte hier BillingText
|
// Herrn Grzegorz Grzelczyk möchte hier BillingText
|
||||||
// tradeLineItem.setName(orderItem.getItemValueString("datev.text"));
|
// tradeLineItem.setName(orderItem.getItemValueString("datev.text"));
|
||||||
tradeLineItem.setName(orderItem.getItemValueString("billingtext"));
|
// tradeLineItem.setName(orderItem.getItemValueString("billingtext"));
|
||||||
|
// Herr Grzelczyk will das alle billing texte aus der liste, verkettet
|
||||||
|
// ausgegeben werden.
|
||||||
|
List<String> billingTexts = orderItem.getItemValue("billingtext");
|
||||||
|
String billingTextName = billingTexts == null
|
||||||
|
? ""
|
||||||
|
: String.join(", ", billingTexts);
|
||||||
|
final int MAX_LENGTH = 512;
|
||||||
|
if (billingTextName.length() > MAX_LENGTH) {
|
||||||
|
billingTextName = billingTextName.substring(0, MAX_LENGTH);
|
||||||
|
}
|
||||||
|
tradeLineItem.setName(billingTextName);
|
||||||
|
|
||||||
tradeLineItem.setQuantity(1);
|
tradeLineItem.setQuantity(1);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,14 @@
|
||||||
|
|
||||||
<!-- Seller (Your Polish Company - Pre-filled) -->
|
<!-- Seller (Your Polish Company - Pre-filled) -->
|
||||||
<Podmiot1>
|
<Podmiot1>
|
||||||
|
<PrefiksPodatnika>PL</PrefiksPodatnika>
|
||||||
<DaneIdentyfikacyjne>
|
<DaneIdentyfikacyjne>
|
||||||
<NIP>9552521552</NIP>
|
<NIP>9552521552</NIP>
|
||||||
<Nazwa>Alexander Global Logistics</Nazwa>
|
<Nazwa>ALEXANDER GLOBAL LOGISTICS POLAND sp. z o.o.</Nazwa>
|
||||||
</DaneIdentyfikacyjne>
|
</DaneIdentyfikacyjne>
|
||||||
<Adres>
|
<Adres>
|
||||||
<KodKraju>PL</KodKraju>
|
<KodKraju>PL</KodKraju>
|
||||||
<AdresL1>Gdanska 36</AdresL1>
|
<AdresL1>ul. Gdańska 36, 70-660 Szczecin</AdresL1>
|
||||||
<AdresL2>70-660 Szczecin</AdresL2>
|
|
||||||
</Adres>
|
</Adres>
|
||||||
<DaneKontaktowe>
|
<DaneKontaktowe>
|
||||||
<Email>MBudas@alexander-logistics.com</Email>
|
<Email>MBudas@alexander-logistics.com</Email>
|
||||||
|
|
@ -57,6 +57,7 @@
|
||||||
<KodWaluty>#CURRENCY#</KodWaluty>
|
<KodWaluty>#CURRENCY#</KodWaluty>
|
||||||
|
|
||||||
<P_1></P_1> <!-- Invoice Date -->
|
<P_1></P_1> <!-- Invoice Date -->
|
||||||
|
<P_1M>Szczecin</P_1M>
|
||||||
<P_2></P_2> <!-- Invoice Number -->
|
<P_2></P_2> <!-- Invoice Number -->
|
||||||
<P_6></P_6> <!-- Due Date -->
|
<P_6></P_6> <!-- Due Date -->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2878,7 +2878,8 @@ AGL Poland Team
|
||||||
<imixs:value/>
|
<imixs:value/>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtactivityresult" type="xs:string">
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
<imixs:value><![CDATA[<item name="comment" ignore="true"/>]]></imixs:value>
|
<imixs:value><![CDATA[<item name="comment" ignore="true"/>
|
||||||
|
<item name="action">home</item>]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtname" type="xs:string">
|
<imixs:item name="txtname" type="xs:string">
|
||||||
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
||||||
|
|
@ -3193,13 +3194,13 @@ AGL Poland Team
|
||||||
<bpmndi:BPMNShape bpmnElement="event_nQBQjw" id="BPMNShape_093C9Q">
|
<bpmndi:BPMNShape bpmnElement="event_nQBQjw" id="BPMNShape_093C9Q">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="897.0" y="407.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="897.0" y="407.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_OMsueg">
|
<bpmndi:BPMNLabel id="BPMNLabel_OMsueg">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="865.0" y="436.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="865.0" y="446.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_0YONsg" id="BPMNShape_PuiuLA">
|
<bpmndi:BPMNShape bpmnElement="event_0YONsg" id="BPMNShape_PuiuLA">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="1307.0" y="407.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="1307.0" y="407.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_wi6IGg">
|
<bpmndi:BPMNLabel id="BPMNLabel_wi6IGg">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1275.0" y="436.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1275.0" y="446.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_NIn1DQ" id="BPMNShape_rAwIzQ">
|
<bpmndi:BPMNShape bpmnElement="event_NIn1DQ" id="BPMNShape_rAwIzQ">
|
||||||
|
|
@ -3301,7 +3302,7 @@ AGL Poland Team
|
||||||
<bpmndi:BPMNShape bpmnElement="event_3FDnsA" id="BPMNShape_bRk7og">
|
<bpmndi:BPMNShape bpmnElement="event_3FDnsA" id="BPMNShape_bRk7og">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="1717.0" y="407.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="1717.0" y="407.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_XhmDNA">
|
<bpmndi:BPMNLabel id="BPMNLabel_XhmDNA">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1685.0" y="436.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1685.0" y="446.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="gateway_S4b22A" id="BPMNShape_whGktg">
|
<bpmndi:BPMNShape bpmnElement="gateway_S4b22A" id="BPMNShape_whGktg">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue