Run my Accounts API: Ansicht einer Rechnung

Über folgende Aufrufe können Sie den Inhalt einer Rechnung übers API abrufen:

GET https://service.runmyaccounts.com/api/latest/clients/{mandantenname}/invoices/{invoice_number}

Rechnungen bzw. Gutschriften könne über zwei Varianten erfasst werden:

  1. Buchungsvariante: Als Positionen werden direkt Buchhaltungskonten angegeben.
  2. Variante über Artikel

Buchungsvariante

Antwort

XML/JSON ElementBeschreibungDefault WertFeldtypPflicht Wert
invnumber <PK>Rechnungsnummer, eindeutiges Wert, welcher die Rechnung identifiziert. TEXTja
ordnumberBestellnummer TEXT
statusMögliche Werte sind: OPEN,OVERDUE,PAIDOPEN
currencyWährungCHFISO-Währungscode
ar_accnoDebitoren Konto Nummer1100INT
payment_accnoZahlungskonto, bestimmt zum Beispiel auch die ESR Erstellung1020INT
transdateRechnungsdatumjetztZEITSTEMPEL
duedateFälligkeitsdatum ZEITSTEMPELja
descriptionRechnungstitel TEXT
notesNotizen zur Rechnung TEXT
intnotesInterne Notizen zur Rechnung TEXT
taxincludedInklusive oder exklusive MWST BOOLEAN
dcnESR TEXT
departmentKostenstelle TEXT
customerKunde (def. siehe unten) ELEMENTja
incomeentriesListe von Buchungen (def. siehe unten) ELEMENTja
taxentriesListe von MWST Buchungen (def. siehe unten) ELEMENT

Das <customer> Element ist hier beschrieben.

<incomeentry> Element:

XML/JSON ElementBeschreibungDefault WertFeldtypPflicht Wert
amountBetrag DOUBLEja
income_accnoErtragskontonummer INTja
descriptionBeschreibung der Buchung TEXT

<taxentry> Element:

XML/JSON ElementBeschreibungDefault WertFeldtypPflicht Wert
amountBetrag DOUBLEja
tax_accnoMWST Kontonummer INTja

Beispiele

https://service.runmyaccounts.com/api/latest/clients/apitest/invoices/R-001?api_key=d1bvbxkI8f1bnMBJ4sZiC-xupl4fOEzf

XML Beispiel Content:

<?xml version="1.0" encoding="UTF-8"?>
<invoice>
   <invnumber>R-001</invnumber>
   <ordnumber />
   <status>OVERDUE</status>
   <currency>CHF</currency>
   <ar_accno>1100</ar_accno>
   <transdate>2012-08-06T00:00:00+02:00</transdate>
   <duedate>2012-08-06T00:00:00+02:00</duedate>
   <description />
   <notes />
   <intnotes />
   <taxincluded>false</taxincluded>
   <customer>
      <id>10199</id>
      <customernumber>K-001</customernumber>
      <name>Muster AG</name>
      <created>2012-02-21T00:00:00+01:00</created>
      <contactId>0</contactId>
      <salutation>Herr</salutation>
      <firstname>Hans</firstname>
      <lastname>Muster</lastname>
      <addressId>0</addressId>
      <address1>Rössliweg 1</address1>
      <address2 />
      <zipcode />
      <city>Tenna</city>
      <state />
      <country />
      <phone />
      <fax />
      <mobile />
      <email>hmuster@muster.ch</email>
      <taxnumber />
      <taxfree>false</taxfree>
      <bank_name>CREDIT SUISSE</bank_name>
      <bank_address1 />
      <bank_address2 />
      <bank_zipcode>8070</bank_zipcode>
      <bank_city>ZÜRICH</bank_city>
      <bank_country>SCHWEIZ</bank_country>
      <bank_iban>CH3304835172037151000</bank_iban>
      <bank_bic>CRESCHZZ80L</bank_bic>
   </customer>
   <incomeentries>
      <incomeentry>
         <amount>99.0</amount>
         <income_accno>3400</income_accno>
         <description />
      </incomeentry>
   </incomeentries>
   <taxentries>
      <taxentry>
         <amount>7.92</amount>
         <tax_accno>2201</tax_accno>
      </taxentry>
   </taxentries>
