Alle Abo-Rechnungen auflisten

GET /api/recurrings
<?xml version="1.0" encoding="UTF-8"?>
<recurrings type="array" page="1" per_page="100" total="2">
    <recurring>
        ...
    </recurring>
    <recurring>
        ...
    </recurring>
</recurrings>

Über Parameter kann gefiltert werden:

GET /api/recurrings?label=foo

Listet alle Abo-Rechnungen auf, die „foo“ in der Bezeichnung haben. Groß- und Kleinschreibung wird ignoriert.
Folgende Filter-Parameter stehen zur Verfügung:

ParameterBeschreibung
client_idID des Kunden
contact_idID des Kontakts
nameDer Name der Abo-Rechnung
payment_typeZahlart (z.B. CASH, BANK_TRANSFER, PAYPAL, …). Mehrere Zahlarten können per Komma getrennt werden und werden ODER-Verknüpft. Eine Übersicht aller Zahlarten findet man bei der API-Dokumentation für Zahlungen.
cycleIntervall (DAILY, WEEKLY, MONTHLY, YEARLY).
labelFreitextsuche in der Bezeichnung
introFreitextsuche im Einleitungstext
noteFreitextsuche im Anmerkungstext
tagsKommaseparierte Liste der Schlagworte

Einzelne Abo-Rechnung aufrufen

GET /api/recurrings/{id}
<?xml version="1.0" encoding="UTF-8"?>
<recurring>
    <id type="integer">2</id>
    <created type="datetime">2012-03-02T16:17:41+01:00</created>
    <client_id type="integer">33234</client_id>
    <contact_id type="integer" />
    <template_id type="integer" />
	<email_template_id type="integer" />
    <currency_code>EUR</currency_code>
    <name>Monatsmiete</name>
    <title>Rechnung</title>
    <cycle_number>1</cycle_number>
    <cycle>MONTHLY</cycle>
    <action>EMAIL</action>
    <hour type="integer">16</hour>
    <start_date type="date">2012-03-03</start_date>
    <end_date type="date">2012-10-11</end_date>
    <last_creation_date type="date">2012-05-25</last_creation_date>
    <next_creation_date type="date">2012-06-01</next_creation_date>
    <iterations type="integer">0</iterations>
    <counter type="integer">9</counter>
    <address />
    <due_days type="integer">0</due_days>
    <discount_rate type="float">1.1</discount_rate>
    <discount_days type="integer">7</discount_days>
    <intro>Hiermit berechnen wir für...</intro>
    <note>Vielen Dank für Ihren Auftrag</note>
    <total_gross type="float">107.1</total_gross>
    <total_net type="float">90.0</total_net>
    <net_gross>NET</net_gross>
    <reduction>10</reduction>
    <total_gross_unreduced type="float">119.0</total_gross_unreduced>
    <total_net_unreduced type="float">100.0</total_net_unreduced>
    <quote type="float">1.0000</quote>
    <ultimo type="integer">1</ultimo>
    <label />
    <supply_date_type>SUPPLY_TEXT</supply_date_type>
    <supply_date>[Dates.month]</supply_date>
    <email_sender />
    <email_subject />
    <email_message />
    <email_filename />
	<email_bcc />
    <letter_color>0</letter_color>
    <letter_duplex>1</letter_duplex>
    <letter_paper_weight>90</letter_paper_weight>
    <payment_types />
    <offer_id>777</offer_id>
    <confirmation_id />
</recurring>

cycle kann folgende Werte haben:
– DAILY
– WEEKLY
– MONTHLY
– YEARLY
action kann folgende Werte haben:
– CREATE (erstellen)
– COMPLETE (abschließen)
– EMAIL (Versand per E-Mail)
– MAIL (Versand per Post)
supply_date_type kann folgende Werte haben:
– SUPPLY_DATE (Leistungsdatum als Datum)
– DELIVERY_DATE (Lieferdatum als Datum)
– SUPPLY_TEXT (Leistungsdatum als Freitext)
– DELIVERY_TEXT (Lieferdatum als Freitext)
net_gross kann folgende Werte haben:
– NET (Netto-Preise)
– GROSS (Brutto-Preise)
Bei den Zahlarten handelt es sich um eine durch Komma getrennte Liste. Die Namen der Zahlarten werden bei den Zahlungen aufgelistet.
Die Abo-Rechnungspositionen können gesondert abgerufen werden.

Abo-Rechnung erstellen

POST /api/recurrings

Erstellt eine neue Abo-Rechnung.

