Run my Accounts API: Beispiel A5.1 - Rechnung mit Artikel einbuchen

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:

<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

Aufruf:

POST https://service.runmyaccounts.com/api/latest/clients/{mandant}/invoices

<?xml version="1.0" encoding="UTF-8"?>
<invoice>
   <invnumber>A5.1</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>Rechnung September 2011</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>
         <partnumber>ART-1</partnumber>
         <description>Beispiel Artikel 1</description>
         <unit />
         <quantity>1.0</quantity>
         <sellprice>600.0</sellprice>
         <discount>0.0</discount>
         <itemnote />
      </part>
   </parts>
</invoice>

JSON:

    {
       "invnumber": "A5.1",
       "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": "Rechnung September 2011",
       "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":
           {
               "partnumber": "ART-1",
               "description": "Beispiel Artikel 1",
               "unit": "",
               "quantity": "1.0",
               "sellprice": "600.0",
               "discount": "0.0",
               "itemnote": "",
           }
       }
    }

Antwort:

204 No Content