0

Anpassung der Vorlage E-Rechnung für unseren Verein

Hallo zusammen,

wir sind ein gemeinnütziger  Gartenverein. Die E-Rechnung wir über kurz oder lang auch für uns ein Thema sein. Daher habe ich daran gemacht die Vorlage E-Rechnung für unseren Verein anzupassen. Das Augenmerk bei der Erstellung von Rechnungen liegt natürlich auf der jährlichen "Mitgliederrechnung". Hier kommen einige Rechnungen zusammen. Selbst bei nur 4 Positionen (je Rechnung Pacht, Umlage, Beitrag und Stromkosten) ist einiges an händischer Arbeit erforderlich, da diese Positionen bei jedem Mitglied anders sind. Dies würde ich gerne automatisieren. Mein Gedanke: Ich lasse mir die Kosten, bei der Erstellung der Rechnung anzeigen und kann sie dann per Button übernehmen. Das mit dem Anzeigen klappt (siehe Bild). Nur das mit dem übernehmen noch nicht ganz.  Mein Ansatz (zb. bei der Pacht)

let me := this;
let myPacht := 'Rechnungsempfänger auswählen'.Kosten.Pacht;
let new := (create Rechnungspositionen);
new.(Artikelauswahl := 6);
new.(Artikelauswahl.'Artikel-Bezeichnung' = Artikelauswahl.'Artikel-Bezeichnung');
new.(Artikelauswahl.'Preis netto' = myPacht);
new.(Anzahl := 1);
let newposition := do as transaction
        let counter := 0;
        for i in me.Rechnungspositionen order by 'Positions-Nr' do
            i.('Positions-Nr' := counter + 1);
            counter := counter + 1
        end;
        new.(
            'Invoice generator' := me.this;
            'Positions-Nr' := counter + 1
        );
        new
    end;

erzeugt zwar eine neue Rechnungsposition "Pacht" aber ohne den 'Preis netto'.

Ich ahne zwar wo der Fehler liegt, offensichtlich bei der "Artikelauswahl  'Preis netto'".

Genau an diesem Punkt komme ich nicht weiter und bräuchte Hilfe.

Grüße aus Berlin

 

Axel