</invoice>

JSON:


    {
       "invnumber": "R-001",
       "ordnumber": "",
       "status": "OVERDUE",
       "currency": "CHF",
       "ar_accno": "1100",
       "transdate": "2012-08-06T00:00:00+02:00",
       "duedate": "2012-08-06T00:00:00+02:00",
       "description": "",
       "notes": "",
       "intnotes": "",
       "taxincluded": "false",
       "customer":
       {
           "id": "10199",
           "customernumber": "K-001",
           "name": "Muster AG",
           "created": "2012-02-21T00:00:00+01:00",
           "contactId": "0",
           "salutation": "Herr",
           "firstname": "Hans",
           "lastname": "Muster",
           "addressId": "0",
           "address1": "Rössliweg 1",
           "address2": "",
           "zipcode": "",
           "city": "Tenna",
           "state": "",
           "country": "",
           "phone": "",
           "fax": "",
           "mobile": "",
           "email": "hmuster@muster.ch",
           "taxnumber": "",
           "taxfree": "false",
           "bank_name": "CREDIT SUISSE",
           "bank_address1": "",
           "bank_address2": "",
           "bank_zipcode": "8070",
           "bank_city": "ZÜRICH",
           "bank_country": "SCHWEIZ",
           "bank_iban": "CH3304835172037151000",
           "bank_bic": "CRESCHZZ80L"
       },
       "incomeentries":
       {
           "incomeentry":
           {
               "amount": "99.0",
               "income_accno": "3400",
               "description": ""
           }
       },
       "taxentries":
       {
           "taxentry":
           {
               "amount": "7.92",
               "tax_accno": "2201"
           }
       }
    }

Variante über Artikel

Alternativ zum Rechnung einbuchen über Ertragskonten, kann auch über Artikel verbucht werden. Wichtig dabei ist, dass die Artikel vorgängig bei Run my Accounts erstellt werden (sonst Fehler 400). Die Elemente <incomeentries> und <taxentries> fallen bei Artikel weg und werden durch das Element <parts> ersetzt. Diese Element enthält alle Artikel der Rechnung (Element <part>), welche wie folgt definiert sind:

Antwort

XML/JSON ElementBeschreibungDefault WertFeldtypPflicht Wert
invnumber <PK>Rechnungsnummer, eindeutiges Wert, welcher die Rechnung identifiziert. TEXTja
ordnumberBestellnummer TEXT
statusMögliche Werte sind: OPEN,OVERDUE,PAIDOPEN
currencyWährungCHFISO-Währungscode
ar_accnoDebitoren Konto Nummer1100INT
payment_accnoZahlungskonto1020INT
transdateRechnungsdatumjetztZEITSTEMPEL
duedateFälligkeitsdatum ZEITSTEMPELja
descriptionRechnungstitel TEXT
notesNotizen zur Rechnung TEXT
intnotesInterne Notizen zur Rechnung TEXT
taxincludedInklusive oder exklusive MWST BOOLEAN
dcnESR TEXT
customerKunde (def. siehe unten) ELEMENTja
partsListe von Artikeln (def. siehe unten) ELEMENTja

Das <customer> Element ist hier beschrieben.

<part> Element:

XML/JSON ElementBeschreibungDefault WertFeldtypPflicht Wert
partnumberArtikelnummer TEXTja
descriptionBeschreibung der RechnungspositionArtikelbeschreibTEXT
quantityAnzahl der Position1DOUBLE
unitEinheit TEXT(5)
sellpriceVerkaufspreisIm Artikel definierter PreisDOUBLE
discountDiscount in Prozentpunkten (Bsp. 10%)0DOUBLE
itemnoteZusatztext für Artikelbeschreibung TEXT
price_updateDatum der letzten Preisänderung ZEITSTEMPEL
projectnumberProjekt der Position TEXT

