Skip to content

Canadian shipments Retrieve rates including Duties and Taxes

geermc4 edited this page Nov 29, 2012 · 3 revisions

Fedex API allows you to retrieve Duties and Taxes associated to shipments going to Canada, please be sure to check the documentation and talk to your Fedex representative to make sure you have the right information.

Below is an example of how to pass Customs Clearance Information(I strongly recommended you to validate your results and work with a Fedex rep to make sure your charges are accurate).

shipper = {:name => "Sender", 
           :company => "Company",   
           :phone_number => "555-555-5555",      
           :address => "Main Street", 
           :city => "Harrison", 
           :state => "AR", 
           :postal_code => "72601", 
           :country_code => "US"}

packages = []
packages << {:weight => {:units => "LB", 
                         :value => 2}, 
             :dimensions => {:length => 10, 
                             :width => 5, 
                             :height => 4, :units => "IN" } }
packages << {:weight => {:units => "LB", 
                         :value => 6}, 
             :dimensions => {:length => 5, 
                             :width => 5, 
                             :height => 4, 
                             :units => "IN" } }

canadian_recipient = {:name => "Recipient", 
                      :company => "Company", 
                      :phone_number => "555-555-5555", 
                      :address=>"Address Line 1", 
                      :city => "Richmond", 
                      :state => "BC", 
                      :postal_code => "V7C4V4", 
                      :country_code => "CA", 
                      :residential => "true" }
broker = {:account_number => "123456",
          :tins => {:tin_type => "BUSINESS_NATIONAL",
                    :number  => "431870271",
                    :usage => "Usage" },
          :contact => {:contact_id => "1",
                       :person_name => "Broker Name",
                       :title => "Broker",
                       :company_name => "Broker One",
                       :phone_number => "555-555-5555",
                       :phone_extension => "555-555-5555",
                       :pager_number => "555",
                       :fax_number=> "555-555-5555",
                       :e_mail_address => "[email protected]" },
          :address => {:street_lines => "Main Street",
                       :city => "Franklin Park",
                       :state_or_province_code => 'IL',
                       :postal_code => '60131',
                       :urbanization_code => '123',
                       :country_code => 'US',
                       :residential => 'false' } }

clearance_brokerage = "BROKER_INCLUSIVE"           

importer_of_record= {:account_number => "22222",
                     :tins => {:tin_type => "BUSINESS_NATIONAL",
                               :number  => "22222",
                               :usage => "Usage" },
                     :contact => { :contact_id => "1",
                                   :person_name => "Importer Name",
                                   :title => "Importer",
                                   :company_name => "Importer One",
                                   :phone_number => "555-555-5555",
                                   :phone_extension => "555-555-5555",
                                   :pager_number => "555",
                                   :fax_number=> "555-555-5555",
                                   :e_mail_address => "[email protected]" },
                     :address => {:street_lines => "Main Street",
                                  :city => "Chicago",
                                  :state_or_province_code => 'IL',
                                  :postal_code => '60611',
                                  :urbanization_code => '2308',
                                  :country_code => 'US',
                                  :residential => 'false' } }

recipient_customs_id = {:type => 'COMPANY',
                        :value => '1254587' }


duties_payment = {:payment_type => "SENDER", 
                  :payor => {:account_number => "123456",
                             :country_code => "US" } } 

customs_value = {:currency => "USD",
                 :amount => "200" }                    
commodities = []                               
commodities << {:name => "Cotton Coat",
                :number_of_pieces => "2", 
                :description => "Cotton Coat",
                :country_of_manufacture => "US",
                :harmonized_code => "6103320000", 
                :weight => {:units => "LB", :value => "2"},
                :quantity => "3",
                :unit_price => {:currency => "USD", :amount => "50" },
                :customs_value => {:currency => "USD", :amount => "150" } }

commodities << {:name => "Poster",
                :number_of_pieces => "1", 
                :description => "Paper Poster",
                :country_of_manufacture => "US",
                :harmonized_code => "4817100000", 
                :weight => {:units => "LB", :value => "0.2"},
                :quantity => "3",
                :unit_price => {:currency => "USD", :amount => "50" },
                :customs_value => {:currency => "USD", :amount => "150" } }                 

 customs_clearance = {:broker => broker, 
                      :clearance_brokerage => clearance_brokerage, 
                      :importer_of_record => importer_of_record, 
                      :recipient_customs_id => recipient_customs_id, 
                      :duties_payment => duties_payment, 
                      :customs_value => customs_value,
                      :commodities => commodities }

fedex = Fedex::Shipment.new(credentials_hash) 
rate = fedex.rate({:shipper => shipper, :recipient => canadian_recipient, :packages => packages, :service_type => "FEDEX_GROUND", :customs_clearance => customs_clearance})
rate.total_net_charge #Includes Duties and Taxes
Clone this wiki locally