精确 API - SalesOrderLines(项目必填:单位),即使单位存在

Exact API - SalesOrderLines (Item Mandatory: Unit) even when the unit is there

我们将订单导入适用于英国、荷兰的 Exact API,但现在我们也尝试导入德国订单。我们已设置好所有内容,但是当我们尝试导入订单时,出现如下错误:

Item Mandatory: Unit

即使我们尝试以不同方式导入单位,它也会显示此

Invalid Reference: Unit

我们无法弄清楚为什么它不起作用,但在英国和荷兰它就像一个魅力。

DE订单导入有一段代码

/** @var \Picqer\Financials\Exact\Item $item */
$item = ExactItem::getItemByEan($connection, $i->product_ean);

if (isset($item)) {
    $unitPrice = round(doubleval($i->product_item_price_no_vat), 4);
    $unitPriceVat = round(doubleval($i->product_item_price), 4);

    $unitCode = $item->Unit;

    if ($client == ExactController::CLIENT_NL) {
        $item = [
            'Item' => $item->ID,
            'Quantity' => $i->product_quantity,
            'ItemCode' => $i->product_ean,
            'ItemDescription' => $i->product_name
        ];
    } else {
        $item = [
            'Item' => $item->ID,
            'Quantity' => $i->product_quantity,
            'ItemCode' => $i->product_ean,
            'ItemDescription' => $i->product_name
        ];
    }

    if ($client == ExactController::CLIENT_DE) {
        $item["UnitCode"] = $unitCode;
    }


    if ($client == ExactController::CLIENT_NL || $client == ExactController::CLIENT_DE) {
        //$item['NetPrice'] = $unitPrice;
        $item['UnitPrice'] = $unitPriceVat;
    } else {
        $item['UnitPrice'] = $unitPrice;
    }
}

当你遇到这个问题并且知道如何解决时,它肯定会有所帮助。

PS:我尝试将 UnitCode 设置为 ID、Code 但没有帮助。

我们找到了解决办法!

问题是当我们尝试将运费作为一个项目导入时,运费在 Exact DE 中没有定义,但在 UK 和 NL 中定义了。

直到现在我们也不知道为什么它说单位有问题。