Hilfe beim Umstieg auf V60

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Hilfe beim Umstieg auf V60

      Hallo

      Ich hab bisher V4p3 verwendet, und stelle jetzt (leider) auf V60 um.
      da hab ich z.b. folgende Position:

      Source Code

      1. <eb:ListLineItem>
      2. <eb:Description>XXX irgendwas blau</eb:Description>
      3. <eb:ArticleNumber>000000004820003000</eb:ArticleNumber>
      4. <eb:Quantity eb:Unit="STK">1600</eb:Quantity>
      5. <eb:UnitPrice>0.02</eb:UnitPrice>
      6. <eb:VATRate>20.00</eb:VATRate>
      7. <eb:Delivery><eb:Period>
      8. <eb:FromDate>2021-11-29</eb:FromDate>
      9. <eb:ToDate>2022-01-02</eb:ToDate>
      10. </eb:Period></eb:Delivery>
      11. <eb:AdditionalInformation>
      12. <eb:AlternativeQuantity eb:Unit = "Wochen">5</eb:AlternativeQuantity>
      13. </eb:AdditionalInformation>
      14. <eb:LineItemAmount>32</eb:LineItemAmount>
      15. </eb:ListLineItem>
      Display All
      und bei der Quantität folgende Fehlermeldung:
      Feld "<Quantity xmlns="http://www.ebinterface.at/schema/6p0/">100.00</Quantity> ":
      • cvc-complex-type.4: Attribut 'Unit' muss in Element 'eb:Quantity' vorkommen


      wenn ich die Unit rausnehme bekomme ich die Meldung, daß Unit fehlt.
      Ich kann lt. Beschreibung und Beispieldateien aber keinen Fehler finden.
      Hatte das Problem auch schon bei der Adresse beim Land, da konnte ich ds "Österreich" weglassen, sodaß nur mehr "AT" übrigbleibt.

      Bitte um Hilfe, Danke
      Roland S.
    • Grüß Gott alle!

      Herr Helger

      Ich habe hier bei der Erstellung der Rechnung Probleme

      Quellcode

      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();
      Document doc = builder.newDocument();
      doc.setXmlVersion("1.0");
      doc.setXmlStandalone(true);

      Element invoice = doc.createElement("Invoice");
      doc.appendChild(invoice);

      invoice.setAttribute("xmlns", "http://www.ebinterface.at/schema/6p0/");
      invoice.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

      invoice.setAttribute("GeneratingSystem", "AUSTRIAPRO.ebInterface.Formular");
      invoice.setAttribute("DocumentType", "Invoice");
      invoice.setAttribute("InvoiceCurrency", "EUR");
      invoice.setAttribute("ManualProcessing", "false");

      invoice.setAttribute("DocumentTitle", "Rechnung");
      //invoice.setAttribute("eb:Language", "ger"); bis 2022-02-08
      invoice.setAttribute("Language", "de");


      Fehlermeldung:


      • Feld "<Address xmlns="http://www.ebinterface.at/schema/6p0/" /> ":
      cvc-complex-type.2.4.b: Content des Elements 'Address' ist nicht vollständig. '{"http://www.ebinterface.at/schema/6p0/":AddressIdentifier, "http://www.ebinterface.at/schema/6p0/":Name}' wird erwartet

      Was ist hier falsch. Danke für Ihre Hilfe
    • Hallo,

      Bitte nehmen Sie folgende beide Zeilen weg:
      invoice.setAttribute("xmlns", "http://www.ebinterface.at/schema/6p0/");
      invoice.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

      Stattdessen muss bei jedem createElement der NS angegeben werden. Also statt:

      Element invoice = doc.createElement("Invoice");

      bitte

      Element invoice = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Invoice");

      verwenden. Daher bitte den NS in eine Konstante packen.

      Alternativ dazu, haben Sie einen Blick auf github.com/phax/ph-ebinterface/ - dort ist das alles schon drin.

      hth, P. Helger
    • Hallo Hr. Helger,

      Ich habe die Erweiterung in der Zeile : Element invoice = doc.createElement("Invoice")


      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();
      Document doc = builder.newDocument();
      doc.setXmlVersion("1.0");
      doc.setXmlStandalone(true);

      //Element invoice = doc.createElement("Invoice");
      Element invoice = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Invoice");
      doc.appendChild(invoice);

      //invoice.setAttribute("xmlns", "http://www.ebinterface.at/schema/6p0/");
      //invoice.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

      invoice.setAttribute("GeneratingSystem", "AUSTRIAPRO.ebInterface.Formular");
      invoice.setAttribute("DocumentType", "Invoice");
      invoice.setAttribute("InvoiceCurrency", "EUR");
      invoice.setAttribute("ManualProcessing", "false");

      invoice.setAttribute("DocumentTitle", "Rechnung");
      invoice.setAttribute("Language", "de");

      Leider bekomme ich wieder den gleich Fehler:

      Die hochgeladene e-Rechnungsdatei kann wegen folgender Fehler nicht verarbeitet werden:
      • Feld "<Address xmlns="http://www.ebinterface.at/schema/6p0/" />":
        • cvc-complex-type.2.4.b: Content des Elements 'Address' ist nicht vollständig. '{"http://www.ebinterface.at/schema/6p0/":AddressIdentifier, "http://www.ebinterface.at/schema/6p0/":Name}' wird erwartet.
    • Hallo Hr. Helger,

      Ich habe alle doc.createElement auf doc.createElementNS mit der Erweiterung geändert.


      Ich bekomme wieder den gleich Fehler.

      Die hochgeladene e-Rechnungsdatei kann wegen folgender Fehler nicht verarbeitet werden:
      • Feld "<Address xmlns="http://www.ebinterface.at/schema/6p0/" />":
        • cvc-complex-type.2.4.b: Content des Elements 'Address' ist nicht vollständig. '{"http://www.ebinterface.at/schema/6p0/":AddressIdentifier, "http://www.ebinterface.at/schema/6p0/":Name}' wird erwartet

        Prüfversuch mit:
      • test.erechnung.gv.at/erb/de_AT/tec_test_upload
      mfg Günther
    • Hallo Hr. Helger

      nach der Prüfung bekomme ich immer noch einen Fahler:

      Die hochgeladene e-Rechnungsdatei kann wegen folgender Fehler nicht verarbeitet werden:
      • Feld "<Address xmlns="http://www.ebinterface.at/schema/6p0/"> <Name>SOFTWARE-SERVICE UNGER SOFTWAREHAUS</Name> <Street>Haidlweg 35a</Street> <Town>Wels</Town> <ZIP>4600</ZIP></Address>":
        • cvc-complex-type.2.4.b: Content des Elements 'Address' ist nicht vollständig. '{"http://www.ebinterface.at/schema/6p0/":Country}' wird erwartet.
    • Allen ZIP folgen nun CountryElemente

      Nun bekomme ich einen Fehler den ich schon am Anfang hatte

      //Element invoice = doc.createElement("Invoice");
      Element invoice = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Invoice");
      doc.appendChild(invoice);

      invoice.setAttribute("GeneratingSystem", "AUSTRIAPRO.ebInterface.Formular");
      invoice.setAttribute("DocumentType", "Invoice");
      invoice.setAttribute("InvoiceCurrency", "EUR");
      invoice.setAttribute("ManualProcessing", "false");

      invoice.setAttribute("DocumentTitle", "Rechnung");
      //invoice.setAttribute("eb:Language", "ger"); bis 2022-02-08
      invoice.setAttribute("Language", "de");



      Fehler: anstatt 2.4.b nun 2.4.a
      Die hochgeladene e-Rechnungsdatei kann wegen folgender Fehler nicht verarbeitet werden:
      • Feld "<Address xmlns="http://www.ebinterface.at/schema/6p0/"> <Name>SOFTWARE-SERVICE UNGER SOFTWAREHAUS</Name> <Street>Haidlweg 35a</Street> <Town>Wels</Town> <ZIP>4600</ZIP> <Country CountryCode="AT">Österreich</Country></Address>":
        • cvc-complex-type.2.4.a: Ungültiger Content wurde beginnend mit Element 'Address' gefunden. '{"http://www.ebinterface.at/schema/6p0/":Extension}' wird erwartet.
    • Es gibt 3 verschiedene Stellen für das Element Address.


      //ADDresse 1-Delivery *************************

      // Date = Lieferdatum

      columnName = rsmd.getColumnName(3);

      //allgDate = uswbk.getObject(3); /* Belegdatum*/

      allgDate =new Date(uswbk.getTimestamp(3).getTime()); /* Belegdatum*/

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", columnName);

      node.appendChild(doc.createTextNode(sdfd.format(allgDate)));

      //node.appendChild(doc.createTextNode(allgDate.toString()));

      delivery.appendChild(node);

      //----------------------------------------------------------------------

      Element addressdeli = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Address");

      delivery.appendChild(addressdeli);

      // Versanddaten Kunde 999999

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Name");

      node.appendChild(doc.createTextNode(vsaNam1));

      //delivery.appendChild(node);

      addressdeli.appendChild(node);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Street");

      node.appendChild(doc.createTextNode(vsaStra));

      //delivery.appendChild(node);

      addressdeli.appendChild(node);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Town");

      node.appendChild(doc.createTextNode(vsaOrt));

      //delivery.appendChild(node);

      addressdeli.appendChild(node);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "ZIP");

      node.appendChild(doc.createTextNode(vsaPlz));

      //delivery.appendChild(node);

      addressdeli.appendChild(node);

      Element country = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Country");

      addressdeli.appendChild(country);

      country.setAttribute("CountryCode", vsaLan);

      country.appendChild(doc.createTextNode(vsaCountry));

      //Ende Lieferant/Delivery-----------------------------------------------


      Address – 2-Biller*************************

      //Start Biller/Rechnungsersteller---------------------------------------

      Element biller = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Biller");

      invoice.appendChild(biller);

      // VATIdenificationNumber, InvoiceRecipientsBillerID

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "VATIdentificationNumber");

      node.appendChild(doc.createTextNode(vsaUid));

      biller.appendChild(node);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "InvoiceRecipientsBillerID");

      //----------------------------------------------------------------------

      //node.appendChild(doc.createTextNode("LF100"));//------------Kreditorennummer

      //node.appendChild(doc.createTextNode("0011064559")); //------------Kreditorennummer

      node.appendChild(doc.createTextNode(main.java.myutils.MyUtils.genSubstrStartLen

      (xLfnRef,1,10).trim()));//------------Kreditorennummer

      biller.appendChild(node);

      //----------------------------------------------------------------------

      Element address = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Address");

      biller.appendChild(address);

      // Versanddaten Kunde 999999

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Name");

      node.appendChild(doc.createTextNode(vsaNam1));

      address.appendChild(node);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Street");

      node.appendChild(doc.createTextNode(vsaStra));

      address.appendChild(node);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Town");

      node.appendChild(doc.createTextNode(vsaOrt));

      address.appendChild(node);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "ZIP");

      node.appendChild(doc.createTextNode(vsaPlz));

      address.appendChild(node);

      Element countryvsa = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Country");

      address.appendChild(countryvsa);

      countryvsa.setAttribute("CountryCode", vsaLan);

      countryvsa.appendChild(doc.createTextNode(vsaCountry));


      Address -3 invoicerecipient **************************

      //Start Rechnungsempfänger,InvoiceRecipient

      Element invoicerecipient = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "InvoiceRecipient");

      invoice.appendChild(invoicerecipient);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "VATIdentificationNumber");

      node.appendChild(doc.createTextNode("00000000"));

      invoicerecipient.appendChild(node);

      //Auftragsreferenz

      Element irorderReference = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "OrderReference");

      invoicerecipient.appendChild(irorderReference);

      nodeOrderID = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "OrderID");

      //-------------------------------------------------------------------------

      //nodeOrderID.appendChild(doc.createTextNode("Z01"));/*----------------Einkäufergruppe*/

      //nodeOrderID.appendChild(doc.createTextNode("L05"));/*----------------Einkäufergruppe*/

      nodeOrderID.appendChild(doc.createTextNode(main.java.myutils.MyUtils.genSubstrStartLen

      (xLfnRef,12,3).trim()));//----------------Einkäufergruppe

      irorderReference.appendChild(nodeOrderID);

      //--Adresse: Name,Strasse,ORT,ZIP,Landcode,Landtext--------------------------

      Element iraddress = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Address");

      invoicerecipient.appendChild(iraddress);

      for (int i = 8; i <= 11; i++) {

      columnName = rsmd.getColumnName(i);

      value = uswbk.getObject(i);

      node = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", columnName);

      node.appendChild(doc.createTextNode(value.toString()));

      iraddress.appendChild(node);

      }

      Element ircountry = doc.createElementNS("http://www.ebinterface.at/schema/6p0/", "Country");

      iraddress.appendChild(ircountry);

      String irPadate =uswbk.getString("padate").trim();

      String irLanCode =uswbk.getString("bkrala").trim().toUpperCase();

      if (irPadate == null || irPadate.isEmpty() || irLanCode == null || irLanCode.isEmpty()

      || irLanCode.equals("AT") || irLanCode.equals("AUT") || irLanCode.equals("A") ) {

      irLan = "AT";

      irCtry = "Österreich";

      } else {

      irLan = main.java.myutils.MyUtils.genSubstrStartLen(irPadate,51,3).trim();

      irCtry = main.java.myutils.MyUtils.genSubstrStartLen(irPadate,21,30).trim();

      }

      ircountry.setAttribute("CountryCode", irLan);

      ircountry.appendChild(doc.createTextNode(irCtry));

      //---------------------------------------------------------------

      //ende address