Class: Merge::Accounting::VendorCreditRequest
- Inherits:
-
Object
- Object
- Merge::Accounting::VendorCreditRequest
- Defined in:
- lib/merge_ruby_client/accounting/types/vendor_credit_request.rb
Overview
The VendorCredit Object
Description
A VendorCredit is transaction issued by a vendor to the accounting company,
indicating a reduction or cancellation of the amount owed to the vendor. It is
most generally used as an adjustment note used to rectify errors, returns, or
overpayments related to a purchasing transaction. A VendorCredit can be
applied to Accounts Payable Invoices to decrease the overall amount of the
Invoice.
Usage Example
Fetch from the GET VendorCredit endpoint and view a company's vendor credits.
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#accounting_period ⇒ Merge::Accounting::VendorCreditRequestAccountingPeriod
readonly
The accounting period that the VendorCredit was generated in.
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#applied_to_lines ⇒ Array<Merge::Accounting::VendorCreditApplyLineForVendorCreditRequest>
readonly
A list of VendorCredit Applied to Lines objects.
-
#company ⇒ Merge::Accounting::VendorCreditRequestCompany
readonly
The company the vendor credit belongs to.
-
#currency ⇒ Merge::Accounting::TransactionCurrencyEnum
readonly
The vendor credit's currency.
-
#exchange_rate ⇒ String
readonly
The vendor credit's exchange rate.
-
#inclusive_of_tax ⇒ Boolean
readonly
If the transaction is inclusive or exclusive of tax.
- #integration_params ⇒ Hash{String => Object} readonly
- #linked_account_params ⇒ Hash{String => Object} readonly
-
#number ⇒ String
readonly
The vendor credit's number.
-
#total_amount ⇒ Float
readonly
The vendor credit's total amount.
- #tracking_categories ⇒ Array<Merge::Accounting::VendorCreditRequestTrackingCategoriesItem> readonly
-
#transaction_date ⇒ DateTime
readonly
The vendor credit's transaction date.
-
#vendor ⇒ Merge::Accounting::VendorCreditRequestVendor
readonly
The vendor that owes the gift or refund.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ Merge::Accounting::VendorCreditRequest
Deserialize a JSON object to an instance of VendorCreditRequest.
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
Instance Method Summary collapse
- #initialize(number: OMIT, transaction_date: OMIT, vendor: OMIT, total_amount: OMIT, currency: OMIT, exchange_rate: OMIT, inclusive_of_tax: OMIT, company: OMIT, tracking_categories: OMIT, applied_to_lines: OMIT, accounting_period: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) ⇒ Merge::Accounting::VendorCreditRequest constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of VendorCreditRequest to a JSON object.
Constructor Details
#initialize(number: OMIT, transaction_date: OMIT, vendor: OMIT, total_amount: OMIT, currency: OMIT, exchange_rate: OMIT, inclusive_of_tax: OMIT, company: OMIT, tracking_categories: OMIT, applied_to_lines: OMIT, accounting_period: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) ⇒ Merge::Accounting::VendorCreditRequest
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 689 def initialize(number: OMIT, transaction_date: OMIT, vendor: OMIT, total_amount: OMIT, currency: OMIT, exchange_rate: OMIT, inclusive_of_tax: OMIT, company: OMIT, tracking_categories: OMIT, applied_to_lines: OMIT, accounting_period: OMIT, integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil) @number = number if number != OMIT @transaction_date = transaction_date if transaction_date != OMIT @vendor = vendor if vendor != OMIT @total_amount = total_amount if total_amount != OMIT @currency = currency if currency != OMIT @exchange_rate = exchange_rate if exchange_rate != OMIT @inclusive_of_tax = inclusive_of_tax if inclusive_of_tax != OMIT @company = company if company != OMIT @tracking_categories = tracking_categories if tracking_categories != OMIT @applied_to_lines = applied_to_lines if applied_to_lines != OMIT @accounting_period = accounting_period if accounting_period != OMIT @integration_params = integration_params if integration_params != OMIT @linked_account_params = linked_account_params if linked_account_params != OMIT @additional_properties = additional_properties @_field_set = { "number": number, "transaction_date": transaction_date, "vendor": vendor, "total_amount": total_amount, "currency": currency, "exchange_rate": exchange_rate, "inclusive_of_tax": inclusive_of_tax, "company": company, "tracking_categories": tracking_categories, "applied_to_lines": applied_to_lines, "accounting_period": accounting_period, "integration_params": integration_params, "linked_account_params": linked_account_params }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#accounting_period ⇒ Merge::Accounting::VendorCreditRequestAccountingPeriod (readonly)
Returns The accounting period that the VendorCredit was generated in.
354 355 356 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 354 def accounting_period @accounting_period end |
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
360 361 362 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 360 def additional_properties @additional_properties end |
#applied_to_lines ⇒ Array<Merge::Accounting::VendorCreditApplyLineForVendorCreditRequest> (readonly)
Returns A list of VendorCredit Applied to Lines objects.
352 353 354 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 352 def applied_to_lines @applied_to_lines end |
#company ⇒ Merge::Accounting::VendorCreditRequestCompany (readonly)
Returns The company the vendor credit belongs to.
348 349 350 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 348 def company @company end |
#currency ⇒ Merge::Accounting::TransactionCurrencyEnum (readonly)
Returns The vendor credit's currency.
XUA- ADB Unit of AccountAFN- Afghan AfghaniAFA- Afghan Afghani (1927–2002)ALL- Albanian LekALK- Albanian Lek (1946–1965)DZD- Algerian DinarADP- Andorran PesetaAOA- Angolan KwanzaAOK- Angolan Kwanza (1977–1991)AON- Angolan New Kwanza (1990–2000)AOR- Angolan Readjusted Kwanza (1995–1999)ARA- Argentine AustralARS- Argentine PesoARM- Argentine Peso (1881–1970)ARP- Argentine Peso (1983–1985)ARL- Argentine Peso Ley (1970–1983)AMD- Armenian DramAWG- Aruban FlorinAUD- Australian DollarATS- Austrian SchillingAZN- Azerbaijani ManatAZM- Azerbaijani Manat (1993–2006)BSD- Bahamian DollarBHD- Bahraini DinarBDT- Bangladeshi TakaBBD- Barbadian DollarBYN- Belarusian RubleBYB- Belarusian Ruble (1994–1999)BYR- Belarusian Ruble (2000–2016)BEF- Belgian FrancBEC- Belgian Franc (convertible)BEL- Belgian Franc (financial)BZD- Belize DollarBMD- Bermudan DollarBTN- Bhutanese NgultrumBOB- Bolivian BolivianoBOL- Bolivian Boliviano (1863–1963)BOV- Bolivian MvdolBOP- Bolivian PesoBAM- Bosnia-Herzegovina Convertible MarkBAD- Bosnia-Herzegovina Dinar (1992–1994)BAN- Bosnia-Herzegovina New Dinar (1994–1997)BWP- Botswanan PulaBRC- Brazilian Cruzado (1986–1989)BRZ- Brazilian Cruzeiro (1942–1967)BRE- Brazilian Cruzeiro (1990–1993)BRR- Brazilian Cruzeiro (1993–1994)BRN- Brazilian New Cruzado (1989–1990)BRB- Brazilian New Cruzeiro (1967–1986)BRL- Brazilian RealGBP- British PoundBND- Brunei DollarBGL- Bulgarian Hard LevBGN- Bulgarian LevBGO- Bulgarian Lev (1879–1952)BGM- Bulgarian Socialist LevBUK- Burmese KyatBIF- Burundian FrancXPF- CFP FrancKHR- Cambodian RielCAD- Canadian DollarCVE- Cape Verdean EscudoKYD- Cayman Islands DollarXAF- Central African CFA FrancCLE- Chilean EscudoCLP- Chilean PesoCLF- Chilean Unit of Account (UF)CNX- Chinese People’s Bank DollarCNY- Chinese YuanCNH- Chinese Yuan (offshore)COP- Colombian PesoCOU- Colombian Real Value UnitKMF- Comorian FrancCDF- Congolese FrancCRC- Costa Rican ColónHRD- Croatian DinarHRK- Croatian KunaCUC- Cuban Convertible PesoCUP- Cuban PesoCYP- Cypriot PoundCZK- Czech KorunaCSK- Czechoslovak Hard KorunaDKK- Danish KroneDJF- Djiboutian FrancDOP- Dominican PesoNLG- Dutch GuilderXCD- East Caribbean DollarDDM- East German MarkECS- Ecuadorian SucreECV- Ecuadorian Unit of Constant ValueEGP- Egyptian PoundGQE- Equatorial Guinean EkweleERN- Eritrean NakfaEEK- Estonian KroonETB- Ethiopian BirrEUR- EuroXBA- European Composite UnitXEU- European Currency UnitXBB- European Monetary UnitXBC- European Unit of Account (XBC)XBD- European Unit of Account (XBD)FKP- Falkland Islands PoundFJD- Fijian DollarFIM- Finnish MarkkaFRF- French FrancXFO- French Gold FrancXFU- French UIC-FrancGMD- Gambian DalasiGEK- Georgian Kupon LaritGEL- Georgian LariDEM- German MarkGHS- Ghanaian CediGHC- Ghanaian Cedi (1979–2007)GIP- Gibraltar PoundXAU- GoldGRD- Greek DrachmaGTQ- Guatemalan QuetzalGWP- Guinea-Bissau PesoGNF- Guinean FrancGNS- Guinean SyliGYD- Guyanaese DollarHTG- Haitian GourdeHNL- Honduran LempiraHKD- Hong Kong DollarHUF- Hungarian ForintIMP- IMPISK- Icelandic KrónaISJ- Icelandic Króna (1918–1981)INR- Indian RupeeIDR- Indonesian RupiahIRR- Iranian RialIQD- Iraqi DinarIEP- Irish PoundILS- Israeli New ShekelILP- Israeli PoundILR- Israeli Shekel (1980–1985)ITL- Italian LiraJMD- Jamaican DollarJPY- Japanese YenJOD- Jordanian DinarKZT- Kazakhstani TengeKES- Kenyan ShillingKWD- Kuwaiti DinarKGS- Kyrgystani SomLAK- Laotian KipLVL- Latvian LatsLVR- Latvian RubleLBP- Lebanese PoundLSL- Lesotho LotiLRD- Liberian DollarLYD- Libyan DinarLTL- Lithuanian LitasLTT- Lithuanian TalonasLUL- Luxembourg Financial FrancLUC- Luxembourgian Convertible FrancLUF- Luxembourgian FrancMOP- Macanese PatacaMKD- Macedonian DenarMKN- Macedonian Denar (1992–1993)MGA- Malagasy AriaryMGF- Malagasy FrancMWK- Malawian KwachaMYR- Malaysian RinggitMVR- Maldivian RufiyaaMVP- Maldivian Rupee (1947–1981)MLF- Malian FrancMTL- Maltese LiraMTP- Maltese PoundMRU- Mauritanian OuguiyaMRO- Mauritanian Ouguiya (1973–2017)MUR- Mauritian RupeeMXV- Mexican Investment UnitMXN- Mexican PesoMXP- Mexican Silver Peso (1861–1992)MDC- Moldovan CuponMDL- Moldovan LeuMCF- Monegasque FrancMNT- Mongolian TugrikMAD- Moroccan DirhamMAF- Moroccan FrancMZE- Mozambican EscudoMZN- Mozambican MeticalMZM- Mozambican Metical (1980–2006)MMK- Myanmar KyatNAD- Namibian DollarNPR- Nepalese RupeeANG- Netherlands Antillean GuilderTWD- New Taiwan DollarNZD- New Zealand DollarNIO- Nicaraguan CórdobaNIC- Nicaraguan Córdoba (1988–1991)NGN- Nigerian NairaKPW- North Korean WonNOK- Norwegian KroneOMR- Omani RialPKR- Pakistani RupeeXPD- PalladiumPAB- Panamanian BalboaPGK- Papua New Guinean KinaPYG- Paraguayan GuaraniPEI- Peruvian IntiPEN- Peruvian SolPES- Peruvian Sol (1863–1965)PHP- Philippine PesoXPT- PlatinumPLN- Polish ZlotyPLZ- Polish Zloty (1950–1995)PTE- Portuguese EscudoGWE- Portuguese Guinea EscudoQAR- Qatari RialXRE- RINET FundsRHD- Rhodesian DollarRON- Romanian LeuROL- Romanian Leu (1952–2006)RUB- Russian RubleRUR- Russian Ruble (1991–1998)RWF- Rwandan FrancSVC- Salvadoran ColónWST- Samoan TalaSAR- Saudi RiyalRSD- Serbian DinarCSD- Serbian Dinar (2002–2006)SCR- Seychellois RupeeSLL- Sierra Leonean LeoneXAG- SilverSGD- Singapore DollarSKK- Slovak KorunaSIT- Slovenian TolarSBD- Solomon Islands DollarSOS- Somali ShillingZAR- South African RandZAL- South African Rand (financial)KRH- South Korean Hwan (1953–1962)KRW- South Korean WonKRO- South Korean Won (1945–1953)SSP- South Sudanese PoundSUR- Soviet RoubleESP- Spanish PesetaESA- Spanish Peseta (A account)ESB- Spanish Peseta (convertible account)XDR- Special Drawing RightsLKR- Sri Lankan RupeeSHP- St. Helena PoundXSU- SucreSDD- Sudanese Dinar (1992–2007)SDG- Sudanese PoundSDP- Sudanese Pound (1957–1998)SRD- Surinamese DollarSRG- Surinamese GuilderSZL- Swazi LilangeniSEK- Swedish KronaCHF- Swiss FrancSYP- Syrian PoundSTN- São Tomé & Príncipe DobraSTD- São Tomé & Príncipe Dobra (1977–2017)TVD- TVDTJR- Tajikistani RubleTJS- Tajikistani SomoniTZS- Tanzanian ShillingXTS- Testing Currency CodeTHB- Thai BahtXXX- The codes assigned for transactions where no currency is involvedTPE- Timorese EscudoTOP- Tongan PaʻangaTTD- Trinidad & Tobago DollarTND- Tunisian DinarTRY- Turkish LiraTRL- Turkish Lira (1922–2005)TMT- Turkmenistani ManatTMM- Turkmenistani Manat (1993–2009)USD- US DollarUSN- US Dollar (Next day)USS- US Dollar (Same day)UGX- Ugandan ShillingUGS- Ugandan Shilling (1966–1987)UAH- Ukrainian HryvniaUAK- Ukrainian KarbovanetsAED- United Arab Emirates DirhamUYW- Uruguayan Nominal Wage Index UnitUYU- Uruguayan PesoUYP- Uruguayan Peso (1975–1993)UYI- Uruguayan Peso (Indexed Units)UZS- Uzbekistani SomVUV- Vanuatu VatuVES- Venezuelan BolívarVEB- Venezuelan Bolívar (1871–2008)VEF- Venezuelan Bolívar (2008–2018)VND- Vietnamese DongVNN- Vietnamese Dong (1978–1985)CHE- WIR EuroCHW- WIR FrancXOF- West African CFA FrancYDD- Yemeni DinarYER- Yemeni RialYUN- Yugoslavian Convertible Dinar (1990–1992)YUD- Yugoslavian Hard Dinar (1966–1990)YUM- Yugoslavian New Dinar (1994–2002)YUR- Yugoslavian Reformed Dinar (1992–1993)ZWN- ZWNZRN- Zairean New Zaire (1993–1998)ZRZ- Zairean Zaire (1971–1993)ZMW- Zambian KwachaZMK- Zambian Kwacha (1968–2012)ZWD- Zimbabwean Dollar (1980–2008)ZWR- Zimbabwean Dollar (2008)ZWL- Zimbabwean Dollar (2009).
341 342 343 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 341 def currency @currency end |
#exchange_rate ⇒ String (readonly)
Returns The vendor credit's exchange rate.
343 344 345 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 343 def exchange_rate @exchange_rate end |
#inclusive_of_tax ⇒ Boolean (readonly)
Returns If the transaction is inclusive or exclusive of tax. True if inclusive,
False if exclusive.
346 347 348 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 346 def inclusive_of_tax @inclusive_of_tax end |
#integration_params ⇒ Hash{String => Object} (readonly)
356 357 358 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 356 def integration_params @integration_params end |
#linked_account_params ⇒ Hash{String => Object} (readonly)
358 359 360 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 358 def linked_account_params @linked_account_params end |
#number ⇒ String (readonly)
Returns The vendor credit's number.
27 28 29 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 27 def number @number end |
#total_amount ⇒ Float (readonly)
Returns The vendor credit's total amount.
33 34 35 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 33 def total_amount @total_amount end |
#tracking_categories ⇒ Array<Merge::Accounting::VendorCreditRequestTrackingCategoriesItem> (readonly)
350 351 352 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 350 def tracking_categories @tracking_categories end |
#transaction_date ⇒ DateTime (readonly)
Returns The vendor credit's transaction date.
29 30 31 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 29 def transaction_date @transaction_date end |
#vendor ⇒ Merge::Accounting::VendorCreditRequestVendor (readonly)
Returns The vendor that owes the gift or refund.
31 32 33 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 31 def vendor @vendor end |
Class Method Details
.from_json(json_object:) ⇒ Merge::Accounting::VendorCreditRequest
Deserialize a JSON object to an instance of VendorCreditRequest
728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 728 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) number = parsed_json["number"] transaction_date = (DateTime.parse(parsed_json["transaction_date"]) unless parsed_json["transaction_date"].nil?) if parsed_json["vendor"].nil? vendor = nil else vendor = parsed_json["vendor"].to_json vendor = Merge::Accounting::VendorCreditRequestVendor.from_json(json_object: vendor) end total_amount = parsed_json["total_amount"] currency = parsed_json["currency"] exchange_rate = parsed_json["exchange_rate"] inclusive_of_tax = parsed_json["inclusive_of_tax"] if parsed_json["company"].nil? company = nil else company = parsed_json["company"].to_json company = Merge::Accounting::VendorCreditRequestCompany.from_json(json_object: company) end tracking_categories = parsed_json["tracking_categories"]&.map do |item| item = item.to_json Merge::Accounting::VendorCreditRequestTrackingCategoriesItem.from_json(json_object: item) end applied_to_lines = parsed_json["applied_to_lines"]&.map do |item| item = item.to_json Merge::Accounting::VendorCreditApplyLineForVendorCreditRequest.from_json(json_object: item) end if parsed_json["accounting_period"].nil? accounting_period = nil else accounting_period = parsed_json["accounting_period"].to_json accounting_period = Merge::Accounting::VendorCreditRequestAccountingPeriod.from_json(json_object: accounting_period) end integration_params = parsed_json["integration_params"] linked_account_params = parsed_json["linked_account_params"] new( number: number, transaction_date: transaction_date, vendor: vendor, total_amount: total_amount, currency: currency, exchange_rate: exchange_rate, inclusive_of_tax: inclusive_of_tax, company: company, tracking_categories: tracking_categories, applied_to_lines: applied_to_lines, accounting_period: accounting_period, integration_params: integration_params, linked_account_params: linked_account_params, additional_properties: struct ) end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 796 def self.validate_raw(obj:) obj.number&.is_a?(String) != false || raise("Passed value for field obj.number is not the expected type, validation failed.") obj.transaction_date&.is_a?(DateTime) != false || raise("Passed value for field obj.transaction_date is not the expected type, validation failed.") obj.vendor.nil? || Merge::Accounting::VendorCreditRequestVendor.validate_raw(obj: obj.vendor) obj.total_amount&.is_a?(Float) != false || raise("Passed value for field obj.total_amount is not the expected type, validation failed.") obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.") obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.") obj.inclusive_of_tax&.is_a?(Boolean) != false || raise("Passed value for field obj.inclusive_of_tax is not the expected type, validation failed.") obj.company.nil? || Merge::Accounting::VendorCreditRequestCompany.validate_raw(obj: obj.company) obj.tracking_categories&.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.") obj.applied_to_lines&.is_a?(Array) != false || raise("Passed value for field obj.applied_to_lines is not the expected type, validation failed.") obj.accounting_period.nil? || Merge::Accounting::VendorCreditRequestAccountingPeriod.validate_raw(obj: obj.accounting_period) obj.integration_params&.is_a?(Hash) != false || raise("Passed value for field obj.integration_params is not the expected type, validation failed.") obj.linked_account_params&.is_a?(Hash) != false || raise("Passed value for field obj.linked_account_params is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of VendorCreditRequest to a JSON object
786 787 788 |
# File 'lib/merge_ruby_client/accounting/types/vendor_credit_request.rb', line 786 def to_json(*_args) @_field_set&.to_json end |