XML-ElementBeschreibungTypDefault-WertPflichtfeld
client_idID des KundenINTja
contact_idID des KontaktsINT
template_idID der VorlageINT
email_template_idID der E-Mail-VorlageINT
titleDokumentenüberschriftALNUM
addresskomplette Abo-RechnungsadresseALNUMAdresse des Kunden (wird ein leerer Wert übergeben, wird die aktuelle Kunden-Adresse verwendet)
supply_dateLiefer-/LeistungsdatumMIXED (DATE/ALNUM)
supply_date_typeTyp des Feldes Liefer-/LeistungsdatumALNUM („SUPPLY_DATE“, „DELIVERY_DATE“, „SUPPLY_TEXT“, „DELIVERY_TEXT“)
due_daysFälligkeit in TagenINTFälligkeit in Tagen aus Einstellungen
discount_rateSkonto in ProzentFLOATWert aus Einstellungen
discount_daysSkontozeitraum in TagenINTSkontozeitraum in Tagen aus Einstellungen
nameName der Abo-RechnungALNUM
labelBezeichnungALNUM
introEinleitungstextALNUMWert aus Einstellungen
noteAnmerkungstextALNUMWert aus Einstellungen
currency_codeWährungISO-WährungscodeStandard-Währung
reductionRabatt (Absolut oder als Prozentwert: 10/10%)ALNUM
net_grossPreisbasis (Brutto- oder Netto-Preise)ALNUM („NET“, „GROSS“)Wert aus den Einstellungen
quoteWährungskurs (für Abo-Rechnung in Standard-Währung)FLOAT1.0000
payment_typesakzeptierte Zahlarten (kommasepariert)ALNUMWert aus den Einstellungen
actionAuszuführende Aktion (CREATE, COMPLETE, EMAIL, MAIL)ALNUMCREATE
cycle_numberAnzahl des Intervals. Zum Beispiel 3 für „alle 3 Monate“INT1
cycleInterval (DAILY, WEEKLY, MONTHLY, YEARLY)ALNUMMONTHLY
hourTageszeit (Stunde)INT2
start_dateStart-DatumDATEaktuelles Datum
end_dateEnd-DatumDATE
next_creation_dateDatum für nächste ErstellungDATEstart_date
email_senderAbsender beim Versand per E-Mail. Wird ein leerer Wert übergeben, wird der Absender aus den Einstellungen verwendet.ALNUM
email_subjectBetreff beim Versand per E-Mail. Wird ein leerer Wert übergeben, wird der Betreff aus den Einstellungen verwendet.ALNUM
email_messageNachricht beim Versand per E-Mail. Wird ein leerer Wert übergeben, wird der Nachrichtentext aus den Einstellungen verwendet.ALNUM
email_filenameDateiname der Rechnungs-PDF beim Versand per E-Mail. Wird ein leerer Wert übergeben, wird der Dateiname aus den Einstellungen verwendet.ALNUM
email_bccGibt an, ob der Absender ins BCC gesetzt werden soll.BOOL
letter_colorGibt an, ob ein Farbdruck beauftragt werden soll.BOOL0
letter_duplexGibt an, ob Duplexdruck beauftragt werden soll.BOOL1
letter_paper_weightWelche Papierstärke in Gramm soll das Papier haben? Mögliche Werte sind 80 oder 90.INT90
offer_idDie ID des Angebots, wenn die Abo-Rechnung aus einem Angebot erstellt wurde.INT
confirmation_idDie ID der Auftragsbestätigung, wenn die Abo-Rechnung aus einer Auftragsbestätigung erstellt wurde.INT
free_text_idDie ID des Freitextes zur Belegung von title, label, intro und note.INT

Die übrigen Eigenschaften der Abo-Rechnung werden automatisch berechnet.
Abo-Rechnungspositionen (recurring-items) können bei der Erstellung direkt mit angegeben werden. Es gelten die gleichen XML-Elemente wie unter Abo-Rechnungsposition erstellen. Nur das XML-Element recurring_id muss nicht mit angegeben werden.

<recurring>
    <client_id>1</client_id>
    <start_date>2011-11-18</start_date>
    <note>Vielen Dank für Ihren Auftrag</note>
    <recurring-items>
        <recurring-item>
            <unit>Stück</unit>
            <unit_price>1.23</unit_price>
            <quantity>1.5</quantity>
            <title>Muster</title>
        </recurring-item>
        <recurring-item>
            <unit>Stunde</unit>
            <unit_price>90</unit_price>
            <quantity>8</quantity>
            <title>Arbeiten</title>
        </recurring-item>
    </recurring-items>
</recurring>
<?xml version="1.0" encoding="UTF-8"?>
<recurring>
    <id type="integer">1234</id>
    <client_id type="integer">1</client_id>
    <created type="datetime">2007-12-13T12:12:00+01:00</created>
    <start_date type="date">2011-11-18</start_date>
    ...
</recurring>

Abo-Rechnung bearbeiten

PUT /api/recurrings/{id}

Abo-Rechnungspositionen können nicht direkt über die Abo-Rechnung bearbeitet werden. Bitte dafür über die entsprechende Ressource gehen.

<recurring>
    <name>Monatsmiete</name>
</recurring>

Abo-Rechnung löschen

DELETE /api/recurrings/{id}

Löscht eine Abo-Rechnung inkl. aller dazugehöriger Abo-Rechnungspositionen.