# shippingCosts in API-Post erzeugt Fehler

**URL:** <https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158>\
**Category:** Shopware 6 (German)\
**Created:** [4. November 2025 um 15:13 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158 "2025-11-04T15:13:29Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [4. November 2025 um 15:13 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/1 "2025-11-04T15:13:29Z")

</div>

Versuche über die API (SW 6.7.3.0) eine Bestellung zu erzeugen. Bei der Übergabe der Versandkosten (shippingCosts) habe ich jetzt jedoch große Fragezeichen im Gesicht. Oder ich bin total blind.

Mein Script:

```auto
$data['shippingCosts'] = [
  'unitPrice' => 0,
  'totalPrice' => 0,
  'quantity' => 1,

  'calculatedTaxes' => ['price' => 0, 'tax' => 0, 'taxRate' => 19],
  'taxRules' => ['taxRate' => 19, 'percentage' => 100] 
];

```

Fehlermeldung von der API:

```auto
Argument #1 ($tax) must be of type array, int given
[file] => .../shopware/core/Framework/DataAbstractionLayer/FieldSerializer/CartPriceFieldSerializer.php
[line] => 49

```

Auszug aus dieser Funktion:

```auto
$taxRules = array_map(
  fn (array $tax) => new TaxRule( <-- line 49
    (float) $tax['taxRate'],
    (float) $tax['percentage']
  ),
 $decoded['taxRules']
);

```

Ich verstehe die Fehlermeldung nicht. Es wird doch ein Array übergeben.

---

<div class="post-metadata">

**Author:** ![raymond-de](https://avatars.discourse-cdn.com/v4/letter/r/7feea3/32.png) [@raymond-de](https://forum.shopware.com/u/raymond-de)\
**Post date:** [4. November 2025 um 16:26 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/2 "2025-11-04T16:26:05Z")

</div>

Ne .0 Version…vielleicht klappt es wieder mit der gerade erschienenen 6.7.4.0?

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [4. November 2025 um 16:29 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/3 "2025-11-04T16:29:00Z")

</div>

Hast du evtl. ein array drum herum vergessen? Shopware erwartet hier ein array an Regeln.

‚taxRules‘ =\> [[‚taxRate‘ =\> 19, ‚percentage‘ =\> 100]]

Viele Grüße

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [5. November 2025 um 06:51 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/4 "2025-11-05T06:51:44Z")

</div>

> [@EikeBrandtWarneke](#):
>
> Hast du evtl. ein array drum herum vergessen?

Also nach meiner Ansicht ist das schon ein Array:

```auto
'taxRules' => ['taxRate' => 19, 'percentage' => 100] 

```

Auch das dopplet gemoppeltes Array

```auto
'taxRules' => [[ 'taxRate' => 19, 'percentage' => 100] ] 

```

zeigt exakt die selbe Fehlermeldung.

Selbe Zeile ist übrigens auch beim Preis enthalten und da gibt es keine Fehlermeldung. 🤔

---

<div class="post-metadata">

**Author:** ![web-grips](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/web-grips/32/22792_2.png) [@web-grips](https://forum.shopware.com/u/web-grips)\
**Post date:** [5. November 2025 um 07:48 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/5 "2025-11-05T07:48:19Z")

</div>

```auto
$order['shippingCosts'] = 
['unitPrice' => $value['DELCOST'],
 'totalPrice' => $value['DELCOST'],
 'quantity' => 1,
 'calculatedTaxes' => [['tax' => $value['DELCOST'],
                          'taxRate' => $value['DELVAT'],
                          'price' => $value['DELCOST'],
                        ]],
 'taxRules' => [['taxRate' => $value['DELVAT'],
                          'percentage'=> 100,
                        ]],
];

```

So hat das bisher funktioniert.

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [5. November 2025 um 07:54 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/6 "2025-11-05T07:54:23Z")

</div>

> [@web-grips](#):
>
> So hat das bisher funktioniert.

Möglich, dass es bisher mal so war, aber aktuell ist das sehr komisch.

Kleiner Test:

```auto
$data['price'] = [
  'netPrice' => 100.84,
  'totalPrice' => 120,
  'positionPrice' => 120,
  'rawTotal' => 120,
  'taxStatus' => 'gross',
  
  'calculatedTaxes' => [['tax' => 19.16, 'taxRate' => 19]],
  'taxRules' => [['taxRate' => 19, 'percentage' => 100]] 
];

```

Fehler:

> Warning: Undefined array key „price“

```auto
$data['shippingCosts'] = [
  'unitPrice' => 0,
  'totalPrice' => 0,
  'quantity' => 1,

  'calculatedTaxes' => [['price' => 0, 'tax' => 0, 'taxRate' => 19]],
  'taxRules' => [['taxRate' => 19, 'percentage' => 100]]
];

```

Fehler:

> Argument #1 ($tax) must be of type array, int given

Also ich kann das nicht nachvollziehen.

**Nachtrag:**

Habe soeben auf 6.7.4.0 aktualisiert - Fehlermeldung bliebt unverändert 🤔

---

<div class="post-metadata">

**Author:** ![web-grips](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/web-grips/32/22792_2.png) [@web-grips](https://forum.shopware.com/u/web-grips)\
**Post date:** [5. November 2025 um 08:13 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/7 "2025-11-05T08:13:54Z")

</div>

Hm, dann schau mal über den Admin beim Erstellen einer Order, ob sich dort im Request etwas geändert hat. Die Doku sagt auch nichts Neues dazu ([Create a new Order resources. | Admin API](https://shopware.stoplight.io/docs/admin-api/52ce9936f6ea4-create-a-new-order-resources))

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [5. November 2025 um 08:18 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/8 "2025-11-05T08:18:37Z")

</div>

> [@web-grips](#):
>
> Die Doku sagt auch nichts Neues dazu

Mit der Doku bau ich ja meine API-Anwenung 🙂 Ist aber an dieser Stelle nicht wirklich hilfreich (das kenne ich schon).

```auto
taxRules object
Pricing based on multiple taxes.

```

Keine weiteren Angaben. Laut Doku ist das Feld nicht mal ein Pflichtfeld. Die API will aber dennoch diesen Wert 🤔

---

<div class="post-metadata">

**Author:** ![vhafner](https://avatars.discourse-cdn.com/v4/letter/v/5f8ce5/32.png) [@vhafner](https://forum.shopware.com/u/vhafner)\
**Post date:** [15. Februar 2026 um 14:25 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/9 "2026-02-15T14:25:45Z")

</div>

gibts dazu schon was neues? ich hänge da auch gerade und kann keine order erstellen.

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [16. Februar 2026 um 07:06 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/10 "2026-02-16T07:06:05Z")

</div>

Habe das aus zeitgründen nicht mehr verfolgt. Werde mich damit aber noch mal beschäftigen müssen.

---

<div class="post-metadata">

**Author:** ![vhafner](https://avatars.discourse-cdn.com/v4/letter/v/5f8ce5/32.png) [@vhafner](https://forum.shopware.com/u/vhafner)\
**Post date:** [16. Februar 2026 um 07:19 UTC](https://forum.shopware.com/t/shippingcosts-in-api-post-erzeugt-fehler/108158/11 "2026-02-16T07:19:15Z")

</div>

danke

einerseits sollte es gar nicht required sein, aber wenn ich es nicht mitschicke, kommt fehler, dass es fehlt

und wenn ich es mitschicke, kommt fehler, dass es ein array sein muss…

und auch das beispiel aus der doku mit der ganz simplen, leeren bestellung funktioniert auch nicht

hat wer ein beispiel-payload mit einer “leeren” minimal-bestellung (das man danach ev.über die API befüllen kann)?
