diff --git a/Xero.NetStandard.OAuth2/Api/AccountingApi.cs b/Xero.NetStandard.OAuth2/Api/AccountingApi.cs
index 1dd7e653..3872cd6f 100644
--- a/Xero.NetStandard.OAuth2/Api/AccountingApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/AccountingApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs b/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs
index 357b7857..da2dce14 100644
--- a/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/AssetApi.cs b/Xero.NetStandard.OAuth2/Api/AssetApi.cs
index a55e0cce..10cc963f 100644
--- a/Xero.NetStandard.OAuth2/Api/AssetApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/AssetApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs b/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs
index 17cf99a3..39d06af6 100644
--- a/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/FilesApi.cs b/Xero.NetStandard.OAuth2/Api/FilesApi.cs
index 2688ed80..0258229b 100644
--- a/Xero.NetStandard.OAuth2/Api/FilesApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/FilesApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/FinanceApi.cs b/Xero.NetStandard.OAuth2/Api/FinanceApi.cs
index 29a5dfdf..8a550ce8 100644
--- a/Xero.NetStandard.OAuth2/Api/FinanceApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/FinanceApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/IdentityApi.cs b/Xero.NetStandard.OAuth2/Api/IdentityApi.cs
index fb7d9d2e..b3d0c721 100644
--- a/Xero.NetStandard.OAuth2/Api/IdentityApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/IdentityApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs b/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs
index c7277f06..1cdab1ab 100644
--- a/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs b/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs
index 80cd0461..28801ae9 100644
--- a/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Api/ProjectApi.cs b/Xero.NetStandard.OAuth2/Api/ProjectApi.cs
index eac5175b..77c9d3d7 100644
--- a/Xero.NetStandard.OAuth2/Api/ProjectApi.cs
+++ b/Xero.NetStandard.OAuth2/Api/ProjectApi.cs
@@ -7,7 +7,7 @@
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
-// The version of the OpenAPI document: 6.2.0
+// The version of the OpenAPI document: 6.3.0
using System;
diff --git a/Xero.NetStandard.OAuth2/Client/Configuration.cs b/Xero.NetStandard.OAuth2/Client/Configuration.cs
index 0c2f8068..5c52b1db 100644
--- a/Xero.NetStandard.OAuth2/Client/Configuration.cs
+++ b/Xero.NetStandard.OAuth2/Client/Configuration.cs
@@ -31,7 +31,7 @@ public class Configuration : IReadableConfiguration
/// Version of the package.
///
/// Version of the package.
- public const string Version = "9.1.0";
+ public const string Version = "9.2.0";
///
/// Identifier for ISO 8601 DateTime Format
@@ -103,7 +103,7 @@ public class Configuration : IReadableConfiguration
[System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")]
public Configuration()
{
- UserAgent = "xero-netstandard-9.1.0";
+ UserAgent = "xero-netstandard-9.2.0";
BasePath = "https://api.xero.com/api.xro/2.0";
DefaultHeader = new ConcurrentDictionary();
ApiKey = new ConcurrentDictionary();
@@ -341,8 +341,8 @@ public static String ToDebugReport()
{
String report = "C# SDK (Xero.NetStandard.OAuth2) Debug Report:\n";
report += " OS: " + System.Runtime.InteropServices.RuntimeInformation.OSDescription + "\n";
- report += " Version of the API: 6.2.0\n";
- report += " SDK Package Version: 9.1.0\n";
+ report += " Version of the API: 6.3.0\n";
+ report += " SDK Package Version: 9.2.0\n";
return report;
}
diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs b/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs
index 04994e4c..3424ce11 100644
--- a/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs
+++ b/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs
@@ -300,6 +300,13 @@ public enum StatusEnum
[DataMember(Name="Warnings", EmitDefaultValue=false)]
public List Warnings { get; set; }
+ ///
+ /// An array of addresses used to auto calculate sales tax
+ ///
+ /// An array of addresses used to auto calculate sales tax
+ [DataMember(Name="InvoiceAddresses", EmitDefaultValue=false)]
+ public List InvoiceAddresses { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -338,6 +345,7 @@ public override string ToString()
sb.Append(" HasErrors: ").Append(HasErrors).Append("\n");
sb.Append(" ValidationErrors: ").Append(ValidationErrors).Append("\n");
sb.Append(" Warnings: ").Append(Warnings).Append("\n");
+ sb.Append(" InvoiceAddresses: ").Append(InvoiceAddresses).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -522,6 +530,12 @@ public bool Equals(CreditNote input)
this.Warnings != null &&
input.Warnings != null &&
this.Warnings.SequenceEqual(input.Warnings)
+ ) &&
+ (
+ this.InvoiceAddresses == input.InvoiceAddresses ||
+ this.InvoiceAddresses != null &&
+ input.InvoiceAddresses != null &&
+ this.InvoiceAddresses.SequenceEqual(input.InvoiceAddresses)
);
}
@@ -590,6 +604,8 @@ public override int GetHashCode()
hashCode = hashCode * 59 + this.ValidationErrors.GetHashCode();
if (this.Warnings != null)
hashCode = hashCode * 59 + this.Warnings.GetHashCode();
+ if (this.InvoiceAddresses != null)
+ hashCode = hashCode * 59 + this.InvoiceAddresses.GetHashCode();
return hashCode;
}
}
diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs b/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs
index 3bccbed9..a3ae7f37 100644
--- a/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs
+++ b/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs
@@ -406,6 +406,13 @@ public enum StatusEnum
[DataMember(Name="Warnings", EmitDefaultValue=false)]
public List Warnings { get; set; }
+ ///
+ /// An array of addresses used to auto calculate sales tax
+ ///
+ /// An array of addresses used to auto calculate sales tax
+ [DataMember(Name="InvoiceAddresses", EmitDefaultValue=false)]
+ public List InvoiceAddresses { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -454,6 +461,7 @@ public override string ToString()
sb.Append(" StatusAttributeString: ").Append(StatusAttributeString).Append("\n");
sb.Append(" ValidationErrors: ").Append(ValidationErrors).Append("\n");
sb.Append(" Warnings: ").Append(Warnings).Append("\n");
+ sb.Append(" InvoiceAddresses: ").Append(InvoiceAddresses).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -691,6 +699,12 @@ public bool Equals(Invoice input)
this.Warnings != null &&
input.Warnings != null &&
this.Warnings.SequenceEqual(input.Warnings)
+ ) &&
+ (
+ this.InvoiceAddresses == input.InvoiceAddresses ||
+ this.InvoiceAddresses != null &&
+ input.InvoiceAddresses != null &&
+ this.InvoiceAddresses.SequenceEqual(input.InvoiceAddresses)
);
}
@@ -779,6 +793,8 @@ public override int GetHashCode()
hashCode = hashCode * 59 + this.ValidationErrors.GetHashCode();
if (this.Warnings != null)
hashCode = hashCode * 59 + this.Warnings.GetHashCode();
+ if (this.InvoiceAddresses != null)
+ hashCode = hashCode * 59 + this.InvoiceAddresses.GetHashCode();
return hashCode;
}
}
diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/InvoiceAddress.cs b/Xero.NetStandard.OAuth2/Model/Accounting/InvoiceAddress.cs
new file mode 100644
index 00000000..dbcf3e25
--- /dev/null
+++ b/Xero.NetStandard.OAuth2/Model/Accounting/InvoiceAddress.cs
@@ -0,0 +1,255 @@
+/*
+ * Xero Accounting API
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * Contact: api@xero.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Xero.NetStandard.OAuth2.Client.OpenAPIDateConverter;
+
+namespace Xero.NetStandard.OAuth2.Model.Accounting
+{
+ ///
+ /// InvoiceAddress
+ ///
+ [DataContract]
+ public partial class InvoiceAddress : IEquatable, IValidatableObject
+ {
+ ///
+ /// Indicates whether the address is defined as origin (FROM) or destination (TO)
+ ///
+ /// Indicates whether the address is defined as origin (FROM) or destination (TO)
+ [JsonConverter(typeof(Client.CustomStringEnumConverter))]
+ public enum InvoiceAddressTypeEnum
+ {
+ ///
+ /// Enum FROM for value: FROM
+ ///
+ [EnumMember(Value = "FROM")]
+ FROM = 1,
+
+ ///
+ /// Enum TO for value: TO
+ ///
+ [EnumMember(Value = "TO")]
+ TO = 2
+
+ }
+
+ ///
+ /// Indicates whether the address is defined as origin (FROM) or destination (TO)
+ ///
+ /// Indicates whether the address is defined as origin (FROM) or destination (TO)
+ [DataMember(Name="InvoiceAddressType", EmitDefaultValue=false)]
+ public InvoiceAddressTypeEnum InvoiceAddressType { get; set; }
+
+ ///
+ /// First line of a physical address
+ ///
+ /// First line of a physical address
+ [DataMember(Name="AddressLine1", EmitDefaultValue=false)]
+ public string AddressLine1 { get; set; }
+
+ ///
+ /// Second line of a physical address
+ ///
+ /// Second line of a physical address
+ [DataMember(Name="AddressLine2", EmitDefaultValue=false)]
+ public string AddressLine2 { get; set; }
+
+ ///
+ /// Third line of a physical address
+ ///
+ /// Third line of a physical address
+ [DataMember(Name="AddressLine3", EmitDefaultValue=false)]
+ public string AddressLine3 { get; set; }
+
+ ///
+ /// Fourth line of a physical address
+ ///
+ /// Fourth line of a physical address
+ [DataMember(Name="AddressLine4", EmitDefaultValue=false)]
+ public string AddressLine4 { get; set; }
+
+ ///
+ /// City of a physical address
+ ///
+ /// City of a physical address
+ [DataMember(Name="City", EmitDefaultValue=false)]
+ public string City { get; set; }
+
+ ///
+ /// Region or state of a physical address
+ ///
+ /// Region or state of a physical address
+ [DataMember(Name="Region", EmitDefaultValue=false)]
+ public string Region { get; set; }
+
+ ///
+ /// Postal code of a physical address
+ ///
+ /// Postal code of a physical address
+ [DataMember(Name="PostalCode", EmitDefaultValue=false)]
+ public string PostalCode { get; set; }
+
+ ///
+ /// Country of a physical address
+ ///
+ /// Country of a physical address
+ [DataMember(Name="Country", EmitDefaultValue=false)]
+ public string Country { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class InvoiceAddress {\n");
+ sb.Append(" InvoiceAddressType: ").Append(InvoiceAddressType).Append("\n");
+ sb.Append(" AddressLine1: ").Append(AddressLine1).Append("\n");
+ sb.Append(" AddressLine2: ").Append(AddressLine2).Append("\n");
+ sb.Append(" AddressLine3: ").Append(AddressLine3).Append("\n");
+ sb.Append(" AddressLine4: ").Append(AddressLine4).Append("\n");
+ sb.Append(" City: ").Append(City).Append("\n");
+ sb.Append(" Region: ").Append(Region).Append("\n");
+ sb.Append(" PostalCode: ").Append(PostalCode).Append("\n");
+ sb.Append(" Country: ").Append(Country).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object input)
+ {
+ return this.Equals(input as InvoiceAddress);
+ }
+
+ ///
+ /// Returns true if InvoiceAddress instances are equal
+ ///
+ /// Instance of InvoiceAddress to be compared
+ /// Boolean
+ public bool Equals(InvoiceAddress input)
+ {
+ if (input == null)
+ return false;
+
+ return
+ (
+ this.InvoiceAddressType == input.InvoiceAddressType ||
+ this.InvoiceAddressType.Equals(input.InvoiceAddressType)
+ ) &&
+ (
+ this.AddressLine1 == input.AddressLine1 ||
+ (this.AddressLine1 != null &&
+ this.AddressLine1.Equals(input.AddressLine1))
+ ) &&
+ (
+ this.AddressLine2 == input.AddressLine2 ||
+ (this.AddressLine2 != null &&
+ this.AddressLine2.Equals(input.AddressLine2))
+ ) &&
+ (
+ this.AddressLine3 == input.AddressLine3 ||
+ (this.AddressLine3 != null &&
+ this.AddressLine3.Equals(input.AddressLine3))
+ ) &&
+ (
+ this.AddressLine4 == input.AddressLine4 ||
+ (this.AddressLine4 != null &&
+ this.AddressLine4.Equals(input.AddressLine4))
+ ) &&
+ (
+ this.City == input.City ||
+ (this.City != null &&
+ this.City.Equals(input.City))
+ ) &&
+ (
+ this.Region == input.Region ||
+ (this.Region != null &&
+ this.Region.Equals(input.Region))
+ ) &&
+ (
+ this.PostalCode == input.PostalCode ||
+ (this.PostalCode != null &&
+ this.PostalCode.Equals(input.PostalCode))
+ ) &&
+ (
+ this.Country == input.Country ||
+ (this.Country != null &&
+ this.Country.Equals(input.Country))
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ int hashCode = 41;
+ hashCode = hashCode * 59 + this.InvoiceAddressType.GetHashCode();
+ if (this.AddressLine1 != null)
+ hashCode = hashCode * 59 + this.AddressLine1.GetHashCode();
+ if (this.AddressLine2 != null)
+ hashCode = hashCode * 59 + this.AddressLine2.GetHashCode();
+ if (this.AddressLine3 != null)
+ hashCode = hashCode * 59 + this.AddressLine3.GetHashCode();
+ if (this.AddressLine4 != null)
+ hashCode = hashCode * 59 + this.AddressLine4.GetHashCode();
+ if (this.City != null)
+ hashCode = hashCode * 59 + this.City.GetHashCode();
+ if (this.Region != null)
+ hashCode = hashCode * 59 + this.Region.GetHashCode();
+ if (this.PostalCode != null)
+ hashCode = hashCode * 59 + this.PostalCode.GetHashCode();
+ if (this.Country != null)
+ hashCode = hashCode * 59 + this.Country.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs b/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs
index 6c0e11e0..4669e781 100644
--- a/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs
+++ b/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs
@@ -30,6 +30,51 @@ namespace Xero.NetStandard.OAuth2.Model.Accounting
[DataContract]
public partial class LineItem : IEquatable, IValidatableObject
{
+ ///
+ /// The type of taxability
+ ///
+ /// The type of taxability
+ [JsonConverter(typeof(Client.CustomStringEnumConverter))]
+ public enum TaxabilityEnum
+ {
+ ///
+ /// Enum TAXABLE for value: TAXABLE
+ ///
+ [EnumMember(Value = "TAXABLE")]
+ TAXABLE = 1,
+
+ ///
+ /// Enum NONTAXABLE for value: NON_TAXABLE
+ ///
+ [EnumMember(Value = "NON_TAXABLE")]
+ NONTAXABLE = 2,
+
+ ///
+ /// Enum EXEMPT for value: EXEMPT
+ ///
+ [EnumMember(Value = "EXEMPT")]
+ EXEMPT = 3,
+
+ ///
+ /// Enum PARTTAXABLE for value: PART_TAXABLE
+ ///
+ [EnumMember(Value = "PART_TAXABLE")]
+ PARTTAXABLE = 4,
+
+ ///
+ /// Enum NOTAPPLICABLE for value: NOT_APPLICABLE
+ ///
+ [EnumMember(Value = "NOT_APPLICABLE")]
+ NOTAPPLICABLE = 5
+
+ }
+
+ ///
+ /// The type of taxability
+ ///
+ /// The type of taxability
+ [DataMember(Name="Taxability", EmitDefaultValue=false)]
+ public TaxabilityEnum Taxability { get; set; }
///
/// LineItem unique ID
@@ -135,6 +180,20 @@ public partial class LineItem : IEquatable, IValidatableObject
[DataMember(Name="RepeatingInvoiceID", EmitDefaultValue=false)]
public Guid? RepeatingInvoiceID { get; set; }
+ ///
+ /// The ID of the sales tax code
+ ///
+ /// The ID of the sales tax code
+ [DataMember(Name="SalesTaxCodeId", EmitDefaultValue=false)]
+ public decimal? SalesTaxCodeId { get; set; }
+
+ ///
+ /// An array of tax components defined for this line item
+ ///
+ /// An array of tax components defined for this line item
+ [DataMember(Name="TaxBreakdown", EmitDefaultValue=false)]
+ public List TaxBreakdown { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -158,6 +217,9 @@ public override string ToString()
sb.Append(" DiscountRate: ").Append(DiscountRate).Append("\n");
sb.Append(" DiscountAmount: ").Append(DiscountAmount).Append("\n");
sb.Append(" RepeatingInvoiceID: ").Append(RepeatingInvoiceID).Append("\n");
+ sb.Append(" Taxability: ").Append(Taxability).Append("\n");
+ sb.Append(" SalesTaxCodeId: ").Append(SalesTaxCodeId).Append("\n");
+ sb.Append(" TaxBreakdown: ").Append(TaxBreakdown).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -267,6 +329,21 @@ public bool Equals(LineItem input)
this.RepeatingInvoiceID == input.RepeatingInvoiceID ||
(this.RepeatingInvoiceID != null &&
this.RepeatingInvoiceID.Equals(input.RepeatingInvoiceID))
+ ) &&
+ (
+ this.Taxability == input.Taxability ||
+ this.Taxability.Equals(input.Taxability)
+ ) &&
+ (
+ this.SalesTaxCodeId == input.SalesTaxCodeId ||
+ (this.SalesTaxCodeId != null &&
+ this.SalesTaxCodeId.Equals(input.SalesTaxCodeId))
+ ) &&
+ (
+ this.TaxBreakdown == input.TaxBreakdown ||
+ this.TaxBreakdown != null &&
+ input.TaxBreakdown != null &&
+ this.TaxBreakdown.SequenceEqual(input.TaxBreakdown)
);
}
@@ -309,6 +386,11 @@ public override int GetHashCode()
hashCode = hashCode * 59 + this.DiscountAmount.GetHashCode();
if (this.RepeatingInvoiceID != null)
hashCode = hashCode * 59 + this.RepeatingInvoiceID.GetHashCode();
+ hashCode = hashCode * 59 + this.Taxability.GetHashCode();
+ if (this.SalesTaxCodeId != null)
+ hashCode = hashCode * 59 + this.SalesTaxCodeId.GetHashCode();
+ if (this.TaxBreakdown != null)
+ hashCode = hashCode * 59 + this.TaxBreakdown.GetHashCode();
return hashCode;
}
}
diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/TaxBreakdownComponent.cs b/Xero.NetStandard.OAuth2/Model/Accounting/TaxBreakdownComponent.cs
new file mode 100644
index 00000000..5a9e8694
--- /dev/null
+++ b/Xero.NetStandard.OAuth2/Model/Accounting/TaxBreakdownComponent.cs
@@ -0,0 +1,288 @@
+/*
+ * Xero Accounting API
+ *
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+ *
+ * Contact: api@xero.com
+ * Generated by: https://github.com/openapitools/openapi-generator.git
+ */
+
+
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.ComponentModel.DataAnnotations;
+using OpenAPIDateConverter = Xero.NetStandard.OAuth2.Client.OpenAPIDateConverter;
+
+namespace Xero.NetStandard.OAuth2.Model.Accounting
+{
+ ///
+ /// TaxBreakdownComponent
+ ///
+ [DataContract]
+ public partial class TaxBreakdownComponent : IEquatable, IValidatableObject
+ {
+ ///
+ /// The type of the jurisdiction
+ ///
+ /// The type of the jurisdiction
+ [JsonConverter(typeof(Client.CustomStringEnumConverter))]
+ public enum TypeEnum
+ {
+ ///
+ /// Enum USCOUNTRY for value: SYSGST/USCOUNTRY
+ ///
+ [EnumMember(Value = "SYSGST/USCOUNTRY")]
+ USCOUNTRY = 1,
+
+ ///
+ /// Enum USSTATE for value: SYSGST/USSTATE
+ ///
+ [EnumMember(Value = "SYSGST/USSTATE")]
+ USSTATE = 2,
+
+ ///
+ /// Enum USCOUNTY for value: SYSGST/USCOUNTY
+ ///
+ [EnumMember(Value = "SYSGST/USCOUNTY")]
+ USCOUNTY = 3,
+
+ ///
+ /// Enum USCITY for value: SYSGST/USCITY
+ ///
+ [EnumMember(Value = "SYSGST/USCITY")]
+ USCITY = 4,
+
+ ///
+ /// Enum USSPECIAL for value: SYSGST/USSPECIAL
+ ///
+ [EnumMember(Value = "SYSGST/USSPECIAL")]
+ USSPECIAL = 5
+
+ }
+
+ ///
+ /// The type of the jurisdiction
+ ///
+ /// The type of the jurisdiction
+ [DataMember(Name="Type", EmitDefaultValue=false)]
+ public TypeEnum Type { get; set; }
+
+ ///
+ /// The unique ID number of this component
+ ///
+ /// The unique ID number of this component
+ [DataMember(Name="TaxComponentId", EmitDefaultValue=false)]
+ public Guid? TaxComponentId { get; set; }
+
+ ///
+ /// The name of the jurisdiction
+ ///
+ /// The name of the jurisdiction
+ [DataMember(Name="Name", EmitDefaultValue=false)]
+ public string Name { get; set; }
+
+ ///
+ /// The percentage of the tax
+ ///
+ /// The percentage of the tax
+ [DataMember(Name="TaxPercentage", EmitDefaultValue=false)]
+ public decimal? TaxPercentage { get; set; }
+
+ ///
+ /// The amount of the tax
+ ///
+ /// The amount of the tax
+ [DataMember(Name="TaxAmount", EmitDefaultValue=false)]
+ public decimal? TaxAmount { get; set; }
+
+ ///
+ /// The amount that is taxable
+ ///
+ /// The amount that is taxable
+ [DataMember(Name="TaxableAmount", EmitDefaultValue=false)]
+ public decimal? TaxableAmount { get; set; }
+
+ ///
+ /// The amount that is not taxable
+ ///
+ /// The amount that is not taxable
+ [DataMember(Name="NonTaxableAmount", EmitDefaultValue=false)]
+ public decimal? NonTaxableAmount { get; set; }
+
+ ///
+ /// The amount that is exempt
+ ///
+ /// The amount that is exempt
+ [DataMember(Name="ExemptAmount", EmitDefaultValue=false)]
+ public decimal? ExemptAmount { get; set; }
+
+ ///
+ /// The state assigned number of the jurisdiction
+ ///
+ /// The state assigned number of the jurisdiction
+ [DataMember(Name="StateAssignedNo", EmitDefaultValue=false)]
+ public string StateAssignedNo { get; set; }
+
+ ///
+ /// Name identifying the region within the country
+ ///
+ /// Name identifying the region within the country
+ [DataMember(Name="JurisdictionRegion", EmitDefaultValue=false)]
+ public string JurisdictionRegion { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class TaxBreakdownComponent {\n");
+ sb.Append(" TaxComponentId: ").Append(TaxComponentId).Append("\n");
+ sb.Append(" Type: ").Append(Type).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" TaxPercentage: ").Append(TaxPercentage).Append("\n");
+ sb.Append(" TaxAmount: ").Append(TaxAmount).Append("\n");
+ sb.Append(" TaxableAmount: ").Append(TaxableAmount).Append("\n");
+ sb.Append(" NonTaxableAmount: ").Append(NonTaxableAmount).Append("\n");
+ sb.Append(" ExemptAmount: ").Append(ExemptAmount).Append("\n");
+ sb.Append(" StateAssignedNo: ").Append(StateAssignedNo).Append("\n");
+ sb.Append(" JurisdictionRegion: ").Append(JurisdictionRegion).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object input)
+ {
+ return this.Equals(input as TaxBreakdownComponent);
+ }
+
+ ///
+ /// Returns true if TaxBreakdownComponent instances are equal
+ ///
+ /// Instance of TaxBreakdownComponent to be compared
+ /// Boolean
+ public bool Equals(TaxBreakdownComponent input)
+ {
+ if (input == null)
+ return false;
+
+ return
+ (
+ this.TaxComponentId == input.TaxComponentId ||
+ (this.TaxComponentId != null &&
+ this.TaxComponentId.Equals(input.TaxComponentId))
+ ) &&
+ (
+ this.Type == input.Type ||
+ this.Type.Equals(input.Type)
+ ) &&
+ (
+ this.Name == input.Name ||
+ (this.Name != null &&
+ this.Name.Equals(input.Name))
+ ) &&
+ (
+ this.TaxPercentage == input.TaxPercentage ||
+ (this.TaxPercentage != null &&
+ this.TaxPercentage.Equals(input.TaxPercentage))
+ ) &&
+ (
+ this.TaxAmount == input.TaxAmount ||
+ (this.TaxAmount != null &&
+ this.TaxAmount.Equals(input.TaxAmount))
+ ) &&
+ (
+ this.TaxableAmount == input.TaxableAmount ||
+ (this.TaxableAmount != null &&
+ this.TaxableAmount.Equals(input.TaxableAmount))
+ ) &&
+ (
+ this.NonTaxableAmount == input.NonTaxableAmount ||
+ (this.NonTaxableAmount != null &&
+ this.NonTaxableAmount.Equals(input.NonTaxableAmount))
+ ) &&
+ (
+ this.ExemptAmount == input.ExemptAmount ||
+ (this.ExemptAmount != null &&
+ this.ExemptAmount.Equals(input.ExemptAmount))
+ ) &&
+ (
+ this.StateAssignedNo == input.StateAssignedNo ||
+ (this.StateAssignedNo != null &&
+ this.StateAssignedNo.Equals(input.StateAssignedNo))
+ ) &&
+ (
+ this.JurisdictionRegion == input.JurisdictionRegion ||
+ (this.JurisdictionRegion != null &&
+ this.JurisdictionRegion.Equals(input.JurisdictionRegion))
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ int hashCode = 41;
+ if (this.TaxComponentId != null)
+ hashCode = hashCode * 59 + this.TaxComponentId.GetHashCode();
+ hashCode = hashCode * 59 + this.Type.GetHashCode();
+ if (this.Name != null)
+ hashCode = hashCode * 59 + this.Name.GetHashCode();
+ if (this.TaxPercentage != null)
+ hashCode = hashCode * 59 + this.TaxPercentage.GetHashCode();
+ if (this.TaxAmount != null)
+ hashCode = hashCode * 59 + this.TaxAmount.GetHashCode();
+ if (this.TaxableAmount != null)
+ hashCode = hashCode * 59 + this.TaxableAmount.GetHashCode();
+ if (this.NonTaxableAmount != null)
+ hashCode = hashCode * 59 + this.NonTaxableAmount.GetHashCode();
+ if (this.ExemptAmount != null)
+ hashCode = hashCode * 59 + this.ExemptAmount.GetHashCode();
+ if (this.StateAssignedNo != null)
+ hashCode = hashCode * 59 + this.StateAssignedNo.GetHashCode();
+ if (this.JurisdictionRegion != null)
+ hashCode = hashCode * 59 + this.JurisdictionRegion.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ ///
+ /// To validate all properties of the instance
+ ///
+ /// Validation context
+ /// Validation Result
+ IEnumerable IValidatableObject.Validate(ValidationContext validationContext)
+ {
+ yield break;
+ }
+ }
+
+}
diff --git a/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs b/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs
index 5d19ecef..551e84eb 100644
--- a/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs
+++ b/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs
@@ -112,6 +112,14 @@ public EmployeeLeaveType()
[DataMember(Name="rateAccruedHourly", EmitDefaultValue=false)]
public double? RateAccruedHourly { get; set; }
+ ///
+ /// The date when an employee becomes entitled to their accrual. Only applicable when scheduleOfAccrual is \"OnAnniversaryDate\"
+ ///
+ /// The date when an employee becomes entitled to their accrual. Only applicable when scheduleOfAccrual is \"OnAnniversaryDate\"
+ [DataMember(Name="scheduleOfAccrualDate", EmitDefaultValue=false)]
+ [JsonConverter(typeof(OpenAPIDateConverter))]
+ public DateTime? ScheduleOfAccrualDate { get; set; }
+
///
/// Returns the string presentation of the object
///
@@ -126,6 +134,7 @@ public override string ToString()
sb.Append(" MaximumToAccrue: ").Append(MaximumToAccrue).Append("\n");
sb.Append(" OpeningBalance: ").Append(OpeningBalance).Append("\n");
sb.Append(" RateAccruedHourly: ").Append(RateAccruedHourly).Append("\n");
+ sb.Append(" ScheduleOfAccrualDate: ").Append(ScheduleOfAccrualDate).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -188,6 +197,11 @@ public bool Equals(EmployeeLeaveType input)
this.RateAccruedHourly == input.RateAccruedHourly ||
(this.RateAccruedHourly != null &&
this.RateAccruedHourly.Equals(input.RateAccruedHourly))
+ ) &&
+ (
+ this.ScheduleOfAccrualDate == input.ScheduleOfAccrualDate ||
+ (this.ScheduleOfAccrualDate != null &&
+ this.ScheduleOfAccrualDate.Equals(input.ScheduleOfAccrualDate))
);
}
@@ -211,6 +225,8 @@ public override int GetHashCode()
hashCode = hashCode * 59 + this.OpeningBalance.GetHashCode();
if (this.RateAccruedHourly != null)
hashCode = hashCode * 59 + this.RateAccruedHourly.GetHashCode();
+ if (this.ScheduleOfAccrualDate != null)
+ hashCode = hashCode * 59 + this.ScheduleOfAccrualDate.GetHashCode();
return hashCode;
}
}
diff --git a/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj b/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj
index e28708b2..35be262e 100644
--- a/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj
+++ b/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj
@@ -16,7 +16,7 @@
true
true
Xero.NetStandard.OAuth2
- 9.1.0
+ 9.2.0
bin\$(Configuration)\$(TargetFramework)\Xero.NetStandard.OAuth2.xml
https://github.com/XeroAPI/Xero-NetStandard/
https://en.gravatar.com/userimage/180557955/74b3a957d886bc921b0d1455beed9dab.png
diff --git a/docs/accounting/index.html b/docs/accounting/index.html
index 9cea8979..da424f7d 100644
--- a/docs/accounting/index.html
+++ b/docs/accounting/index.html
@@ -2564,6 +2564,13 @@
"items" : {
"$ref" : "#/components/schemas/ValidationError"
}
+ },
+ "InvoiceAddresses" : {
+ "type" : "array",
+ "description" : "An array of addresses used to auto calculate sales tax",
+ "items" : {
+ "$ref" : "#/components/schemas/InvoiceAddress"
+ }
}
},
"description" : "",
@@ -3259,12 +3266,63 @@
"items" : {
"$ref" : "#/components/schemas/ValidationError"
}
+ },
+ "InvoiceAddresses" : {
+ "type" : "array",
+ "description" : "An array of addresses used to auto calculate sales tax",
+ "items" : {
+ "$ref" : "#/components/schemas/InvoiceAddress"
+ }
}
},
"description" : "",
"externalDocs" : {
"url" : "http://developer.xero.com/documentation/api/invoices/"
}
+};
+ defs["InvoiceAddress"] = {
+ "title" : "",
+ "type" : "object",
+ "properties" : {
+ "InvoiceAddressType" : {
+ "type" : "string",
+ "description" : "Indicates whether the address is defined as origin (FROM) or destination (TO)",
+ "enum" : [ "FROM", "TO" ]
+ },
+ "AddressLine1" : {
+ "type" : "string",
+ "description" : "First line of a physical address"
+ },
+ "AddressLine2" : {
+ "type" : "string",
+ "description" : "Second line of a physical address"
+ },
+ "AddressLine3" : {
+ "type" : "string",
+ "description" : "Third line of a physical address"
+ },
+ "AddressLine4" : {
+ "type" : "string",
+ "description" : "Fourth line of a physical address"
+ },
+ "City" : {
+ "type" : "string",
+ "description" : "City of a physical address"
+ },
+ "Region" : {
+ "type" : "string",
+ "description" : "Region or state of a physical address"
+ },
+ "PostalCode" : {
+ "type" : "string",
+ "description" : "Postal code of a physical address"
+ },
+ "Country" : {
+ "type" : "string",
+ "description" : "Country of a physical address"
+ }
+ },
+ "description" : ""
};
defs["InvoiceReminder"] = {
"title" : "",
@@ -3660,6 +3718,22 @@
"description" : "The Xero identifier for a Repeating Invoice",
"format" : "uuid",
"example" : "00000000-0000-0000-0000-000000000000"
+ },
+ "Taxability" : {
+ "type" : "string",
+ "description" : "The type of taxability",
+ "enum" : [ "TAXABLE", "NON_TAXABLE", "EXEMPT", "PART_TAXABLE", "NOT_APPLICABLE" ]
+ },
+ "SalesTaxCodeId" : {
+ "type" : "number",
+ "description" : "The ID of the sales tax code"
+ },
+ "TaxBreakdown" : {
+ "type" : "array",
+ "description" : "An array of tax components defined for this line item",
+ "items" : {
+ "$ref" : "#/components/schemas/TaxBreakdownComponent"
+ }
}
},
"description" : "",
@@ -5699,6 +5773,55 @@
"externalDocs" : {
"url" : "https://developer.xero.com/documentation/api-guides/conversions"
}
+};
+ defs["TaxBreakdownComponent"] = {
+ "title" : "",
+ "type" : "object",
+ "properties" : {
+ "TaxComponentId" : {
+ "type" : "string",
+ "description" : "The unique ID number of this component",
+ "format" : "uuid"
+ },
+ "Type" : {
+ "type" : "string",
+ "description" : "The type of the jurisdiction",
+ "enum" : [ "SYSGST/USCOUNTRY", "SYSGST/USSTATE", "SYSGST/USCOUNTY", "SYSGST/USCITY", "SYSGST/USSPECIAL" ]
+ },
+ "Name" : {
+ "type" : "string",
+ "description" : "The name of the jurisdiction"
+ },
+ "TaxPercentage" : {
+ "type" : "number",
+ "description" : "The percentage of the tax"
+ },
+ "TaxAmount" : {
+ "type" : "number",
+ "description" : "The amount of the tax"
+ },
+ "TaxableAmount" : {
+ "type" : "number",
+ "description" : "The amount that is taxable"
+ },
+ "NonTaxableAmount" : {
+ "type" : "number",
+ "description" : "The amount that is not taxable"
+ },
+ "ExemptAmount" : {
+ "type" : "number",
+ "description" : "The amount that is exempt"
+ },
+ "StateAssignedNo" : {
+ "type" : "string",
+ "description" : "The state assigned number of the jurisdiction"
+ },
+ "JurisdictionRegion" : {
+ "type" : "string",
+ "description" : "Name identifying the region within the country"
+ }
+ },
+ "description" : ""
};
defs["TaxComponent"] = {
"title" : "",
@@ -6217,7 +6340,7 @@