Sha256: e438b7727d4627b7d96d07aeab141210552034c9a756b63fe0c237688ff34749
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
module SolidusAvataxCertified module Request class ReturnTax < SolidusAvataxCertified::Request::Base def initialize(order, opts={}) super @refund = opts[:refund] end def generate @request = { DocCode: order.number.to_s + '.' + @refund.id.to_s, DocDate: Date.today.strftime('%F'), Commit: @commit, DocType: @doc_type ? @doc_type : 'ReturnOrder', Addresses: address_lines, Lines: sales_lines }.merge(base_tax_hash) check_vat_id @request end protected def doc_date Date.today.strftime('%F') end def base_tax_hash super.merge(tax_override) end def tax_override { TaxOverride: { TaxOverrideType: 'TaxDate', Reason: @refund.try(:reason).try(:name).limit(255) || 'Return', TaxDate: order.completed_at.strftime('%F') } } end def sales_lines @sales_lines ||= SolidusAvataxCertified::Line.new(order, @doc_type, @refund).lines end end end end
Version data entries
3 entries across 3 versions & 1 rubygems