Beispiele

https://service.runmyaccounts.com/api/latest/clients/apitest/invoices/R-001?api_key=d1bvbxkI8f1bnMBJ4sZiC-xupl4fOEzf

XML Beispiel Content:

<?xml version="1.0" encoding="UTF-8"?>
<invoice>
   <invnumber>R-002</invnumber>
   <ordnumber />
   <status>OVERDUE</status>
   <currency>CHF</currency>
   <ar_accno>1100</ar_accno>
   <transdate>2012-08-06T00:00:00+02:00</transdate>
   <duedate>2012-08-06T00:00:00+02:00</duedate>
   <description />
   <notes />
   <intnotes />
   <taxincluded>false</taxincluded>
   <dcn />
   <customer>
      <id>10199</id>
      <customernumber>K-001</customernumber>
      <name>Muster AG</name>
      <created>2012-02-21T00:00:00+01:00</created>
      <contactId>0</contactId>
      <salutation>Herr</salutation>
      <firstname>Hans</firstname>
      <lastname>Muster</lastname>
      <addressId>0</addressId>
      <address1>Rössliweg 1</address1>
      <address2 />
      <zipcode />
      <city>Tenna</city>
      <state />
      <country />
      <phone />
      <fax />
      <mobile />
      <email>hmuster@muster.ch</email>
      <taxnumber />
      <taxfree>false</taxfree>
      <bank_name>CREDIT SUISSE</bank_name>
      <bank_address1 />
      <bank_address2 />
      <bank_zipcode>8070</bank_zipcode>
      <bank_city>ZÜRICH</bank_city>
      <bank_country>SCHWEIZ</bank_country>
      <bank_iban>CH3304835172037151000</bank_iban>
      <bank_bic>CRESCHZZ80L</bank_bic>
   </customer>
   <parts>
      <part>
         <income_accno>3000</income_accno>
         <partnumber>ART-1</partnumber>
         <description>Beispiel Artikel 1</description>
         <unit />
         <quantity>5.0</quantity>
         <sellprice>99.0</sellprice>
         <discount>0.0</discount>
         <itemnote />
         <price_update>2012-08-06T09:29:05.857+02:00</price_update>
      </part>
   </parts>
</invoice>

JSON:

    {
       "invnumber": "R-002",
       "ordnumber": "",
       "status": "OVERDUE",
       "currency": "CHF",
       "ar_accno": "1100",
       "transdate": "2012-08-06T00:00:00+02:00",
       "duedate": "2012-08-06T00:00:00+02:00",
       "description": "",
       "notes": "",
       "intnotes": "",
       "taxincluded": "false",
       "dcn": "",
       "customer":
       {
           "id": "10199",
           "customernumber": "K-001",
           "name": "Muster AG",
           "created": "2012-02-21T00:00:00+01:00",
           "contactId": "0",
           "salutation": "Herr",
           "firstname": "Hans",
           "lastname": "Muster",
           "addressId": "0",
           "address1": "Rössliweg 1",
           "address2": "",
           "zipcode": "",
           "city": "Tenna",
           "state": "",
           "country": "",
           "phone": "",
           "fax": "",
           "mobile": "",
           "email": "hmuster@muster.ch",
           "taxnumber": "",
           "taxfree": "false",
           "bank_name": "CREDIT SUISSE",
           "bank_address1": "",
           "bank_address2": "",
           "bank_zipcode": "8070",
           "bank_city": "ZÜRICH",
           "bank_country": "SCHWEIZ",
           "bank_iban": "CH3304835172037151000",
           "bank_bic": "CRESCHZZ80L"
       },
       "parts":
       {
           "part":
           {
               "income_accno": "3000",
               "partnumber": "ART-1",
               "description": "Beispiel Artikel 1",
               "unit": "",
               "quantity": "5.0",
               "sellprice": "99.0",
               "discount": "0.0",
               "itemnote": "",
               "price_update": "2012-08-06T09:30:54.679+02:00"
           }
       }
    }