gabrielbull/php-ups-api

Missing TaxInformationIndicator support

hsmusz opened this issue · 1 comments

When using Rates API with NegotiatedRatesIndicator, by default all prices are returned as NetSummaryCharges with only Netto values.

 +NegotiatedRates: Ups\Entity\NegotiatedRates {#4173
    +NetSummaryCharges: Ups\Entity\NetSummaryCharges {#4177
      +GrandTotal: Ups\Entity\Charges {#4179
        +CurrencyCode: "PLN"
        +MonetaryValue: 44.55
        +Code: null
        +Description: null
        +SubType: null
      }
      +TotalChargesWithTaxes: null
    }
  }

To get Gross prices we need to add TaxInformationIndicator node in the Shipment part of the request

Info from Rating - PackageXML Developer Guide - October 28, 2020

/RatingServiceSelectionRequest/Shipment/TaxInformationIndicator

Required: No
Type: String
Max Allowed: 1
Length: 0

Presence/Absence Indicator. Any value inside is ignored. 
TaxInformationIndicator is an indicator. 
The Tax related information includes any type of Taxes, 
corresponding Monetary Values, Total Charges with Taxes 
and disclaimers (if applicable) would be returned in response.

Current response class is aware and capable of handling Charges with taxes - so no changes there are needed

 +NegotiatedRates: Ups\Entity\NegotiatedRates {#4198
    +NetSummaryCharges: Ups\Entity\NetSummaryCharges {#4202
      +GrandTotal: Ups\Entity\Charges {#4204
        +CurrencyCode: "PLN"
        +MonetaryValue: 44.55
        +Code: null
        +Description: null
        +SubType: null
      }
      +TotalChargesWithTaxes: Ups\Entity\Charges {#4203
        +CurrencyCode: "PLN"
        +MonetaryValue: 54.8
        +Code: null
        +Description: null
        +SubType: null
      }
    }
  }

Merged and tagged thank you!