Posted on 21/05/2021 11:18:46
Hi Nicolai,
Not implementation specific at all unfortunately. We store it in the Shipping/Payment method records, but just use it in Live Integration though, when exporting the order.
i.e.
- For B2B , in Dynamicweb you set up "FedEx Ground" and "FedEx 2 days" as 2 separate shipping methods. This is pretty common (even a 3rd or 4th variation of FedEx)
- In Dynamicweb that means SHIP1, SHIP2, SHIP3 and SHIP4
- In the ERP they need to convert that into
- Shipping Agent "Code" - which would mean "FedEx" or "FEDEX" or "FEX" - whatever they identify FedEx with
- Shipping Agent "Method" - which would mean "Ground" or "GRD" or "2DAY"...
- (I know I mentioned Shipping method too, but I don't recall how the integration team uses it and they are asleep still, so I can't ask them now, but it's used)
That mapping always needs to be set and is what allows the ERP to then integrate with the carrier and get the shipping labels, generate track and trace and whatnot according to the user's choice in the website.
The same process happens with Payment. Also because more than often in B2B (in the USA at least), a CC Authorization is performed in DW, then we integrate the order to the ERP, and the ERP, having also an integration with the same payment provider because of offline orders, it's the ERP that captures the amount (based on the authorization generated from DW). This means we need to say that PAY1 = whatever payment method code they have in the ERP.
Why set the mapping in DW and not the code unit/ERP?
The biggest reason is environments. Whether that's Dev, Staging, UAT, Prod we may be generating different methods, so DW's IDs sometimes don't match. i.e. SHIP10 in Dev may be SHIP8 in QA, but for the ERP it's the same.
Does that make more sense?
Best Regards,
Nuno Aguiar