7 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Ohne jetzt genauer geschaut zu haben ...

    new.(Artikelauswahl.'Preis netto' = myPacht);

    In der Zeile fehlt ein Doppelpunkt vor dem Gleichheitszeichen.

      • KGV_Sonneneck_eV_Neuha
      • vor 3 Tagen
      • Gemeldet - anzeigen

       vielen Dank für Deine schnelle Antwort. Der Doppelpunkt liefert leider nicht das gewünscht, sonder nur die Fehlermeldung, dass der Wert myPacht mehrfache Ergebnisse zurückliefert.

      Gruß Axel

      • Ninox-Professional
      • planoxpro
      • vor 3 Tagen
      • Gemeldet - anzeigen

       Dann entsteht vermutlich bei der Zuweisung in Zeile 2 ein Array mit mehreren Werten. Mehr kann ich in Unkenntnis des Datenmodells leider jetzt nicht sagen. Ich würde aber auf jeden Fall die Zuweisung 'Rechnungsempfänger auswählen'.Kosten.Pacht überprüfen (z. B. mit einem Formelfeld).

      • KGV_Sonneneck_eV_Neuha
      • vor 3 Tagen
      • Gemeldet - anzeigen

        Also Das Datenmodell entspricht dem der Vorlage der E-Rechnung.

      Bei Debitoren / Kunden habe ich durch eine Untertabelle die Kosten Pacht, Umlagen und Beitrag zugeordnet. In der Ausgangsrechnung werden diese Kosten durch ein Formelfeld angezeigt. Im Fall Pacht ist durch first('Rechnungsempfänger auswählen'.Kosten.Pacht). in der Tabelle Artikel ist als 6. Datensatz -Pacht-  ohne "Preis netto" hinterlegt. Ich weis auch, dass ich diesen Datensatz etwa mit first(select Artikel where Nr.(= 6)) ansprechen kann. Was ich nicht weis ist wie ich das in den obigen Code einbauen muss.

      • Ninox-Professional
      • planoxpro
      • vor 2 Tagen
      • Gemeldet - anzeigen

       

      Okay, in der Tabelle 'Debitoren / Kunden' gibt es also eine Untertabelle namens 'Kosten', die jeweils (mindestens) vier Datensätze mit den jeweiligen Beträgen zu Pacht, Strom, Umlage und Beitrag enthält? Und nun willst du in den Ausgangsrechnungen nach 'Rechnungsempfänger auswählen' automatisch vier Positonen mit den individuellen Beträgen erstellen?

      Da würde sich bei mir jetzt die Frage stellen, wie die Untertabelle genau aufgebaut ist. Da könnte ich jetzt nur spekulieren. Sinnvoll wäre es m. E. aber, in der Untertabelle Kosten (mindestens) folgende Felder zu haben:

      • Artike (Verknüpfung zu 'Artikel')
      • Bezeichnung (Textfeld)
      • Betrag (Zahlenfeld)

      Und die Datenfelder über einen Änderungstrigger nach Auswahl des Artikels zu befüllen und/oder den jeweiligen Betrag entsprechend zu ändern.
      Dann hätte man in der Untertabelle 'Kosten' zu jedem Kunden/Mitglied jeweils vier Datensätze und könnte die in der Ausgangsrechnung abarbeiten:

      let me := this;
      let myK := record('Debitoren / Kunden', number('Rechnungsempfänger auswählen'));
      for i in myK.Kosten do
         let newPos := create Rechnungspositionen;
         newPos.('Invoice generator' := me;
           Artikelauswahl := i.Artikel;
           Positionsbezeichnung := i.Bezeichnung;
           'Einzelpreis netto' := i. Betrag
         )
      end

      Damit würden entsprechende Positionen in der Ausgangsrechnung erstellt. Ist wahrscheinlich nicht das, was du. in deiner aktuellen Problemsituation brauchst, aber es soll auch nur eine Anregung zur Vorgehensweise sein.

      • KGV_Sonneneck_eV_Neuha
      • vor 2 Tagen
      • Gemeldet - anzeigen

       danke für die Antwort und dafür, dass Du Dich am Wochenende mit meinem Problem beschäftigst hast. Ich werde die Anregung bezüglich der Untertabelle Kosten entsprechend Deinem Vorschlag umarbeiten und sehen, wohin das Ergebnis führt. Ich werde dich auf jeden Fall über das Ergebnis informieren.

      Danke für die Hilfe

    • pma_mgmt
    • vor 7 Stunden
    • Gemeldet - anzeigen

    Hallo Axel, 

    du bist aktuell in der Vorbereitung der Rechnungen. Sehr gut. Ich möchte dir meine Gedanken zu den baldigen weiteren Problemen auf den Weg geben :-)

    Derzeit ist es so, dass du, wenn du das Ninox-Template verwendest, dir sicher sein musst, dass E-Rechnungen korrekt erzeugt werden. Das bedeutet, dass du dich regelmäßig darüber informieren musst, wie korrekte Rechnungen erstellt werden und dies ggf. immer nachkorrigieren. 

    Was ich umgesetzt hatte war, dass ich mir einen Account bei papierkram.de gebucht habe. Dort wird für einen kleinen Euro-Betrag pro Monat eine API zur Verfügung gestellt.

    Über diese kann man 

    a) deine Stammdaten zu deinen Mitgliedern in Papierkram auslesen, einspielen und aktualisieren 

    b) Neue Rechnungen erstellen auf Basis dieser Daten 

    c) Die Rechnungen als pdf wieder abrufen und in Ninox importieren. 

    Dadurch stellst du sicher, dass die Abrechnungen korrekt sind, bzw. papierkram.de muss sich drum kümmern, dass sie immer up to date sind mit den aktuellsten Regularien rund um E-Rechnungen. Damit lagerst du einen Teil deiner Kopfschmerzen aus - für unter 10 EUR/Monat - und kannst dich mehr auf das "bessere Ninox-System" konzentrieren anstelle auf "immer bei E-Rechnungen alle technischen Details berücksichtigen".

Content aside

  • vor 7 StundenZuletzt aktiv
  • 7Antworten
  • 56Ansichten
  • 3 Folge bereits