diff --git a/build.gradle b/build.gradle index 1f1dfcff4..6d78fda77 100644 --- a/build.gradle +++ b/build.gradle @@ -46,7 +46,7 @@ publishing { maven(MavenPublication) { groupId = 'dev.merge' artifactId = 'merge-java-client' - version = '1.0.17' + version = '1.0.18' from components.java pom { scm { diff --git a/src/main/java/com/merge/api/MergeApiClient.java b/src/main/java/com/merge/api/MergeApiClient.java index 61a58b09f..635197ae7 100644 --- a/src/main/java/com/merge/api/MergeApiClient.java +++ b/src/main/java/com/merge/api/MergeApiClient.java @@ -20,21 +20,21 @@ public class MergeApiClient { protected final Supplier crmClient; + protected final Supplier hrisClient; + protected final Supplier filestorageClient; protected final Supplier ticketingClient; - protected final Supplier hrisClient; - protected final Supplier accountingClient; public MergeApiClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; this.atsClient = Suppliers.memoize(() -> new AtsClient(clientOptions)); this.crmClient = Suppliers.memoize(() -> new CrmClient(clientOptions)); + this.hrisClient = Suppliers.memoize(() -> new HrisClient(clientOptions)); this.filestorageClient = Suppliers.memoize(() -> new FilestorageClient(clientOptions)); this.ticketingClient = Suppliers.memoize(() -> new TicketingClient(clientOptions)); - this.hrisClient = Suppliers.memoize(() -> new HrisClient(clientOptions)); this.accountingClient = Suppliers.memoize(() -> new AccountingClient(clientOptions)); } @@ -46,6 +46,10 @@ public CrmClient crm() { return this.crmClient.get(); } + public HrisClient hris() { + return this.hrisClient.get(); + } + public FilestorageClient filestorage() { return this.filestorageClient.get(); } @@ -54,10 +58,6 @@ public TicketingClient ticketing() { return this.ticketingClient.get(); } - public HrisClient hris() { - return this.hrisClient.get(); - } - public AccountingClient accounting() { return this.accountingClient.get(); } diff --git a/src/main/java/com/merge/api/core/ClientOptions.java b/src/main/java/com/merge/api/core/ClientOptions.java index e327524e9..e94789955 100644 --- a/src/main/java/com/merge/api/core/ClientOptions.java +++ b/src/main/java/com/merge/api/core/ClientOptions.java @@ -30,7 +30,7 @@ private ClientOptions( { put("X-Fern-Language", "JAVA"); put("X-Fern-SDK-Name", "com.merge.fern:api-sdk"); - put("X-Fern-SDK-Version", "1.0.17"); + put("X-Fern-SDK-Version", "1.0.18"); } }); this.headerSuppliers = headerSuppliers; diff --git a/src/main/java/com/merge/api/resources/accounting/AccountingClient.java b/src/main/java/com/merge/api/resources/accounting/AccountingClient.java index c14ea35f5..a495f7358 100644 --- a/src/main/java/com/merge/api/resources/accounting/AccountingClient.java +++ b/src/main/java/com/merge/api/resources/accounting/AccountingClient.java @@ -11,18 +11,23 @@ import com.merge.api.resources.accounting.accounttoken.AccountTokenClient; import com.merge.api.resources.accounting.addresses.AddressesClient; import com.merge.api.resources.accounting.asyncpassthrough.AsyncPassthroughClient; +import com.merge.api.resources.accounting.asynctasks.AsyncTasksClient; import com.merge.api.resources.accounting.attachments.AttachmentsClient; import com.merge.api.resources.accounting.audittrail.AuditTrailClient; import com.merge.api.resources.accounting.availableactions.AvailableActionsClient; import com.merge.api.resources.accounting.balancesheets.BalanceSheetsClient; +import com.merge.api.resources.accounting.bankfeedaccounts.BankFeedAccountsClient; +import com.merge.api.resources.accounting.bankfeedtransactions.BankFeedTransactionsClient; import com.merge.api.resources.accounting.cashflowstatements.CashFlowStatementsClient; import com.merge.api.resources.accounting.companyinfo.CompanyInfoClient; import com.merge.api.resources.accounting.contacts.ContactsClient; import com.merge.api.resources.accounting.creditnotes.CreditNotesClient; import com.merge.api.resources.accounting.deleteaccount.DeleteAccountClient; +import com.merge.api.resources.accounting.employees.EmployeesClient; import com.merge.api.resources.accounting.expenses.ExpensesClient; import com.merge.api.resources.accounting.fieldmapping.FieldMappingClient; import com.merge.api.resources.accounting.forceresync.ForceResyncClient; +import com.merge.api.resources.accounting.generalledgertransactions.GeneralLedgerTransactionsClient; import com.merge.api.resources.accounting.generatekey.GenerateKeyClient; import com.merge.api.resources.accounting.incomestatements.IncomeStatementsClient; import com.merge.api.resources.accounting.invoices.InvoicesClient; @@ -60,6 +65,8 @@ public class AccountingClient { protected final Supplier asyncPassthroughClient; + protected final Supplier asyncTasksClient; + protected final Supplier attachmentsClient; protected final Supplier auditTrailClient; @@ -68,6 +75,10 @@ public class AccountingClient { protected final Supplier balanceSheetsClient; + protected final Supplier bankFeedAccountsClient; + + protected final Supplier bankFeedTransactionsClient; + protected final Supplier cashFlowStatementsClient; protected final Supplier companyInfoClient; @@ -80,10 +91,14 @@ public class AccountingClient { protected final Supplier deleteAccountClient; + protected final Supplier employeesClient; + protected final Supplier expensesClient; protected final Supplier fieldMappingClient; + protected final Supplier generalLedgerTransactionsClient; + protected final Supplier generateKeyClient; protected final Supplier incomeStatementsClient; @@ -132,18 +147,24 @@ public AccountingClient(ClientOptions clientOptions) { this.accountsClient = Suppliers.memoize(() -> new AccountsClient(clientOptions)); this.addressesClient = Suppliers.memoize(() -> new AddressesClient(clientOptions)); this.asyncPassthroughClient = Suppliers.memoize(() -> new AsyncPassthroughClient(clientOptions)); + this.asyncTasksClient = Suppliers.memoize(() -> new AsyncTasksClient(clientOptions)); this.attachmentsClient = Suppliers.memoize(() -> new AttachmentsClient(clientOptions)); this.auditTrailClient = Suppliers.memoize(() -> new AuditTrailClient(clientOptions)); this.availableActionsClient = Suppliers.memoize(() -> new AvailableActionsClient(clientOptions)); this.balanceSheetsClient = Suppliers.memoize(() -> new BalanceSheetsClient(clientOptions)); + this.bankFeedAccountsClient = Suppliers.memoize(() -> new BankFeedAccountsClient(clientOptions)); + this.bankFeedTransactionsClient = Suppliers.memoize(() -> new BankFeedTransactionsClient(clientOptions)); this.cashFlowStatementsClient = Suppliers.memoize(() -> new CashFlowStatementsClient(clientOptions)); this.companyInfoClient = Suppliers.memoize(() -> new CompanyInfoClient(clientOptions)); this.contactsClient = Suppliers.memoize(() -> new ContactsClient(clientOptions)); this.creditNotesClient = Suppliers.memoize(() -> new CreditNotesClient(clientOptions)); this.scopesClient = Suppliers.memoize(() -> new ScopesClient(clientOptions)); this.deleteAccountClient = Suppliers.memoize(() -> new DeleteAccountClient(clientOptions)); + this.employeesClient = Suppliers.memoize(() -> new EmployeesClient(clientOptions)); this.expensesClient = Suppliers.memoize(() -> new ExpensesClient(clientOptions)); this.fieldMappingClient = Suppliers.memoize(() -> new FieldMappingClient(clientOptions)); + this.generalLedgerTransactionsClient = + Suppliers.memoize(() -> new GeneralLedgerTransactionsClient(clientOptions)); this.generateKeyClient = Suppliers.memoize(() -> new GenerateKeyClient(clientOptions)); this.incomeStatementsClient = Suppliers.memoize(() -> new IncomeStatementsClient(clientOptions)); this.invoicesClient = Suppliers.memoize(() -> new InvoicesClient(clientOptions)); @@ -190,6 +211,10 @@ public AsyncPassthroughClient asyncPassthrough() { return this.asyncPassthroughClient.get(); } + public AsyncTasksClient asyncTasks() { + return this.asyncTasksClient.get(); + } + public AttachmentsClient attachments() { return this.attachmentsClient.get(); } @@ -206,6 +231,14 @@ public BalanceSheetsClient balanceSheets() { return this.balanceSheetsClient.get(); } + public BankFeedAccountsClient bankFeedAccounts() { + return this.bankFeedAccountsClient.get(); + } + + public BankFeedTransactionsClient bankFeedTransactions() { + return this.bankFeedTransactionsClient.get(); + } + public CashFlowStatementsClient cashFlowStatements() { return this.cashFlowStatementsClient.get(); } @@ -230,6 +263,10 @@ public DeleteAccountClient deleteAccount() { return this.deleteAccountClient.get(); } + public EmployeesClient employees() { + return this.employeesClient.get(); + } + public ExpensesClient expenses() { return this.expensesClient.get(); } @@ -238,6 +275,10 @@ public FieldMappingClient fieldMapping() { return this.fieldMappingClient.get(); } + public GeneralLedgerTransactionsClient generalLedgerTransactions() { + return this.generalLedgerTransactionsClient.get(); + } + public GenerateKeyClient generateKey() { return this.generateKeyClient.get(); } diff --git a/src/main/java/com/merge/api/resources/accounting/accounts/AccountsClient.java b/src/main/java/com/merge/api/resources/accounting/accounts/AccountsClient.java index 40713ac70..9e45dbbaf 100644 --- a/src/main/java/com/merge/api/resources/accounting/accounts/AccountsClient.java +++ b/src/main/java/com/merge/api/resources/accounting/accounts/AccountsClient.java @@ -55,6 +55,9 @@ public PaginatedAccountList list(AccountsListRequest request, RequestOptions req HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() .addPathSegments("accounting/v1/accounts"); + if (request.getAccountType().isPresent()) { + httpUrl.addQueryParameter("account_type", request.getAccountType().get()); + } if (request.getCompanyId().isPresent()) { httpUrl.addQueryParameter("company_id", request.getCompanyId().get()); } diff --git a/src/main/java/com/merge/api/resources/accounting/accounts/requests/AccountsListRequest.java b/src/main/java/com/merge/api/resources/accounting/accounts/requests/AccountsListRequest.java index 2ede6f20e..83aef26e1 100644 --- a/src/main/java/com/merge/api/resources/accounting/accounts/requests/AccountsListRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/accounts/requests/AccountsListRequest.java @@ -23,6 +23,8 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = AccountsListRequest.Builder.class) public final class AccountsListRequest { + private final Optional accountType; + private final Optional companyId; private final Optional createdAfter; @@ -54,6 +56,7 @@ public final class AccountsListRequest { private final Map additionalProperties; private AccountsListRequest( + Optional accountType, Optional companyId, Optional createdAfter, Optional createdBefore, @@ -69,6 +72,7 @@ private AccountsListRequest( Optional remoteId, Optional showEnumOrigins, Map additionalProperties) { + this.accountType = accountType; this.companyId = companyId; this.createdAfter = createdAfter; this.createdBefore = createdBefore; @@ -86,6 +90,14 @@ private AccountsListRequest( this.additionalProperties = additionalProperties; } + /** + * @return If provided, will only provide accounts with the passed in enum. + */ + @JsonProperty("account_type") + public Optional getAccountType() { + return accountType; + } + /** * @return If provided, will only return accounts for this company. */ @@ -210,7 +222,8 @@ public Map getAdditionalProperties() { } private boolean equalTo(AccountsListRequest other) { - return companyId.equals(other.companyId) + return accountType.equals(other.accountType) + && companyId.equals(other.companyId) && createdAfter.equals(other.createdAfter) && createdBefore.equals(other.createdBefore) && cursor.equals(other.cursor) @@ -229,6 +242,7 @@ private boolean equalTo(AccountsListRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( + this.accountType, this.companyId, this.createdAfter, this.createdBefore, @@ -256,6 +270,8 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { + private Optional accountType = Optional.empty(); + private Optional companyId = Optional.empty(); private Optional createdAfter = Optional.empty(); @@ -290,6 +306,7 @@ public static final class Builder { private Builder() {} public Builder from(AccountsListRequest other) { + accountType(other.getAccountType()); companyId(other.getCompanyId()); createdAfter(other.getCreatedAfter()); createdBefore(other.getCreatedBefore()); @@ -307,6 +324,17 @@ public Builder from(AccountsListRequest other) { return this; } + @JsonSetter(value = "account_type", nulls = Nulls.SKIP) + public Builder accountType(Optional accountType) { + this.accountType = accountType; + return this; + } + + public Builder accountType(String accountType) { + this.accountType = Optional.of(accountType); + return this; + } + @JsonSetter(value = "company_id", nulls = Nulls.SKIP) public Builder companyId(Optional companyId) { this.companyId = companyId; @@ -463,6 +491,7 @@ public Builder showEnumOrigins(AccountsListRequestShowEnumOrigins showEnumOrigin public AccountsListRequest build() { return new AccountsListRequest( + accountType, companyId, createdAfter, createdBefore, diff --git a/src/main/java/com/merge/api/resources/accounting/asynctasks/AsyncTasksClient.java b/src/main/java/com/merge/api/resources/accounting/asynctasks/AsyncTasksClient.java new file mode 100644 index 000000000..849d90e17 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/asynctasks/AsyncTasksClient.java @@ -0,0 +1,67 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.asynctasks; + +import com.merge.api.core.ApiError; +import com.merge.api.core.ClientOptions; +import com.merge.api.core.MergeException; +import com.merge.api.core.ObjectMappers; +import com.merge.api.core.RequestOptions; +import com.merge.api.resources.accounting.types.AsyncPostTask; +import java.io.IOException; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class AsyncTasksClient { + protected final ClientOptions clientOptions; + + public AsyncTasksClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Returns an AsyncPostTask object with the given id. + */ + public AsyncPostTask retrieve(String id) { + return retrieve(id, null); + } + + /** + * Returns an AsyncPostTask object with the given id. + */ + public AsyncPostTask retrieve(String id, RequestOptions requestOptions) { + HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/async-tasks") + .addPathSegment(id) + .build(); + Request okhttpRequest = new Request.Builder() + .url(httpUrl) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), AsyncPostTask.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/audittrail/requests/AuditTrailListRequest.java b/src/main/java/com/merge/api/resources/accounting/audittrail/requests/AuditTrailListRequest.java index 9ad97b567..cbf5d2298 100644 --- a/src/main/java/com/merge/api/resources/accounting/audittrail/requests/AuditTrailListRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/audittrail/requests/AuditTrailListRequest.java @@ -68,7 +68,7 @@ public Optional getEndDate() { } /** - * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED + * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED */ @JsonProperty("event_type") public Optional getEventType() { diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/BankFeedAccountsClient.java b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/BankFeedAccountsClient.java new file mode 100644 index 000000000..09a6e8ad1 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/BankFeedAccountsClient.java @@ -0,0 +1,247 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedaccounts; + +import com.merge.api.core.ApiError; +import com.merge.api.core.ClientOptions; +import com.merge.api.core.MediaTypes; +import com.merge.api.core.MergeException; +import com.merge.api.core.ObjectMappers; +import com.merge.api.core.RequestOptions; +import com.merge.api.resources.accounting.bankfeedaccounts.requests.BankFeedAccountEndpointRequest; +import com.merge.api.resources.accounting.bankfeedaccounts.requests.BankFeedAccountsListRequest; +import com.merge.api.resources.accounting.bankfeedaccounts.requests.BankFeedAccountsRetrieveRequest; +import com.merge.api.resources.accounting.types.BankFeedAccount; +import com.merge.api.resources.accounting.types.BankFeedAccountResponse; +import com.merge.api.resources.accounting.types.MetaResponse; +import com.merge.api.resources.accounting.types.PaginatedBankFeedAccountList; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class BankFeedAccountsClient { + protected final ClientOptions clientOptions; + + public BankFeedAccountsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Returns a list of BankFeedAccount objects. + */ + public PaginatedBankFeedAccountList list() { + return list(BankFeedAccountsListRequest.builder().build()); + } + + /** + * Returns a list of BankFeedAccount objects. + */ + public PaginatedBankFeedAccountList list(BankFeedAccountsListRequest request) { + return list(request, null); + } + + /** + * Returns a list of BankFeedAccount objects. + */ + public PaginatedBankFeedAccountList list(BankFeedAccountsListRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-accounts"); + if (request.getCursor().isPresent()) { + httpUrl.addQueryParameter("cursor", request.getCursor().get()); + } + if (request.getIncludeDeletedData().isPresent()) { + httpUrl.addQueryParameter( + "include_deleted_data", + request.getIncludeDeletedData().get().toString()); + } + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + if (request.getIncludeShellData().isPresent()) { + httpUrl.addQueryParameter( + "include_shell_data", request.getIncludeShellData().get().toString()); + } + if (request.getPageSize().isPresent()) { + httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), PaginatedBankFeedAccountList.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Creates a BankFeedAccount object with the given values. + */ + public BankFeedAccountResponse create(BankFeedAccountEndpointRequest request) { + return create(request, null); + } + + /** + * Creates a BankFeedAccount object with the given values. + */ + public BankFeedAccountResponse create(BankFeedAccountEndpointRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-accounts"); + if (request.getIsDebugMode().isPresent()) { + httpUrl.addQueryParameter( + "is_debug_mode", request.getIsDebugMode().get().toString()); + } + if (request.getRunAsync().isPresent()) { + httpUrl.addQueryParameter("run_async", request.getRunAsync().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("model", request.getModel()); + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), BankFeedAccountResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Returns a BankFeedAccount object with the given id. + */ + public BankFeedAccount retrieve(String id) { + return retrieve(id, BankFeedAccountsRetrieveRequest.builder().build()); + } + + /** + * Returns a BankFeedAccount object with the given id. + */ + public BankFeedAccount retrieve(String id, BankFeedAccountsRetrieveRequest request) { + return retrieve(id, request, null); + } + + /** + * Returns a BankFeedAccount object with the given id. + */ + public BankFeedAccount retrieve(String id, BankFeedAccountsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-accounts") + .addPathSegment(id); + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), BankFeedAccount.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Returns metadata for BankFeedAccount POSTs. + */ + public MetaResponse metaPostRetrieve() { + return metaPostRetrieve(null); + } + + /** + * Returns metadata for BankFeedAccount POSTs. + */ + public MetaResponse metaPostRetrieve(RequestOptions requestOptions) { + HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-accounts/meta/post") + .build(); + Request okhttpRequest = new Request.Builder() + .url(httpUrl) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), MetaResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountEndpointRequest.java b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountEndpointRequest.java new file mode 100644 index 000000000..bee3dd4c6 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountEndpointRequest.java @@ -0,0 +1,178 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedaccounts.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.accounting.types.BankFeedAccountRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedAccountEndpointRequest.Builder.class) +public final class BankFeedAccountEndpointRequest { + private final Optional isDebugMode; + + private final Optional runAsync; + + private final BankFeedAccountRequest model; + + private final Map additionalProperties; + + private BankFeedAccountEndpointRequest( + Optional isDebugMode, + Optional runAsync, + BankFeedAccountRequest model, + Map additionalProperties) { + this.isDebugMode = isDebugMode; + this.runAsync = runAsync; + this.model = model; + this.additionalProperties = additionalProperties; + } + + /** + * @return Whether to include debug fields (such as log file links) in the response. + */ + @JsonProperty("is_debug_mode") + public Optional getIsDebugMode() { + return isDebugMode; + } + + /** + * @return Whether or not third-party updates should be run asynchronously. + */ + @JsonProperty("run_async") + public Optional getRunAsync() { + return runAsync; + } + + @JsonProperty("model") + public BankFeedAccountRequest getModel() { + return model; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountEndpointRequest && equalTo((BankFeedAccountEndpointRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedAccountEndpointRequest other) { + return isDebugMode.equals(other.isDebugMode) && runAsync.equals(other.runAsync) && model.equals(other.model); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.isDebugMode, this.runAsync, this.model); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(BankFeedAccountRequest model); + + Builder from(BankFeedAccountEndpointRequest other); + } + + public interface _FinalStage { + BankFeedAccountEndpointRequest build(); + + _FinalStage isDebugMode(Optional isDebugMode); + + _FinalStage isDebugMode(Boolean isDebugMode); + + _FinalStage runAsync(Optional runAsync); + + _FinalStage runAsync(Boolean runAsync); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private BankFeedAccountRequest model; + + private Optional runAsync = Optional.empty(); + + private Optional isDebugMode = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(BankFeedAccountEndpointRequest other) { + isDebugMode(other.getIsDebugMode()); + runAsync(other.getRunAsync()); + model(other.getModel()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(BankFeedAccountRequest model) { + this.model = model; + return this; + } + + /** + *

Whether or not third-party updates should be run asynchronously.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage runAsync(Boolean runAsync) { + this.runAsync = Optional.of(runAsync); + return this; + } + + @java.lang.Override + @JsonSetter(value = "run_async", nulls = Nulls.SKIP) + public _FinalStage runAsync(Optional runAsync) { + this.runAsync = runAsync; + return this; + } + + /** + *

Whether to include debug fields (such as log file links) in the response.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage isDebugMode(Boolean isDebugMode) { + this.isDebugMode = Optional.of(isDebugMode); + return this; + } + + @java.lang.Override + @JsonSetter(value = "is_debug_mode", nulls = Nulls.SKIP) + public _FinalStage isDebugMode(Optional isDebugMode) { + this.isDebugMode = isDebugMode; + return this; + } + + @java.lang.Override + public BankFeedAccountEndpointRequest build() { + return new BankFeedAccountEndpointRequest(isDebugMode, runAsync, model, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountsListRequest.java b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountsListRequest.java new file mode 100644 index 000000000..ccf651431 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountsListRequest.java @@ -0,0 +1,210 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedaccounts.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedAccountsListRequest.Builder.class) +public final class BankFeedAccountsListRequest { + private final Optional cursor; + + private final Optional includeDeletedData; + + private final Optional includeRemoteData; + + private final Optional includeShellData; + + private final Optional pageSize; + + private final Map additionalProperties; + + private BankFeedAccountsListRequest( + Optional cursor, + Optional includeDeletedData, + Optional includeRemoteData, + Optional includeShellData, + Optional pageSize, + Map additionalProperties) { + this.cursor = cursor; + this.includeDeletedData = includeDeletedData; + this.includeRemoteData = includeRemoteData; + this.includeShellData = includeShellData; + this.pageSize = pageSize; + this.additionalProperties = additionalProperties; + } + + /** + * @return The pagination cursor value. + */ + @JsonProperty("cursor") + public Optional getCursor() { + return cursor; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("include_deleted_data") + public Optional getIncludeDeletedData() { + return includeDeletedData; + } + + /** + * @return Whether to include the original data Merge fetched from the third-party to produce these models. + */ + @JsonProperty("include_remote_data") + public Optional getIncludeRemoteData() { + return includeRemoteData; + } + + /** + * @return Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + */ + @JsonProperty("include_shell_data") + public Optional getIncludeShellData() { + return includeShellData; + } + + /** + * @return Number of results to return per page. + */ + @JsonProperty("page_size") + public Optional getPageSize() { + return pageSize; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountsListRequest && equalTo((BankFeedAccountsListRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedAccountsListRequest other) { + return cursor.equals(other.cursor) + && includeDeletedData.equals(other.includeDeletedData) + && includeRemoteData.equals(other.includeRemoteData) + && includeShellData.equals(other.includeShellData) + && pageSize.equals(other.pageSize); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.cursor, this.includeDeletedData, this.includeRemoteData, this.includeShellData, this.pageSize); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional cursor = Optional.empty(); + + private Optional includeDeletedData = Optional.empty(); + + private Optional includeRemoteData = Optional.empty(); + + private Optional includeShellData = Optional.empty(); + + private Optional pageSize = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedAccountsListRequest other) { + cursor(other.getCursor()); + includeDeletedData(other.getIncludeDeletedData()); + includeRemoteData(other.getIncludeRemoteData()); + includeShellData(other.getIncludeShellData()); + pageSize(other.getPageSize()); + return this; + } + + @JsonSetter(value = "cursor", nulls = Nulls.SKIP) + public Builder cursor(Optional cursor) { + this.cursor = cursor; + return this; + } + + public Builder cursor(String cursor) { + this.cursor = Optional.of(cursor); + return this; + } + + @JsonSetter(value = "include_deleted_data", nulls = Nulls.SKIP) + public Builder includeDeletedData(Optional includeDeletedData) { + this.includeDeletedData = includeDeletedData; + return this; + } + + public Builder includeDeletedData(Boolean includeDeletedData) { + this.includeDeletedData = Optional.of(includeDeletedData); + return this; + } + + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) + public Builder includeRemoteData(Optional includeRemoteData) { + this.includeRemoteData = includeRemoteData; + return this; + } + + public Builder includeRemoteData(Boolean includeRemoteData) { + this.includeRemoteData = Optional.of(includeRemoteData); + return this; + } + + @JsonSetter(value = "include_shell_data", nulls = Nulls.SKIP) + public Builder includeShellData(Optional includeShellData) { + this.includeShellData = includeShellData; + return this; + } + + public Builder includeShellData(Boolean includeShellData) { + this.includeShellData = Optional.of(includeShellData); + return this; + } + + @JsonSetter(value = "page_size", nulls = Nulls.SKIP) + public Builder pageSize(Optional pageSize) { + this.pageSize = pageSize; + return this; + } + + public Builder pageSize(Integer pageSize) { + this.pageSize = Optional.of(pageSize); + return this; + } + + public BankFeedAccountsListRequest build() { + return new BankFeedAccountsListRequest( + cursor, includeDeletedData, includeRemoteData, includeShellData, pageSize, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountsRetrieveRequest.java b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountsRetrieveRequest.java new file mode 100644 index 000000000..9492e453b --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedaccounts/requests/BankFeedAccountsRetrieveRequest.java @@ -0,0 +1,99 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedaccounts.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedAccountsRetrieveRequest.Builder.class) +public final class BankFeedAccountsRetrieveRequest { + private final Optional includeRemoteData; + + private final Map additionalProperties; + + private BankFeedAccountsRetrieveRequest( + Optional includeRemoteData, Map additionalProperties) { + this.includeRemoteData = includeRemoteData; + this.additionalProperties = additionalProperties; + } + + /** + * @return Whether to include the original data Merge fetched from the third-party to produce these models. + */ + @JsonProperty("include_remote_data") + public Optional getIncludeRemoteData() { + return includeRemoteData; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountsRetrieveRequest && equalTo((BankFeedAccountsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedAccountsRetrieveRequest other) { + return includeRemoteData.equals(other.includeRemoteData); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.includeRemoteData); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional includeRemoteData = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedAccountsRetrieveRequest other) { + includeRemoteData(other.getIncludeRemoteData()); + return this; + } + + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) + public Builder includeRemoteData(Optional includeRemoteData) { + this.includeRemoteData = includeRemoteData; + return this; + } + + public Builder includeRemoteData(Boolean includeRemoteData) { + this.includeRemoteData = Optional.of(includeRemoteData); + return this; + } + + public BankFeedAccountsRetrieveRequest build() { + return new BankFeedAccountsRetrieveRequest(includeRemoteData, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/BankFeedTransactionsClient.java b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/BankFeedTransactionsClient.java new file mode 100644 index 000000000..6f52fda56 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/BankFeedTransactionsClient.java @@ -0,0 +1,280 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedtransactions; + +import com.merge.api.core.ApiError; +import com.merge.api.core.ClientOptions; +import com.merge.api.core.MediaTypes; +import com.merge.api.core.MergeException; +import com.merge.api.core.ObjectMappers; +import com.merge.api.core.RequestOptions; +import com.merge.api.resources.accounting.bankfeedtransactions.requests.BankFeedTransactionEndpointRequest; +import com.merge.api.resources.accounting.bankfeedtransactions.requests.BankFeedTransactionsListRequest; +import com.merge.api.resources.accounting.bankfeedtransactions.requests.BankFeedTransactionsRetrieveRequest; +import com.merge.api.resources.accounting.types.BankFeedTransaction; +import com.merge.api.resources.accounting.types.BankFeedTransactionResponse; +import com.merge.api.resources.accounting.types.MetaResponse; +import com.merge.api.resources.accounting.types.PaginatedBankFeedTransactionList; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class BankFeedTransactionsClient { + protected final ClientOptions clientOptions; + + public BankFeedTransactionsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Returns a list of BankFeedTransaction objects. + */ + public PaginatedBankFeedTransactionList list() { + return list(BankFeedTransactionsListRequest.builder().build()); + } + + /** + * Returns a list of BankFeedTransaction objects. + */ + public PaginatedBankFeedTransactionList list(BankFeedTransactionsListRequest request) { + return list(request, null); + } + + /** + * Returns a list of BankFeedTransaction objects. + */ + public PaginatedBankFeedTransactionList list( + BankFeedTransactionsListRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-transactions"); + if (request.getCreatedAfter().isPresent()) { + httpUrl.addQueryParameter( + "created_after", request.getCreatedAfter().get().toString()); + } + if (request.getCreatedBefore().isPresent()) { + httpUrl.addQueryParameter( + "created_before", request.getCreatedBefore().get().toString()); + } + if (request.getCursor().isPresent()) { + httpUrl.addQueryParameter("cursor", request.getCursor().get()); + } + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); + } + if (request.getIncludeDeletedData().isPresent()) { + httpUrl.addQueryParameter( + "include_deleted_data", + request.getIncludeDeletedData().get().toString()); + } + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + if (request.getIncludeShellData().isPresent()) { + httpUrl.addQueryParameter( + "include_shell_data", request.getIncludeShellData().get().toString()); + } + if (request.getIsProcessed().isPresent()) { + httpUrl.addQueryParameter( + "is_processed", request.getIsProcessed().get().toString()); + } + if (request.getModifiedAfter().isPresent()) { + httpUrl.addQueryParameter( + "modified_after", request.getModifiedAfter().get().toString()); + } + if (request.getModifiedBefore().isPresent()) { + httpUrl.addQueryParameter( + "modified_before", request.getModifiedBefore().get().toString()); + } + if (request.getPageSize().isPresent()) { + httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); + } + if (request.getRemoteId().isPresent()) { + httpUrl.addQueryParameter("remote_id", request.getRemoteId().get()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue( + responseBody.string(), PaginatedBankFeedTransactionList.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Creates a BankFeedTransaction object with the given values. + */ + public BankFeedTransactionResponse create(BankFeedTransactionEndpointRequest request) { + return create(request, null); + } + + /** + * Creates a BankFeedTransaction object with the given values. + */ + public BankFeedTransactionResponse create( + BankFeedTransactionEndpointRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-transactions"); + if (request.getIsDebugMode().isPresent()) { + httpUrl.addQueryParameter( + "is_debug_mode", request.getIsDebugMode().get().toString()); + } + if (request.getRunAsync().isPresent()) { + httpUrl.addQueryParameter("run_async", request.getRunAsync().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("model", request.getModel()); + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), BankFeedTransactionResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Returns a BankFeedTransaction object with the given id. + */ + public BankFeedTransaction retrieve(String id) { + return retrieve(id, BankFeedTransactionsRetrieveRequest.builder().build()); + } + + /** + * Returns a BankFeedTransaction object with the given id. + */ + public BankFeedTransaction retrieve(String id, BankFeedTransactionsRetrieveRequest request) { + return retrieve(id, request, null); + } + + /** + * Returns a BankFeedTransaction object with the given id. + */ + public BankFeedTransaction retrieve( + String id, BankFeedTransactionsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-transactions") + .addPathSegment(id); + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); + } + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), BankFeedTransaction.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Returns metadata for BankFeedTransaction POSTs. + */ + public MetaResponse metaPostRetrieve() { + return metaPostRetrieve(null); + } + + /** + * Returns metadata for BankFeedTransaction POSTs. + */ + public MetaResponse metaPostRetrieve(RequestOptions requestOptions) { + HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/bank-feed-transactions/meta/post") + .build(); + Request okhttpRequest = new Request.Builder() + .url(httpUrl) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), MetaResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionEndpointRequest.java b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionEndpointRequest.java new file mode 100644 index 000000000..56e30125e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionEndpointRequest.java @@ -0,0 +1,179 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedtransactions.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.accounting.types.BankFeedTransactionRequestRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedTransactionEndpointRequest.Builder.class) +public final class BankFeedTransactionEndpointRequest { + private final Optional isDebugMode; + + private final Optional runAsync; + + private final BankFeedTransactionRequestRequest model; + + private final Map additionalProperties; + + private BankFeedTransactionEndpointRequest( + Optional isDebugMode, + Optional runAsync, + BankFeedTransactionRequestRequest model, + Map additionalProperties) { + this.isDebugMode = isDebugMode; + this.runAsync = runAsync; + this.model = model; + this.additionalProperties = additionalProperties; + } + + /** + * @return Whether to include debug fields (such as log file links) in the response. + */ + @JsonProperty("is_debug_mode") + public Optional getIsDebugMode() { + return isDebugMode; + } + + /** + * @return Whether or not third-party updates should be run asynchronously. + */ + @JsonProperty("run_async") + public Optional getRunAsync() { + return runAsync; + } + + @JsonProperty("model") + public BankFeedTransactionRequestRequest getModel() { + return model; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionEndpointRequest + && equalTo((BankFeedTransactionEndpointRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedTransactionEndpointRequest other) { + return isDebugMode.equals(other.isDebugMode) && runAsync.equals(other.runAsync) && model.equals(other.model); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.isDebugMode, this.runAsync, this.model); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(BankFeedTransactionRequestRequest model); + + Builder from(BankFeedTransactionEndpointRequest other); + } + + public interface _FinalStage { + BankFeedTransactionEndpointRequest build(); + + _FinalStage isDebugMode(Optional isDebugMode); + + _FinalStage isDebugMode(Boolean isDebugMode); + + _FinalStage runAsync(Optional runAsync); + + _FinalStage runAsync(Boolean runAsync); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private BankFeedTransactionRequestRequest model; + + private Optional runAsync = Optional.empty(); + + private Optional isDebugMode = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(BankFeedTransactionEndpointRequest other) { + isDebugMode(other.getIsDebugMode()); + runAsync(other.getRunAsync()); + model(other.getModel()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(BankFeedTransactionRequestRequest model) { + this.model = model; + return this; + } + + /** + *

Whether or not third-party updates should be run asynchronously.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage runAsync(Boolean runAsync) { + this.runAsync = Optional.of(runAsync); + return this; + } + + @java.lang.Override + @JsonSetter(value = "run_async", nulls = Nulls.SKIP) + public _FinalStage runAsync(Optional runAsync) { + this.runAsync = runAsync; + return this; + } + + /** + *

Whether to include debug fields (such as log file links) in the response.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage isDebugMode(Boolean isDebugMode) { + this.isDebugMode = Optional.of(isDebugMode); + return this; + } + + @java.lang.Override + @JsonSetter(value = "is_debug_mode", nulls = Nulls.SKIP) + public _FinalStage isDebugMode(Optional isDebugMode) { + this.isDebugMode = isDebugMode; + return this; + } + + @java.lang.Override + public BankFeedTransactionEndpointRequest build() { + return new BankFeedTransactionEndpointRequest(isDebugMode, runAsync, model, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionsListRequest.java b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionsListRequest.java new file mode 100644 index 000000000..f76f41f8e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionsListRequest.java @@ -0,0 +1,423 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedtransactions.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedTransactionsListRequest.Builder.class) +public final class BankFeedTransactionsListRequest { + private final Optional createdAfter; + + private final Optional createdBefore; + + private final Optional cursor; + + private final Optional expand; + + private final Optional includeDeletedData; + + private final Optional includeRemoteData; + + private final Optional includeShellData; + + private final Optional isProcessed; + + private final Optional modifiedAfter; + + private final Optional modifiedBefore; + + private final Optional pageSize; + + private final Optional remoteId; + + private final Map additionalProperties; + + private BankFeedTransactionsListRequest( + Optional createdAfter, + Optional createdBefore, + Optional cursor, + Optional expand, + Optional includeDeletedData, + Optional includeRemoteData, + Optional includeShellData, + Optional isProcessed, + Optional modifiedAfter, + Optional modifiedBefore, + Optional pageSize, + Optional remoteId, + Map additionalProperties) { + this.createdAfter = createdAfter; + this.createdBefore = createdBefore; + this.cursor = cursor; + this.expand = expand; + this.includeDeletedData = includeDeletedData; + this.includeRemoteData = includeRemoteData; + this.includeShellData = includeShellData; + this.isProcessed = isProcessed; + this.modifiedAfter = modifiedAfter; + this.modifiedBefore = modifiedBefore; + this.pageSize = pageSize; + this.remoteId = remoteId; + this.additionalProperties = additionalProperties; + } + + /** + * @return If provided, will only return objects created after this datetime. + */ + @JsonProperty("created_after") + public Optional getCreatedAfter() { + return createdAfter; + } + + /** + * @return If provided, will only return objects created before this datetime. + */ + @JsonProperty("created_before") + public Optional getCreatedBefore() { + return createdBefore; + } + + /** + * @return The pagination cursor value. + */ + @JsonProperty("cursor") + public Optional getCursor() { + return cursor; + } + + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("include_deleted_data") + public Optional getIncludeDeletedData() { + return includeDeletedData; + } + + /** + * @return Whether to include the original data Merge fetched from the third-party to produce these models. + */ + @JsonProperty("include_remote_data") + public Optional getIncludeRemoteData() { + return includeRemoteData; + } + + /** + * @return Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + */ + @JsonProperty("include_shell_data") + public Optional getIncludeShellData() { + return includeShellData; + } + + /** + * @return If provided, will only return bank feed transactions with this is_processed value + */ + @JsonProperty("is_processed") + public Optional getIsProcessed() { + return isProcessed; + } + + /** + * @return If provided, only objects synced by Merge after this date time will be returned. + */ + @JsonProperty("modified_after") + public Optional getModifiedAfter() { + return modifiedAfter; + } + + /** + * @return If provided, only objects synced by Merge before this date time will be returned. + */ + @JsonProperty("modified_before") + public Optional getModifiedBefore() { + return modifiedBefore; + } + + /** + * @return Number of results to return per page. + */ + @JsonProperty("page_size") + public Optional getPageSize() { + return pageSize; + } + + /** + * @return The API provider's ID for the given object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionsListRequest && equalTo((BankFeedTransactionsListRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedTransactionsListRequest other) { + return createdAfter.equals(other.createdAfter) + && createdBefore.equals(other.createdBefore) + && cursor.equals(other.cursor) + && expand.equals(other.expand) + && includeDeletedData.equals(other.includeDeletedData) + && includeRemoteData.equals(other.includeRemoteData) + && includeShellData.equals(other.includeShellData) + && isProcessed.equals(other.isProcessed) + && modifiedAfter.equals(other.modifiedAfter) + && modifiedBefore.equals(other.modifiedBefore) + && pageSize.equals(other.pageSize) + && remoteId.equals(other.remoteId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.createdAfter, + this.createdBefore, + this.cursor, + this.expand, + this.includeDeletedData, + this.includeRemoteData, + this.includeShellData, + this.isProcessed, + this.modifiedAfter, + this.modifiedBefore, + this.pageSize, + this.remoteId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional createdAfter = Optional.empty(); + + private Optional createdBefore = Optional.empty(); + + private Optional cursor = Optional.empty(); + + private Optional expand = Optional.empty(); + + private Optional includeDeletedData = Optional.empty(); + + private Optional includeRemoteData = Optional.empty(); + + private Optional includeShellData = Optional.empty(); + + private Optional isProcessed = Optional.empty(); + + private Optional modifiedAfter = Optional.empty(); + + private Optional modifiedBefore = Optional.empty(); + + private Optional pageSize = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedTransactionsListRequest other) { + createdAfter(other.getCreatedAfter()); + createdBefore(other.getCreatedBefore()); + cursor(other.getCursor()); + expand(other.getExpand()); + includeDeletedData(other.getIncludeDeletedData()); + includeRemoteData(other.getIncludeRemoteData()); + includeShellData(other.getIncludeShellData()); + isProcessed(other.getIsProcessed()); + modifiedAfter(other.getModifiedAfter()); + modifiedBefore(other.getModifiedBefore()); + pageSize(other.getPageSize()); + remoteId(other.getRemoteId()); + return this; + } + + @JsonSetter(value = "created_after", nulls = Nulls.SKIP) + public Builder createdAfter(Optional createdAfter) { + this.createdAfter = createdAfter; + return this; + } + + public Builder createdAfter(OffsetDateTime createdAfter) { + this.createdAfter = Optional.of(createdAfter); + return this; + } + + @JsonSetter(value = "created_before", nulls = Nulls.SKIP) + public Builder createdBefore(Optional createdBefore) { + this.createdBefore = createdBefore; + return this; + } + + public Builder createdBefore(OffsetDateTime createdBefore) { + this.createdBefore = Optional.of(createdBefore); + return this; + } + + @JsonSetter(value = "cursor", nulls = Nulls.SKIP) + public Builder cursor(Optional cursor) { + this.cursor = cursor; + return this; + } + + public Builder cursor(String cursor) { + this.cursor = Optional.of(cursor); + return this; + } + + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(String expand) { + this.expand = Optional.of(expand); + return this; + } + + @JsonSetter(value = "include_deleted_data", nulls = Nulls.SKIP) + public Builder includeDeletedData(Optional includeDeletedData) { + this.includeDeletedData = includeDeletedData; + return this; + } + + public Builder includeDeletedData(Boolean includeDeletedData) { + this.includeDeletedData = Optional.of(includeDeletedData); + return this; + } + + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) + public Builder includeRemoteData(Optional includeRemoteData) { + this.includeRemoteData = includeRemoteData; + return this; + } + + public Builder includeRemoteData(Boolean includeRemoteData) { + this.includeRemoteData = Optional.of(includeRemoteData); + return this; + } + + @JsonSetter(value = "include_shell_data", nulls = Nulls.SKIP) + public Builder includeShellData(Optional includeShellData) { + this.includeShellData = includeShellData; + return this; + } + + public Builder includeShellData(Boolean includeShellData) { + this.includeShellData = Optional.of(includeShellData); + return this; + } + + @JsonSetter(value = "is_processed", nulls = Nulls.SKIP) + public Builder isProcessed(Optional isProcessed) { + this.isProcessed = isProcessed; + return this; + } + + public Builder isProcessed(Boolean isProcessed) { + this.isProcessed = Optional.of(isProcessed); + return this; + } + + @JsonSetter(value = "modified_after", nulls = Nulls.SKIP) + public Builder modifiedAfter(Optional modifiedAfter) { + this.modifiedAfter = modifiedAfter; + return this; + } + + public Builder modifiedAfter(OffsetDateTime modifiedAfter) { + this.modifiedAfter = Optional.of(modifiedAfter); + return this; + } + + @JsonSetter(value = "modified_before", nulls = Nulls.SKIP) + public Builder modifiedBefore(Optional modifiedBefore) { + this.modifiedBefore = modifiedBefore; + return this; + } + + public Builder modifiedBefore(OffsetDateTime modifiedBefore) { + this.modifiedBefore = Optional.of(modifiedBefore); + return this; + } + + @JsonSetter(value = "page_size", nulls = Nulls.SKIP) + public Builder pageSize(Optional pageSize) { + this.pageSize = pageSize; + return this; + } + + public Builder pageSize(Integer pageSize) { + this.pageSize = Optional.of(pageSize); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + public BankFeedTransactionsListRequest build() { + return new BankFeedTransactionsListRequest( + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + isProcessed, + modifiedAfter, + modifiedBefore, + pageSize, + remoteId, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionsRetrieveRequest.java b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionsRetrieveRequest.java new file mode 100644 index 000000000..82699ef12 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/bankfeedtransactions/requests/BankFeedTransactionsRetrieveRequest.java @@ -0,0 +1,125 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.bankfeedtransactions.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedTransactionsRetrieveRequest.Builder.class) +public final class BankFeedTransactionsRetrieveRequest { + private final Optional expand; + + private final Optional includeRemoteData; + + private final Map additionalProperties; + + private BankFeedTransactionsRetrieveRequest( + Optional expand, Optional includeRemoteData, Map additionalProperties) { + this.expand = expand; + this.includeRemoteData = includeRemoteData; + this.additionalProperties = additionalProperties; + } + + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + + /** + * @return Whether to include the original data Merge fetched from the third-party to produce these models. + */ + @JsonProperty("include_remote_data") + public Optional getIncludeRemoteData() { + return includeRemoteData; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionsRetrieveRequest + && equalTo((BankFeedTransactionsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedTransactionsRetrieveRequest other) { + return expand.equals(other.expand) && includeRemoteData.equals(other.includeRemoteData); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.expand, this.includeRemoteData); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional expand = Optional.empty(); + + private Optional includeRemoteData = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedTransactionsRetrieveRequest other) { + expand(other.getExpand()); + includeRemoteData(other.getIncludeRemoteData()); + return this; + } + + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(String expand) { + this.expand = Optional.of(expand); + return this; + } + + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) + public Builder includeRemoteData(Optional includeRemoteData) { + this.includeRemoteData = includeRemoteData; + return this; + } + + public Builder includeRemoteData(Boolean includeRemoteData) { + this.includeRemoteData = Optional.of(includeRemoteData); + return this; + } + + public BankFeedTransactionsRetrieveRequest build() { + return new BankFeedTransactionsRetrieveRequest(expand, includeRemoteData, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/contacts/ContactsClient.java b/src/main/java/com/merge/api/resources/accounting/contacts/ContactsClient.java index 33f33e2c3..2514d280c 100644 --- a/src/main/java/com/merge/api/resources/accounting/contacts/ContactsClient.java +++ b/src/main/java/com/merge/api/resources/accounting/contacts/ContactsClient.java @@ -71,6 +71,9 @@ public PaginatedContactList list(ContactsListRequest request, RequestOptions req if (request.getCursor().isPresent()) { httpUrl.addQueryParameter("cursor", request.getCursor().get()); } + if (request.getEmailAddress().isPresent()) { + httpUrl.addQueryParameter("email_address", request.getEmailAddress().get()); + } if (request.getExpand().isPresent()) { httpUrl.addQueryParameter("expand", request.getExpand().get().toString()); } @@ -106,6 +109,9 @@ public PaginatedContactList list(ContactsListRequest request, RequestOptions req httpUrl.addQueryParameter( "modified_before", request.getModifiedBefore().get().toString()); } + if (request.getName().isPresent()) { + httpUrl.addQueryParameter("name", request.getName().get()); + } if (request.getPageSize().isPresent()) { httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); } diff --git a/src/main/java/com/merge/api/resources/accounting/contacts/requests/ContactsListRequest.java b/src/main/java/com/merge/api/resources/accounting/contacts/requests/ContactsListRequest.java index 87162961a..0e31608c4 100644 --- a/src/main/java/com/merge/api/resources/accounting/contacts/requests/ContactsListRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/contacts/requests/ContactsListRequest.java @@ -30,6 +30,8 @@ public final class ContactsListRequest { private final Optional cursor; + private final Optional emailAddress; + private final Optional expand; private final Optional includeDeletedData; @@ -48,6 +50,8 @@ public final class ContactsListRequest { private final Optional modifiedBefore; + private final Optional name; + private final Optional pageSize; private final Optional remoteFields; @@ -63,6 +67,7 @@ private ContactsListRequest( Optional createdAfter, Optional createdBefore, Optional cursor, + Optional emailAddress, Optional expand, Optional includeDeletedData, Optional includeRemoteData, @@ -72,6 +77,7 @@ private ContactsListRequest( Optional isSupplier, Optional modifiedAfter, Optional modifiedBefore, + Optional name, Optional pageSize, Optional remoteFields, Optional remoteId, @@ -81,6 +87,7 @@ private ContactsListRequest( this.createdAfter = createdAfter; this.createdBefore = createdBefore; this.cursor = cursor; + this.emailAddress = emailAddress; this.expand = expand; this.includeDeletedData = includeDeletedData; this.includeRemoteData = includeRemoteData; @@ -90,6 +97,7 @@ private ContactsListRequest( this.isSupplier = isSupplier; this.modifiedAfter = modifiedAfter; this.modifiedBefore = modifiedBefore; + this.name = name; this.pageSize = pageSize; this.remoteFields = remoteFields; this.remoteId = remoteId; @@ -129,6 +137,14 @@ public Optional getCursor() { return cursor; } + /** + * @return If provided, will only return Contacts that match this email. + */ + @JsonProperty("email_address") + public Optional getEmailAddress() { + return emailAddress; + } + /** * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ @@ -201,6 +217,14 @@ public Optional getModifiedBefore() { return modifiedBefore; } + /** + * @return If provided, will only return Contacts that match this name. + */ + @JsonProperty("name") + public Optional getName() { + return name; + } + /** * @return Number of results to return per page. */ @@ -249,6 +273,7 @@ private boolean equalTo(ContactsListRequest other) { && createdAfter.equals(other.createdAfter) && createdBefore.equals(other.createdBefore) && cursor.equals(other.cursor) + && emailAddress.equals(other.emailAddress) && expand.equals(other.expand) && includeDeletedData.equals(other.includeDeletedData) && includeRemoteData.equals(other.includeRemoteData) @@ -258,6 +283,7 @@ private boolean equalTo(ContactsListRequest other) { && isSupplier.equals(other.isSupplier) && modifiedAfter.equals(other.modifiedAfter) && modifiedBefore.equals(other.modifiedBefore) + && name.equals(other.name) && pageSize.equals(other.pageSize) && remoteFields.equals(other.remoteFields) && remoteId.equals(other.remoteId) @@ -271,6 +297,7 @@ public int hashCode() { this.createdAfter, this.createdBefore, this.cursor, + this.emailAddress, this.expand, this.includeDeletedData, this.includeRemoteData, @@ -280,6 +307,7 @@ public int hashCode() { this.isSupplier, this.modifiedAfter, this.modifiedBefore, + this.name, this.pageSize, this.remoteFields, this.remoteId, @@ -305,6 +333,8 @@ public static final class Builder { private Optional cursor = Optional.empty(); + private Optional emailAddress = Optional.empty(); + private Optional expand = Optional.empty(); private Optional includeDeletedData = Optional.empty(); @@ -323,6 +353,8 @@ public static final class Builder { private Optional modifiedBefore = Optional.empty(); + private Optional name = Optional.empty(); + private Optional pageSize = Optional.empty(); private Optional remoteFields = Optional.empty(); @@ -341,6 +373,7 @@ public Builder from(ContactsListRequest other) { createdAfter(other.getCreatedAfter()); createdBefore(other.getCreatedBefore()); cursor(other.getCursor()); + emailAddress(other.getEmailAddress()); expand(other.getExpand()); includeDeletedData(other.getIncludeDeletedData()); includeRemoteData(other.getIncludeRemoteData()); @@ -350,6 +383,7 @@ public Builder from(ContactsListRequest other) { isSupplier(other.getIsSupplier()); modifiedAfter(other.getModifiedAfter()); modifiedBefore(other.getModifiedBefore()); + name(other.getName()); pageSize(other.getPageSize()); remoteFields(other.getRemoteFields()); remoteId(other.getRemoteId()); @@ -401,6 +435,17 @@ public Builder cursor(String cursor) { return this; } + @JsonSetter(value = "email_address", nulls = Nulls.SKIP) + public Builder emailAddress(Optional emailAddress) { + this.emailAddress = emailAddress; + return this; + } + + public Builder emailAddress(String emailAddress) { + this.emailAddress = Optional.of(emailAddress); + return this; + } + @JsonSetter(value = "expand", nulls = Nulls.SKIP) public Builder expand(Optional expand) { this.expand = expand; @@ -500,6 +545,17 @@ public Builder modifiedBefore(OffsetDateTime modifiedBefore) { return this; } + @JsonSetter(value = "name", nulls = Nulls.SKIP) + public Builder name(Optional name) { + this.name = name; + return this; + } + + public Builder name(String name) { + this.name = Optional.of(name); + return this; + } + @JsonSetter(value = "page_size", nulls = Nulls.SKIP) public Builder pageSize(Optional pageSize) { this.pageSize = pageSize; @@ -550,6 +606,7 @@ public ContactsListRequest build() { createdAfter, createdBefore, cursor, + emailAddress, expand, includeDeletedData, includeRemoteData, @@ -559,6 +616,7 @@ public ContactsListRequest build() { isSupplier, modifiedAfter, modifiedBefore, + name, pageSize, remoteFields, remoteId, diff --git a/src/main/java/com/merge/api/resources/accounting/creditnotes/CreditNotesClient.java b/src/main/java/com/merge/api/resources/accounting/creditnotes/CreditNotesClient.java index 1abfe4454..bcb25ae3f 100644 --- a/src/main/java/com/merge/api/resources/accounting/creditnotes/CreditNotesClient.java +++ b/src/main/java/com/merge/api/resources/accounting/creditnotes/CreditNotesClient.java @@ -5,18 +5,25 @@ import com.merge.api.core.ApiError; import com.merge.api.core.ClientOptions; +import com.merge.api.core.MediaTypes; import com.merge.api.core.MergeException; import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; +import com.merge.api.resources.accounting.creditnotes.requests.CreditNoteEndpointRequest; import com.merge.api.resources.accounting.creditnotes.requests.CreditNotesListRequest; import com.merge.api.resources.accounting.creditnotes.requests.CreditNotesRetrieveRequest; import com.merge.api.resources.accounting.types.CreditNote; +import com.merge.api.resources.accounting.types.CreditNoteResponse; +import com.merge.api.resources.accounting.types.MetaResponse; import com.merge.api.resources.accounting.types.PaginatedCreditNoteList; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; +import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.ResponseBody; @@ -135,6 +142,61 @@ public PaginatedCreditNoteList list(CreditNotesListRequest request, RequestOptio } } + /** + * Creates a CreditNote object with the given values. + */ + public CreditNoteResponse create(CreditNoteEndpointRequest request) { + return create(request, null); + } + + /** + * Creates a CreditNote object with the given values. + */ + public CreditNoteResponse create(CreditNoteEndpointRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/credit-notes"); + if (request.getIsDebugMode().isPresent()) { + httpUrl.addQueryParameter( + "is_debug_mode", request.getIsDebugMode().get().toString()); + } + if (request.getRunAsync().isPresent()) { + httpUrl.addQueryParameter("run_async", request.getRunAsync().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("model", request.getModel()); + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CreditNoteResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + /** * Returns a CreditNote object with the given id. */ @@ -196,4 +258,44 @@ public CreditNote retrieve(String id, CreditNotesRetrieveRequest request, Reques throw new MergeException("Network error executing HTTP request", e); } } + + /** + * Returns metadata for CreditNote POSTs. + */ + public MetaResponse metaPostRetrieve() { + return metaPostRetrieve(null); + } + + /** + * Returns metadata for CreditNote POSTs. + */ + public MetaResponse metaPostRetrieve(RequestOptions requestOptions) { + HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/credit-notes/meta/post") + .build(); + Request okhttpRequest = new Request.Builder() + .url(httpUrl) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), MetaResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } } diff --git a/src/main/java/com/merge/api/resources/accounting/creditnotes/requests/CreditNoteEndpointRequest.java b/src/main/java/com/merge/api/resources/accounting/creditnotes/requests/CreditNoteEndpointRequest.java new file mode 100644 index 000000000..efdbbb47e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/creditnotes/requests/CreditNoteEndpointRequest.java @@ -0,0 +1,178 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.creditnotes.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.accounting.types.CreditNoteRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = CreditNoteEndpointRequest.Builder.class) +public final class CreditNoteEndpointRequest { + private final Optional isDebugMode; + + private final Optional runAsync; + + private final CreditNoteRequest model; + + private final Map additionalProperties; + + private CreditNoteEndpointRequest( + Optional isDebugMode, + Optional runAsync, + CreditNoteRequest model, + Map additionalProperties) { + this.isDebugMode = isDebugMode; + this.runAsync = runAsync; + this.model = model; + this.additionalProperties = additionalProperties; + } + + /** + * @return Whether to include debug fields (such as log file links) in the response. + */ + @JsonProperty("is_debug_mode") + public Optional getIsDebugMode() { + return isDebugMode; + } + + /** + * @return Whether or not third-party updates should be run asynchronously. + */ + @JsonProperty("run_async") + public Optional getRunAsync() { + return runAsync; + } + + @JsonProperty("model") + public CreditNoteRequest getModel() { + return model; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteEndpointRequest && equalTo((CreditNoteEndpointRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditNoteEndpointRequest other) { + return isDebugMode.equals(other.isDebugMode) && runAsync.equals(other.runAsync) && model.equals(other.model); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.isDebugMode, this.runAsync, this.model); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(CreditNoteRequest model); + + Builder from(CreditNoteEndpointRequest other); + } + + public interface _FinalStage { + CreditNoteEndpointRequest build(); + + _FinalStage isDebugMode(Optional isDebugMode); + + _FinalStage isDebugMode(Boolean isDebugMode); + + _FinalStage runAsync(Optional runAsync); + + _FinalStage runAsync(Boolean runAsync); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private CreditNoteRequest model; + + private Optional runAsync = Optional.empty(); + + private Optional isDebugMode = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(CreditNoteEndpointRequest other) { + isDebugMode(other.getIsDebugMode()); + runAsync(other.getRunAsync()); + model(other.getModel()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(CreditNoteRequest model) { + this.model = model; + return this; + } + + /** + *

Whether or not third-party updates should be run asynchronously.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage runAsync(Boolean runAsync) { + this.runAsync = Optional.of(runAsync); + return this; + } + + @java.lang.Override + @JsonSetter(value = "run_async", nulls = Nulls.SKIP) + public _FinalStage runAsync(Optional runAsync) { + this.runAsync = runAsync; + return this; + } + + /** + *

Whether to include debug fields (such as log file links) in the response.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage isDebugMode(Boolean isDebugMode) { + this.isDebugMode = Optional.of(isDebugMode); + return this; + } + + @java.lang.Override + @JsonSetter(value = "is_debug_mode", nulls = Nulls.SKIP) + public _FinalStage isDebugMode(Optional isDebugMode) { + this.isDebugMode = isDebugMode; + return this; + } + + @java.lang.Override + public CreditNoteEndpointRequest build() { + return new CreditNoteEndpointRequest(isDebugMode, runAsync, model, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/employees/EmployeesClient.java b/src/main/java/com/merge/api/resources/accounting/employees/EmployeesClient.java new file mode 100644 index 000000000..ce59d873d --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/employees/EmployeesClient.java @@ -0,0 +1,151 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.employees; + +import com.merge.api.core.ApiError; +import com.merge.api.core.ClientOptions; +import com.merge.api.core.MergeException; +import com.merge.api.core.ObjectMappers; +import com.merge.api.core.RequestOptions; +import com.merge.api.resources.accounting.employees.requests.EmployeesListRequest; +import com.merge.api.resources.accounting.employees.requests.EmployeesRetrieveRequest; +import com.merge.api.resources.accounting.types.Employee; +import com.merge.api.resources.accounting.types.PaginatedEmployeeList; +import java.io.IOException; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class EmployeesClient { + protected final ClientOptions clientOptions; + + public EmployeesClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Returns a list of Employee objects. + */ + public PaginatedEmployeeList list() { + return list(EmployeesListRequest.builder().build()); + } + + /** + * Returns a list of Employee objects. + */ + public PaginatedEmployeeList list(EmployeesListRequest request) { + return list(request, null); + } + + /** + * Returns a list of Employee objects. + */ + public PaginatedEmployeeList list(EmployeesListRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/employees"); + if (request.getCursor().isPresent()) { + httpUrl.addQueryParameter("cursor", request.getCursor().get()); + } + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); + } + if (request.getIncludeDeletedData().isPresent()) { + httpUrl.addQueryParameter( + "include_deleted_data", + request.getIncludeDeletedData().get().toString()); + } + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + if (request.getIncludeShellData().isPresent()) { + httpUrl.addQueryParameter( + "include_shell_data", request.getIncludeShellData().get().toString()); + } + if (request.getPageSize().isPresent()) { + httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), PaginatedEmployeeList.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Returns an Employee object with the given id. + */ + public Employee retrieve(String id) { + return retrieve(id, EmployeesRetrieveRequest.builder().build()); + } + + /** + * Returns an Employee object with the given id. + */ + public Employee retrieve(String id, EmployeesRetrieveRequest request) { + return retrieve(id, request, null); + } + + /** + * Returns an Employee object with the given id. + */ + public Employee retrieve(String id, EmployeesRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/employees") + .addPathSegment(id); + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); + } + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), Employee.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsUsersListRequest.java b/src/main/java/com/merge/api/resources/accounting/employees/requests/EmployeesListRequest.java similarity index 87% rename from src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsUsersListRequest.java rename to src/main/java/com/merge/api/resources/accounting/employees/requests/EmployeesListRequest.java index 7edfefe8a..c24a7e928 100644 --- a/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsUsersListRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/employees/requests/EmployeesListRequest.java @@ -1,7 +1,7 @@ /** * This file was auto-generated by Fern from our API Definition. */ -package com.merge.api.resources.ticketing.collections.requests; +package com.merge.api.resources.accounting.employees.requests; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; @@ -12,18 +12,17 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; -import com.merge.api.resources.ticketing.collections.types.CollectionsUsersListRequestExpand; import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonDeserialize(builder = CollectionsUsersListRequest.Builder.class) -public final class CollectionsUsersListRequest { +@JsonDeserialize(builder = EmployeesListRequest.Builder.class) +public final class EmployeesListRequest { private final Optional cursor; - private final Optional expand; + private final Optional expand; private final Optional includeDeletedData; @@ -35,9 +34,9 @@ public final class CollectionsUsersListRequest { private final Map additionalProperties; - private CollectionsUsersListRequest( + private EmployeesListRequest( Optional cursor, - Optional expand, + Optional expand, Optional includeDeletedData, Optional includeRemoteData, Optional includeShellData, @@ -64,7 +63,7 @@ public Optional getCursor() { * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ @JsonProperty("expand") - public Optional getExpand() { + public Optional getExpand() { return expand; } @@ -103,7 +102,7 @@ public Optional getPageSize() { @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof CollectionsUsersListRequest && equalTo((CollectionsUsersListRequest) other); + return other instanceof EmployeesListRequest && equalTo((EmployeesListRequest) other); } @JsonAnyGetter @@ -111,7 +110,7 @@ public Map getAdditionalProperties() { return this.additionalProperties; } - private boolean equalTo(CollectionsUsersListRequest other) { + private boolean equalTo(EmployeesListRequest other) { return cursor.equals(other.cursor) && expand.equals(other.expand) && includeDeletedData.equals(other.includeDeletedData) @@ -144,7 +143,7 @@ public static Builder builder() { public static final class Builder { private Optional cursor = Optional.empty(); - private Optional expand = Optional.empty(); + private Optional expand = Optional.empty(); private Optional includeDeletedData = Optional.empty(); @@ -159,7 +158,7 @@ public static final class Builder { private Builder() {} - public Builder from(CollectionsUsersListRequest other) { + public Builder from(EmployeesListRequest other) { cursor(other.getCursor()); expand(other.getExpand()); includeDeletedData(other.getIncludeDeletedData()); @@ -181,12 +180,12 @@ public Builder cursor(String cursor) { } @JsonSetter(value = "expand", nulls = Nulls.SKIP) - public Builder expand(Optional expand) { + public Builder expand(Optional expand) { this.expand = expand; return this; } - public Builder expand(CollectionsUsersListRequestExpand expand) { + public Builder expand(String expand) { this.expand = Optional.of(expand); return this; } @@ -235,8 +234,8 @@ public Builder pageSize(Integer pageSize) { return this; } - public CollectionsUsersListRequest build() { - return new CollectionsUsersListRequest( + public EmployeesListRequest build() { + return new EmployeesListRequest( cursor, expand, includeDeletedData, diff --git a/src/main/java/com/merge/api/resources/accounting/employees/requests/EmployeesRetrieveRequest.java b/src/main/java/com/merge/api/resources/accounting/employees/requests/EmployeesRetrieveRequest.java new file mode 100644 index 000000000..bc3885313 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/employees/requests/EmployeesRetrieveRequest.java @@ -0,0 +1,124 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.employees.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = EmployeesRetrieveRequest.Builder.class) +public final class EmployeesRetrieveRequest { + private final Optional expand; + + private final Optional includeRemoteData; + + private final Map additionalProperties; + + private EmployeesRetrieveRequest( + Optional expand, Optional includeRemoteData, Map additionalProperties) { + this.expand = expand; + this.includeRemoteData = includeRemoteData; + this.additionalProperties = additionalProperties; + } + + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + + /** + * @return Whether to include the original data Merge fetched from the third-party to produce these models. + */ + @JsonProperty("include_remote_data") + public Optional getIncludeRemoteData() { + return includeRemoteData; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof EmployeesRetrieveRequest && equalTo((EmployeesRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(EmployeesRetrieveRequest other) { + return expand.equals(other.expand) && includeRemoteData.equals(other.includeRemoteData); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.expand, this.includeRemoteData); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional expand = Optional.empty(); + + private Optional includeRemoteData = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(EmployeesRetrieveRequest other) { + expand(other.getExpand()); + includeRemoteData(other.getIncludeRemoteData()); + return this; + } + + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(String expand) { + this.expand = Optional.of(expand); + return this; + } + + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) + public Builder includeRemoteData(Optional includeRemoteData) { + this.includeRemoteData = includeRemoteData; + return this; + } + + public Builder includeRemoteData(Boolean includeRemoteData) { + this.includeRemoteData = Optional.of(includeRemoteData); + return this; + } + + public EmployeesRetrieveRequest build() { + return new EmployeesRetrieveRequest(expand, includeRemoteData, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesListRequestExpand.java b/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesListRequestExpand.java index 4d19e1247..6ad80e938 100644 --- a/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesListRequestExpand.java +++ b/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesListRequestExpand.java @@ -14,6 +14,10 @@ public enum ExpensesListRequestExpand { ACCOUNT_COMPANY_ACCOUNTING_PERIOD("account,company,accounting_period"), + ACCOUNT_COMPANY_EMPLOYEE("account,company,employee"), + + ACCOUNT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("account,company,employee,accounting_period"), + ACCOUNT_CONTACT("account,contact"), ACCOUNT_CONTACT_ACCOUNTING_PERIOD("account,contact,accounting_period"), @@ -22,12 +26,28 @@ public enum ExpensesListRequestExpand { ACCOUNT_CONTACT_COMPANY_ACCOUNTING_PERIOD("account,contact,company,accounting_period"), + ACCOUNT_CONTACT_COMPANY_EMPLOYEE("account,contact,company,employee"), + + ACCOUNT_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("account,contact,company,employee,accounting_period"), + + ACCOUNT_CONTACT_EMPLOYEE("account,contact,employee"), + + ACCOUNT_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("account,contact,employee,accounting_period"), + + ACCOUNT_EMPLOYEE("account,employee"), + + ACCOUNT_EMPLOYEE_ACCOUNTING_PERIOD("account,employee,accounting_period"), + ACCOUNTING_PERIOD("accounting_period"), COMPANY("company"), COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + COMPANY_EMPLOYEE("company,employee"), + + COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("company,employee,accounting_period"), + CONTACT("contact"), CONTACT_ACCOUNTING_PERIOD("contact,accounting_period"), @@ -36,6 +56,18 @@ public enum ExpensesListRequestExpand { CONTACT_COMPANY_ACCOUNTING_PERIOD("contact,company,accounting_period"), + CONTACT_COMPANY_EMPLOYEE("contact,company,employee"), + + CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("contact,company,employee,accounting_period"), + + CONTACT_EMPLOYEE("contact,employee"), + + CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("contact,employee,accounting_period"), + + EMPLOYEE("employee"), + + EMPLOYEE_ACCOUNTING_PERIOD("employee,accounting_period"), + TRACKING_CATEGORIES("tracking_categories"), TRACKING_CATEGORIES_ACCOUNT("tracking_categories,account"), @@ -46,6 +78,11 @@ public enum ExpensesListRequestExpand { TRACKING_CATEGORIES_ACCOUNT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,account,company,accounting_period"), + TRACKING_CATEGORIES_ACCOUNT_COMPANY_EMPLOYEE("tracking_categories,account,company,employee"), + + TRACKING_CATEGORIES_ACCOUNT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,account,company,employee,accounting_period"), + TRACKING_CATEGORIES_ACCOUNT_CONTACT("tracking_categories,account,contact"), TRACKING_CATEGORIES_ACCOUNT_CONTACT_ACCOUNTING_PERIOD("tracking_categories,account,contact,accounting_period"), @@ -55,19 +92,50 @@ public enum ExpensesListRequestExpand { TRACKING_CATEGORIES_ACCOUNT_CONTACT_COMPANY_ACCOUNTING_PERIOD( "tracking_categories,account,contact,company,accounting_period"), + TRACKING_CATEGORIES_ACCOUNT_CONTACT_COMPANY_EMPLOYEE("tracking_categories,account,contact,company,employee"), + + TRACKING_CATEGORIES_ACCOUNT_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,account,contact,company,employee,accounting_period"), + + TRACKING_CATEGORIES_ACCOUNT_CONTACT_EMPLOYEE("tracking_categories,account,contact,employee"), + + TRACKING_CATEGORIES_ACCOUNT_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,account,contact,employee,accounting_period"), + + TRACKING_CATEGORIES_ACCOUNT_EMPLOYEE("tracking_categories,account,employee"), + + TRACKING_CATEGORIES_ACCOUNT_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,account,employee,accounting_period"), + TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_COMPANY_EMPLOYEE("tracking_categories,company,employee"), + + TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,company,employee,accounting_period"), + TRACKING_CATEGORIES_CONTACT("tracking_categories,contact"), TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("tracking_categories,contact,accounting_period"), TRACKING_CATEGORIES_CONTACT_COMPANY("tracking_categories,contact,company"), - TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"); + TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"), + + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("tracking_categories,contact,company,employee"), + + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,contact,company,employee,accounting_period"), + + TRACKING_CATEGORIES_CONTACT_EMPLOYEE("tracking_categories,contact,employee"), + + TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,contact,employee,accounting_period"), + + TRACKING_CATEGORIES_EMPLOYEE("tracking_categories,employee"), + + TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,employee,accounting_period"); private final String value; diff --git a/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesRetrieveRequestExpand.java b/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesRetrieveRequestExpand.java index 6c33b872d..2549a8711 100644 --- a/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesRetrieveRequestExpand.java +++ b/src/main/java/com/merge/api/resources/accounting/expenses/types/ExpensesRetrieveRequestExpand.java @@ -14,6 +14,10 @@ public enum ExpensesRetrieveRequestExpand { ACCOUNT_COMPANY_ACCOUNTING_PERIOD("account,company,accounting_period"), + ACCOUNT_COMPANY_EMPLOYEE("account,company,employee"), + + ACCOUNT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("account,company,employee,accounting_period"), + ACCOUNT_CONTACT("account,contact"), ACCOUNT_CONTACT_ACCOUNTING_PERIOD("account,contact,accounting_period"), @@ -22,12 +26,28 @@ public enum ExpensesRetrieveRequestExpand { ACCOUNT_CONTACT_COMPANY_ACCOUNTING_PERIOD("account,contact,company,accounting_period"), + ACCOUNT_CONTACT_COMPANY_EMPLOYEE("account,contact,company,employee"), + + ACCOUNT_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("account,contact,company,employee,accounting_period"), + + ACCOUNT_CONTACT_EMPLOYEE("account,contact,employee"), + + ACCOUNT_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("account,contact,employee,accounting_period"), + + ACCOUNT_EMPLOYEE("account,employee"), + + ACCOUNT_EMPLOYEE_ACCOUNTING_PERIOD("account,employee,accounting_period"), + ACCOUNTING_PERIOD("accounting_period"), COMPANY("company"), COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + COMPANY_EMPLOYEE("company,employee"), + + COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("company,employee,accounting_period"), + CONTACT("contact"), CONTACT_ACCOUNTING_PERIOD("contact,accounting_period"), @@ -36,6 +56,18 @@ public enum ExpensesRetrieveRequestExpand { CONTACT_COMPANY_ACCOUNTING_PERIOD("contact,company,accounting_period"), + CONTACT_COMPANY_EMPLOYEE("contact,company,employee"), + + CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("contact,company,employee,accounting_period"), + + CONTACT_EMPLOYEE("contact,employee"), + + CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("contact,employee,accounting_period"), + + EMPLOYEE("employee"), + + EMPLOYEE_ACCOUNTING_PERIOD("employee,accounting_period"), + TRACKING_CATEGORIES("tracking_categories"), TRACKING_CATEGORIES_ACCOUNT("tracking_categories,account"), @@ -46,6 +78,11 @@ public enum ExpensesRetrieveRequestExpand { TRACKING_CATEGORIES_ACCOUNT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,account,company,accounting_period"), + TRACKING_CATEGORIES_ACCOUNT_COMPANY_EMPLOYEE("tracking_categories,account,company,employee"), + + TRACKING_CATEGORIES_ACCOUNT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,account,company,employee,accounting_period"), + TRACKING_CATEGORIES_ACCOUNT_CONTACT("tracking_categories,account,contact"), TRACKING_CATEGORIES_ACCOUNT_CONTACT_ACCOUNTING_PERIOD("tracking_categories,account,contact,accounting_period"), @@ -55,19 +92,50 @@ public enum ExpensesRetrieveRequestExpand { TRACKING_CATEGORIES_ACCOUNT_CONTACT_COMPANY_ACCOUNTING_PERIOD( "tracking_categories,account,contact,company,accounting_period"), + TRACKING_CATEGORIES_ACCOUNT_CONTACT_COMPANY_EMPLOYEE("tracking_categories,account,contact,company,employee"), + + TRACKING_CATEGORIES_ACCOUNT_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,account,contact,company,employee,accounting_period"), + + TRACKING_CATEGORIES_ACCOUNT_CONTACT_EMPLOYEE("tracking_categories,account,contact,employee"), + + TRACKING_CATEGORIES_ACCOUNT_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,account,contact,employee,accounting_period"), + + TRACKING_CATEGORIES_ACCOUNT_EMPLOYEE("tracking_categories,account,employee"), + + TRACKING_CATEGORIES_ACCOUNT_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,account,employee,accounting_period"), + TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_COMPANY_EMPLOYEE("tracking_categories,company,employee"), + + TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,company,employee,accounting_period"), + TRACKING_CATEGORIES_CONTACT("tracking_categories,contact"), TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("tracking_categories,contact,accounting_period"), TRACKING_CATEGORIES_CONTACT_COMPANY("tracking_categories,contact,company"), - TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"); + TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"), + + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("tracking_categories,contact,company,employee"), + + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,contact,company,employee,accounting_period"), + + TRACKING_CATEGORIES_CONTACT_EMPLOYEE("tracking_categories,contact,employee"), + + TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,contact,employee,accounting_period"), + + TRACKING_CATEGORIES_EMPLOYEE("tracking_categories,employee"), + + TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,employee,accounting_period"); private final String value; diff --git a/src/main/java/com/merge/api/resources/accounting/fieldmapping/FieldMappingClient.java b/src/main/java/com/merge/api/resources/accounting/fieldmapping/FieldMappingClient.java index c5c0707a9..7d2db4516 100644 --- a/src/main/java/com/merge/api/resources/accounting/fieldmapping/FieldMappingClient.java +++ b/src/main/java/com/merge/api/resources/accounting/fieldmapping/FieldMappingClient.java @@ -11,6 +11,7 @@ import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; import com.merge.api.resources.accounting.fieldmapping.requests.CreateFieldMappingRequest; +import com.merge.api.resources.accounting.fieldmapping.requests.FieldMappingsRetrieveRequest; import com.merge.api.resources.accounting.fieldmapping.requests.PatchedEditFieldMappingRequest; import com.merge.api.resources.accounting.fieldmapping.requests.RemoteFieldsRetrieveRequest; import com.merge.api.resources.accounting.types.ExternalTargetFieldApiResponse; @@ -18,6 +19,8 @@ import com.merge.api.resources.accounting.types.FieldMappingInstanceResponse; import com.merge.api.resources.accounting.types.RemoteFieldApiResponse; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -37,23 +40,35 @@ public FieldMappingClient(ClientOptions clientOptions) { * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ public FieldMappingApiInstanceResponse fieldMappingsRetrieve() { - return fieldMappingsRetrieve(null); + return fieldMappingsRetrieve(FieldMappingsRetrieveRequest.builder().build()); } /** * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ - public FieldMappingApiInstanceResponse fieldMappingsRetrieve(RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + public FieldMappingApiInstanceResponse fieldMappingsRetrieve(FieldMappingsRetrieveRequest request) { + return fieldMappingsRetrieve(request, null); + } + + /** + * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. + */ + public FieldMappingApiInstanceResponse fieldMappingsRetrieve( + FieldMappingsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("accounting/v1/field-mappings") - .build(); - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + .addPathSegments("accounting/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("GET", null) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -86,23 +101,34 @@ public FieldMappingInstanceResponse fieldMappingsCreate(CreateFieldMappingReques */ public FieldMappingInstanceResponse fieldMappingsCreate( CreateFieldMappingRequest request, RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("accounting/v1/field-mappings") - .build(); + .addPathSegments("accounting/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("target_field_name", request.getTargetFieldName()); + properties.put("target_field_description", request.getTargetFieldDescription()); + properties.put("remote_field_traversal_path", request.getRemoteFieldTraversalPath()); + properties.put("remote_method", request.getRemoteMethod()); + properties.put("remote_url_path", request.getRemoteUrlPath()); + properties.put("common_model_name", request.getCommonModelName()); RequestBody body; try { body = RequestBody.create( - ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); - } catch (JsonProcessingException e) { - throw new MergeException("Failed to serialize request", e); + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); } - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("POST", body) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); diff --git a/src/main/java/com/merge/api/resources/accounting/fieldmapping/requests/CreateFieldMappingRequest.java b/src/main/java/com/merge/api/resources/accounting/fieldmapping/requests/CreateFieldMappingRequest.java index 339ba5926..26450a09e 100644 --- a/src/main/java/com/merge/api/resources/accounting/fieldmapping/requests/CreateFieldMappingRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/fieldmapping/requests/CreateFieldMappingRequest.java @@ -18,10 +18,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = CreateFieldMappingRequest.Builder.class) public final class CreateFieldMappingRequest { + private final Optional excludeRemoteFieldMetadata; + private final String targetFieldName; private final String targetFieldDescription; @@ -37,6 +40,7 @@ public final class CreateFieldMappingRequest { private final Map additionalProperties; private CreateFieldMappingRequest( + Optional excludeRemoteFieldMetadata, String targetFieldName, String targetFieldDescription, List remoteFieldTraversalPath, @@ -44,6 +48,7 @@ private CreateFieldMappingRequest( String remoteUrlPath, String commonModelName, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; this.targetFieldName = targetFieldName; this.targetFieldDescription = targetFieldDescription; this.remoteFieldTraversalPath = remoteFieldTraversalPath; @@ -53,6 +58,14 @@ private CreateFieldMappingRequest( this.additionalProperties = additionalProperties; } + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + /** * @return The name of the target field you want this remote field to map to. */ @@ -113,7 +126,8 @@ public Map getAdditionalProperties() { } private boolean equalTo(CreateFieldMappingRequest other) { - return targetFieldName.equals(other.targetFieldName) + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata) + && targetFieldName.equals(other.targetFieldName) && targetFieldDescription.equals(other.targetFieldDescription) && remoteFieldTraversalPath.equals(other.remoteFieldTraversalPath) && remoteMethod.equals(other.remoteMethod) @@ -124,6 +138,7 @@ private boolean equalTo(CreateFieldMappingRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( + this.excludeRemoteFieldMetadata, this.targetFieldName, this.targetFieldDescription, this.remoteFieldTraversalPath, @@ -166,6 +181,10 @@ public interface CommonModelNameStage { public interface _FinalStage { CreateFieldMappingRequest build(); + _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata); + + _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata); + _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalPath); _FinalStage addRemoteFieldTraversalPath(JsonNode remoteFieldTraversalPath); @@ -193,6 +212,8 @@ public static final class Builder private List remoteFieldTraversalPath = new ArrayList<>(); + private Optional excludeRemoteFieldMetadata = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -200,6 +221,7 @@ private Builder() {} @java.lang.Override public Builder from(CreateFieldMappingRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); targetFieldName(other.getTargetFieldName()); targetFieldDescription(other.getTargetFieldDescription()); remoteFieldTraversalPath(other.getRemoteFieldTraversalPath()); @@ -292,9 +314,27 @@ public _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalP return this; } + /** + *

If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + @java.lang.Override + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + @java.lang.Override public CreateFieldMappingRequest build() { return new CreateFieldMappingRequest( + excludeRemoteFieldMetadata, targetFieldName, targetFieldDescription, remoteFieldTraversalPath, diff --git a/src/main/java/com/merge/api/resources/accounting/fieldmapping/requests/FieldMappingsRetrieveRequest.java b/src/main/java/com/merge/api/resources/accounting/fieldmapping/requests/FieldMappingsRetrieveRequest.java new file mode 100644 index 000000000..ed5590727 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/fieldmapping/requests/FieldMappingsRetrieveRequest.java @@ -0,0 +1,99 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.fieldmapping.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = FieldMappingsRetrieveRequest.Builder.class) +public final class FieldMappingsRetrieveRequest { + private final Optional excludeRemoteFieldMetadata; + + private final Map additionalProperties; + + private FieldMappingsRetrieveRequest( + Optional excludeRemoteFieldMetadata, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + this.additionalProperties = additionalProperties; + } + + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof FieldMappingsRetrieveRequest && equalTo((FieldMappingsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(FieldMappingsRetrieveRequest other) { + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional excludeRemoteFieldMetadata = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(FieldMappingsRetrieveRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); + return this; + } + + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public Builder excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + + public Builder excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + public FieldMappingsRetrieveRequest build() { + return new FieldMappingsRetrieveRequest(excludeRemoteFieldMetadata, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/GeneralLedgerTransactionsClient.java b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/GeneralLedgerTransactionsClient.java new file mode 100644 index 000000000..86acddf7d --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/GeneralLedgerTransactionsClient.java @@ -0,0 +1,184 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.generalledgertransactions; + +import com.merge.api.core.ApiError; +import com.merge.api.core.ClientOptions; +import com.merge.api.core.MergeException; +import com.merge.api.core.ObjectMappers; +import com.merge.api.core.RequestOptions; +import com.merge.api.resources.accounting.generalledgertransactions.requests.GeneralLedgerTransactionsListRequest; +import com.merge.api.resources.accounting.generalledgertransactions.requests.GeneralLedgerTransactionsRetrieveRequest; +import com.merge.api.resources.accounting.types.GeneralLedgerTransaction; +import com.merge.api.resources.accounting.types.PaginatedGeneralLedgerTransactionList; +import java.io.IOException; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class GeneralLedgerTransactionsClient { + protected final ClientOptions clientOptions; + + public GeneralLedgerTransactionsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Returns a list of GeneralLedgerTransaction objects. + */ + public PaginatedGeneralLedgerTransactionList list() { + return list(GeneralLedgerTransactionsListRequest.builder().build()); + } + + /** + * Returns a list of GeneralLedgerTransaction objects. + */ + public PaginatedGeneralLedgerTransactionList list(GeneralLedgerTransactionsListRequest request) { + return list(request, null); + } + + /** + * Returns a list of GeneralLedgerTransaction objects. + */ + public PaginatedGeneralLedgerTransactionList list( + GeneralLedgerTransactionsListRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/general-ledger-transactions"); + if (request.getCompanyId().isPresent()) { + httpUrl.addQueryParameter("company_id", request.getCompanyId().get()); + } + if (request.getCreatedAfter().isPresent()) { + httpUrl.addQueryParameter( + "created_after", request.getCreatedAfter().get().toString()); + } + if (request.getCreatedBefore().isPresent()) { + httpUrl.addQueryParameter( + "created_before", request.getCreatedBefore().get().toString()); + } + if (request.getCursor().isPresent()) { + httpUrl.addQueryParameter("cursor", request.getCursor().get()); + } + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get().toString()); + } + if (request.getIncludeDeletedData().isPresent()) { + httpUrl.addQueryParameter( + "include_deleted_data", + request.getIncludeDeletedData().get().toString()); + } + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + if (request.getIncludeShellData().isPresent()) { + httpUrl.addQueryParameter( + "include_shell_data", request.getIncludeShellData().get().toString()); + } + if (request.getModifiedAfter().isPresent()) { + httpUrl.addQueryParameter( + "modified_after", request.getModifiedAfter().get().toString()); + } + if (request.getModifiedBefore().isPresent()) { + httpUrl.addQueryParameter( + "modified_before", request.getModifiedBefore().get().toString()); + } + if (request.getPageSize().isPresent()) { + httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); + } + if (request.getPostedDateAfter().isPresent()) { + httpUrl.addQueryParameter( + "posted_date_after", request.getPostedDateAfter().get().toString()); + } + if (request.getPostedDateBefore().isPresent()) { + httpUrl.addQueryParameter( + "posted_date_before", request.getPostedDateBefore().get().toString()); + } + if (request.getRemoteId().isPresent()) { + httpUrl.addQueryParameter("remote_id", request.getRemoteId().get()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue( + responseBody.string(), PaginatedGeneralLedgerTransactionList.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + + /** + * Returns a GeneralLedgerTransaction object with the given id. + */ + public GeneralLedgerTransaction retrieve(String id) { + return retrieve(id, GeneralLedgerTransactionsRetrieveRequest.builder().build()); + } + + /** + * Returns a GeneralLedgerTransaction object with the given id. + */ + public GeneralLedgerTransaction retrieve(String id, GeneralLedgerTransactionsRetrieveRequest request) { + return retrieve(id, request, null); + } + + /** + * Returns a GeneralLedgerTransaction object with the given id. + */ + public GeneralLedgerTransaction retrieve( + String id, GeneralLedgerTransactionsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/general-ledger-transactions") + .addPathSegment(id); + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get().toString()); + } + if (request.getIncludeRemoteData().isPresent()) { + httpUrl.addQueryParameter( + "include_remote_data", request.getIncludeRemoteData().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GeneralLedgerTransaction.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/requests/GeneralLedgerTransactionsListRequest.java b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/requests/GeneralLedgerTransactionsListRequest.java new file mode 100644 index 000000000..171843702 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/requests/GeneralLedgerTransactionsListRequest.java @@ -0,0 +1,483 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.generalledgertransactions.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.accounting.generalledgertransactions.types.GeneralLedgerTransactionsListRequestExpand; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = GeneralLedgerTransactionsListRequest.Builder.class) +public final class GeneralLedgerTransactionsListRequest { + private final Optional companyId; + + private final Optional createdAfter; + + private final Optional createdBefore; + + private final Optional cursor; + + private final Optional expand; + + private final Optional includeDeletedData; + + private final Optional includeRemoteData; + + private final Optional includeShellData; + + private final Optional modifiedAfter; + + private final Optional modifiedBefore; + + private final Optional pageSize; + + private final Optional postedDateAfter; + + private final Optional postedDateBefore; + + private final Optional remoteId; + + private final Map additionalProperties; + + private GeneralLedgerTransactionsListRequest( + Optional companyId, + Optional createdAfter, + Optional createdBefore, + Optional cursor, + Optional expand, + Optional includeDeletedData, + Optional includeRemoteData, + Optional includeShellData, + Optional modifiedAfter, + Optional modifiedBefore, + Optional pageSize, + Optional postedDateAfter, + Optional postedDateBefore, + Optional remoteId, + Map additionalProperties) { + this.companyId = companyId; + this.createdAfter = createdAfter; + this.createdBefore = createdBefore; + this.cursor = cursor; + this.expand = expand; + this.includeDeletedData = includeDeletedData; + this.includeRemoteData = includeRemoteData; + this.includeShellData = includeShellData; + this.modifiedAfter = modifiedAfter; + this.modifiedBefore = modifiedBefore; + this.pageSize = pageSize; + this.postedDateAfter = postedDateAfter; + this.postedDateBefore = postedDateBefore; + this.remoteId = remoteId; + this.additionalProperties = additionalProperties; + } + + /** + * @return If provided, will only return general ledger transactions for this company. + */ + @JsonProperty("company_id") + public Optional getCompanyId() { + return companyId; + } + + /** + * @return If provided, will only return objects created after this datetime. + */ + @JsonProperty("created_after") + public Optional getCreatedAfter() { + return createdAfter; + } + + /** + * @return If provided, will only return objects created before this datetime. + */ + @JsonProperty("created_before") + public Optional getCreatedBefore() { + return createdBefore; + } + + /** + * @return The pagination cursor value. + */ + @JsonProperty("cursor") + public Optional getCursor() { + return cursor; + } + + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("include_deleted_data") + public Optional getIncludeDeletedData() { + return includeDeletedData; + } + + /** + * @return Whether to include the original data Merge fetched from the third-party to produce these models. + */ + @JsonProperty("include_remote_data") + public Optional getIncludeRemoteData() { + return includeRemoteData; + } + + /** + * @return Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null). + */ + @JsonProperty("include_shell_data") + public Optional getIncludeShellData() { + return includeShellData; + } + + /** + * @return If provided, only objects synced by Merge after this date time will be returned. + */ + @JsonProperty("modified_after") + public Optional getModifiedAfter() { + return modifiedAfter; + } + + /** + * @return If provided, only objects synced by Merge before this date time will be returned. + */ + @JsonProperty("modified_before") + public Optional getModifiedBefore() { + return modifiedBefore; + } + + /** + * @return Number of results to return per page. + */ + @JsonProperty("page_size") + public Optional getPageSize() { + return pageSize; + } + + /** + * @return If provided, will only return objects posted after this datetime. + */ + @JsonProperty("posted_date_after") + public Optional getPostedDateAfter() { + return postedDateAfter; + } + + /** + * @return If provided, will only return objects posted before this datetime. + */ + @JsonProperty("posted_date_before") + public Optional getPostedDateBefore() { + return postedDateBefore; + } + + /** + * @return The API provider's ID for the given object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionsListRequest + && equalTo((GeneralLedgerTransactionsListRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GeneralLedgerTransactionsListRequest other) { + return companyId.equals(other.companyId) + && createdAfter.equals(other.createdAfter) + && createdBefore.equals(other.createdBefore) + && cursor.equals(other.cursor) + && expand.equals(other.expand) + && includeDeletedData.equals(other.includeDeletedData) + && includeRemoteData.equals(other.includeRemoteData) + && includeShellData.equals(other.includeShellData) + && modifiedAfter.equals(other.modifiedAfter) + && modifiedBefore.equals(other.modifiedBefore) + && pageSize.equals(other.pageSize) + && postedDateAfter.equals(other.postedDateAfter) + && postedDateBefore.equals(other.postedDateBefore) + && remoteId.equals(other.remoteId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.companyId, + this.createdAfter, + this.createdBefore, + this.cursor, + this.expand, + this.includeDeletedData, + this.includeRemoteData, + this.includeShellData, + this.modifiedAfter, + this.modifiedBefore, + this.pageSize, + this.postedDateAfter, + this.postedDateBefore, + this.remoteId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional companyId = Optional.empty(); + + private Optional createdAfter = Optional.empty(); + + private Optional createdBefore = Optional.empty(); + + private Optional cursor = Optional.empty(); + + private Optional expand = Optional.empty(); + + private Optional includeDeletedData = Optional.empty(); + + private Optional includeRemoteData = Optional.empty(); + + private Optional includeShellData = Optional.empty(); + + private Optional modifiedAfter = Optional.empty(); + + private Optional modifiedBefore = Optional.empty(); + + private Optional pageSize = Optional.empty(); + + private Optional postedDateAfter = Optional.empty(); + + private Optional postedDateBefore = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GeneralLedgerTransactionsListRequest other) { + companyId(other.getCompanyId()); + createdAfter(other.getCreatedAfter()); + createdBefore(other.getCreatedBefore()); + cursor(other.getCursor()); + expand(other.getExpand()); + includeDeletedData(other.getIncludeDeletedData()); + includeRemoteData(other.getIncludeRemoteData()); + includeShellData(other.getIncludeShellData()); + modifiedAfter(other.getModifiedAfter()); + modifiedBefore(other.getModifiedBefore()); + pageSize(other.getPageSize()); + postedDateAfter(other.getPostedDateAfter()); + postedDateBefore(other.getPostedDateBefore()); + remoteId(other.getRemoteId()); + return this; + } + + @JsonSetter(value = "company_id", nulls = Nulls.SKIP) + public Builder companyId(Optional companyId) { + this.companyId = companyId; + return this; + } + + public Builder companyId(String companyId) { + this.companyId = Optional.of(companyId); + return this; + } + + @JsonSetter(value = "created_after", nulls = Nulls.SKIP) + public Builder createdAfter(Optional createdAfter) { + this.createdAfter = createdAfter; + return this; + } + + public Builder createdAfter(OffsetDateTime createdAfter) { + this.createdAfter = Optional.of(createdAfter); + return this; + } + + @JsonSetter(value = "created_before", nulls = Nulls.SKIP) + public Builder createdBefore(Optional createdBefore) { + this.createdBefore = createdBefore; + return this; + } + + public Builder createdBefore(OffsetDateTime createdBefore) { + this.createdBefore = Optional.of(createdBefore); + return this; + } + + @JsonSetter(value = "cursor", nulls = Nulls.SKIP) + public Builder cursor(Optional cursor) { + this.cursor = cursor; + return this; + } + + public Builder cursor(String cursor) { + this.cursor = Optional.of(cursor); + return this; + } + + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(GeneralLedgerTransactionsListRequestExpand expand) { + this.expand = Optional.of(expand); + return this; + } + + @JsonSetter(value = "include_deleted_data", nulls = Nulls.SKIP) + public Builder includeDeletedData(Optional includeDeletedData) { + this.includeDeletedData = includeDeletedData; + return this; + } + + public Builder includeDeletedData(Boolean includeDeletedData) { + this.includeDeletedData = Optional.of(includeDeletedData); + return this; + } + + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) + public Builder includeRemoteData(Optional includeRemoteData) { + this.includeRemoteData = includeRemoteData; + return this; + } + + public Builder includeRemoteData(Boolean includeRemoteData) { + this.includeRemoteData = Optional.of(includeRemoteData); + return this; + } + + @JsonSetter(value = "include_shell_data", nulls = Nulls.SKIP) + public Builder includeShellData(Optional includeShellData) { + this.includeShellData = includeShellData; + return this; + } + + public Builder includeShellData(Boolean includeShellData) { + this.includeShellData = Optional.of(includeShellData); + return this; + } + + @JsonSetter(value = "modified_after", nulls = Nulls.SKIP) + public Builder modifiedAfter(Optional modifiedAfter) { + this.modifiedAfter = modifiedAfter; + return this; + } + + public Builder modifiedAfter(OffsetDateTime modifiedAfter) { + this.modifiedAfter = Optional.of(modifiedAfter); + return this; + } + + @JsonSetter(value = "modified_before", nulls = Nulls.SKIP) + public Builder modifiedBefore(Optional modifiedBefore) { + this.modifiedBefore = modifiedBefore; + return this; + } + + public Builder modifiedBefore(OffsetDateTime modifiedBefore) { + this.modifiedBefore = Optional.of(modifiedBefore); + return this; + } + + @JsonSetter(value = "page_size", nulls = Nulls.SKIP) + public Builder pageSize(Optional pageSize) { + this.pageSize = pageSize; + return this; + } + + public Builder pageSize(Integer pageSize) { + this.pageSize = Optional.of(pageSize); + return this; + } + + @JsonSetter(value = "posted_date_after", nulls = Nulls.SKIP) + public Builder postedDateAfter(Optional postedDateAfter) { + this.postedDateAfter = postedDateAfter; + return this; + } + + public Builder postedDateAfter(OffsetDateTime postedDateAfter) { + this.postedDateAfter = Optional.of(postedDateAfter); + return this; + } + + @JsonSetter(value = "posted_date_before", nulls = Nulls.SKIP) + public Builder postedDateBefore(Optional postedDateBefore) { + this.postedDateBefore = postedDateBefore; + return this; + } + + public Builder postedDateBefore(OffsetDateTime postedDateBefore) { + this.postedDateBefore = Optional.of(postedDateBefore); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + public GeneralLedgerTransactionsListRequest build() { + return new GeneralLedgerTransactionsListRequest( + companyId, + createdAfter, + createdBefore, + cursor, + expand, + includeDeletedData, + includeRemoteData, + includeShellData, + modifiedAfter, + modifiedBefore, + pageSize, + postedDateAfter, + postedDateBefore, + remoteId, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/requests/GeneralLedgerTransactionsRetrieveRequest.java b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/requests/GeneralLedgerTransactionsRetrieveRequest.java new file mode 100644 index 000000000..17cdd39c4 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/requests/GeneralLedgerTransactionsRetrieveRequest.java @@ -0,0 +1,128 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.generalledgertransactions.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.accounting.generalledgertransactions.types.GeneralLedgerTransactionsRetrieveRequestExpand; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = GeneralLedgerTransactionsRetrieveRequest.Builder.class) +public final class GeneralLedgerTransactionsRetrieveRequest { + private final Optional expand; + + private final Optional includeRemoteData; + + private final Map additionalProperties; + + private GeneralLedgerTransactionsRetrieveRequest( + Optional expand, + Optional includeRemoteData, + Map additionalProperties) { + this.expand = expand; + this.includeRemoteData = includeRemoteData; + this.additionalProperties = additionalProperties; + } + + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + + /** + * @return Whether to include the original data Merge fetched from the third-party to produce these models. + */ + @JsonProperty("include_remote_data") + public Optional getIncludeRemoteData() { + return includeRemoteData; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionsRetrieveRequest + && equalTo((GeneralLedgerTransactionsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GeneralLedgerTransactionsRetrieveRequest other) { + return expand.equals(other.expand) && includeRemoteData.equals(other.includeRemoteData); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.expand, this.includeRemoteData); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional expand = Optional.empty(); + + private Optional includeRemoteData = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GeneralLedgerTransactionsRetrieveRequest other) { + expand(other.getExpand()); + includeRemoteData(other.getIncludeRemoteData()); + return this; + } + + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(GeneralLedgerTransactionsRetrieveRequestExpand expand) { + this.expand = Optional.of(expand); + return this; + } + + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) + public Builder includeRemoteData(Optional includeRemoteData) { + this.includeRemoteData = includeRemoteData; + return this; + } + + public Builder includeRemoteData(Boolean includeRemoteData) { + this.includeRemoteData = Optional.of(includeRemoteData); + return this; + } + + public GeneralLedgerTransactionsRetrieveRequest build() { + return new GeneralLedgerTransactionsRetrieveRequest(expand, includeRemoteData, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/types/GeneralLedgerTransactionsListRequestExpand.java b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/types/GeneralLedgerTransactionsListRequestExpand.java new file mode 100644 index 000000000..593ca6407 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/types/GeneralLedgerTransactionsListRequestExpand.java @@ -0,0 +1,54 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.generalledgertransactions.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum GeneralLedgerTransactionsListRequestExpand { + ACCOUNTING_PERIOD("accounting_period"), + + COMPANY("company"), + + COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + + GENERAL_LEDGER_TRANSACTION_LINES("general_ledger_transaction_lines"), + + GENERAL_LEDGER_TRANSACTION_LINES_ACCOUNTING_PERIOD("general_ledger_transaction_lines,accounting_period"), + + GENERAL_LEDGER_TRANSACTION_LINES_COMPANY("general_ledger_transaction_lines,company"), + + GENERAL_LEDGER_TRANSACTION_LINES_COMPANY_ACCOUNTING_PERIOD( + "general_ledger_transaction_lines,company,accounting_period"), + + TRACKING_CATEGORIES("tracking_categories"), + + TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), + + TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), + + TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES("tracking_categories,general_ledger_transaction_lines"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES_ACCOUNTING_PERIOD( + "tracking_categories,general_ledger_transaction_lines,accounting_period"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES_COMPANY( + "tracking_categories,general_ledger_transaction_lines,company"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,general_ledger_transaction_lines,company,accounting_period"); + + private final String value; + + GeneralLedgerTransactionsListRequestExpand(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/types/GeneralLedgerTransactionsRetrieveRequestExpand.java b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/types/GeneralLedgerTransactionsRetrieveRequestExpand.java new file mode 100644 index 000000000..098e4392d --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/generalledgertransactions/types/GeneralLedgerTransactionsRetrieveRequestExpand.java @@ -0,0 +1,54 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.generalledgertransactions.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum GeneralLedgerTransactionsRetrieveRequestExpand { + ACCOUNTING_PERIOD("accounting_period"), + + COMPANY("company"), + + COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + + GENERAL_LEDGER_TRANSACTION_LINES("general_ledger_transaction_lines"), + + GENERAL_LEDGER_TRANSACTION_LINES_ACCOUNTING_PERIOD("general_ledger_transaction_lines,accounting_period"), + + GENERAL_LEDGER_TRANSACTION_LINES_COMPANY("general_ledger_transaction_lines,company"), + + GENERAL_LEDGER_TRANSACTION_LINES_COMPANY_ACCOUNTING_PERIOD( + "general_ledger_transaction_lines,company,accounting_period"), + + TRACKING_CATEGORIES("tracking_categories"), + + TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), + + TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), + + TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES("tracking_categories,general_ledger_transaction_lines"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES_ACCOUNTING_PERIOD( + "tracking_categories,general_ledger_transaction_lines,accounting_period"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES_COMPANY( + "tracking_categories,general_ledger_transaction_lines,company"), + + TRACKING_CATEGORIES_GENERAL_LEDGER_TRANSACTION_LINES_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,general_ledger_transaction_lines,company,accounting_period"); + + private final String value; + + GeneralLedgerTransactionsRetrieveRequestExpand(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/invoices/InvoicesClient.java b/src/main/java/com/merge/api/resources/accounting/invoices/InvoicesClient.java index 00ddd38b9..b81812711 100644 --- a/src/main/java/com/merge/api/resources/accounting/invoices/InvoicesClient.java +++ b/src/main/java/com/merge/api/resources/accounting/invoices/InvoicesClient.java @@ -113,6 +113,9 @@ public PaginatedInvoiceList list(InvoicesListRequest request, RequestOptions req httpUrl.addQueryParameter( "modified_before", request.getModifiedBefore().get().toString()); } + if (request.getNumber().isPresent()) { + httpUrl.addQueryParameter("number", request.getNumber().get()); + } if (request.getPageSize().isPresent()) { httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); } @@ -126,6 +129,9 @@ public PaginatedInvoiceList list(InvoicesListRequest request, RequestOptions req httpUrl.addQueryParameter( "show_enum_origins", request.getShowEnumOrigins().get()); } + if (request.getStatus().isPresent()) { + httpUrl.addQueryParameter("status", request.getStatus().get().toString()); + } if (request.getType().isPresent()) { httpUrl.addQueryParameter("type", request.getType().get().toString()); } @@ -156,6 +162,7 @@ public PaginatedInvoiceList list(InvoicesListRequest request, RequestOptions req /** * Creates an Invoice object with the given values. + * Including a PurchaseOrder id in the purchase_orders property will generate an Accounts Payable Invoice from the specified Purchase Order(s). */ public InvoiceResponse create(InvoiceEndpointRequest request) { return create(request, null); @@ -163,6 +170,7 @@ public InvoiceResponse create(InvoiceEndpointRequest request) { /** * Creates an Invoice object with the given values. + * Including a PurchaseOrder id in the purchase_orders property will generate an Accounts Payable Invoice from the specified Purchase Order(s). */ public InvoiceResponse create(InvoiceEndpointRequest request, RequestOptions requestOptions) { HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) diff --git a/src/main/java/com/merge/api/resources/accounting/invoices/requests/InvoicesListRequest.java b/src/main/java/com/merge/api/resources/accounting/invoices/requests/InvoicesListRequest.java index 388c96804..bf46b92ef 100644 --- a/src/main/java/com/merge/api/resources/accounting/invoices/requests/InvoicesListRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/invoices/requests/InvoicesListRequest.java @@ -13,6 +13,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import com.merge.api.resources.accounting.invoices.types.InvoicesListRequestExpand; +import com.merge.api.resources.accounting.invoices.types.InvoicesListRequestStatus; import com.merge.api.resources.accounting.invoices.types.InvoicesListRequestType; import java.time.OffsetDateTime; import java.util.HashMap; @@ -51,6 +52,8 @@ public final class InvoicesListRequest { private final Optional modifiedBefore; + private final Optional number; + private final Optional pageSize; private final Optional remoteFields; @@ -59,6 +62,8 @@ public final class InvoicesListRequest { private final Optional showEnumOrigins; + private final Optional status; + private final Optional type; private final Map additionalProperties; @@ -78,10 +83,12 @@ private InvoicesListRequest( Optional issueDateBefore, Optional modifiedAfter, Optional modifiedBefore, + Optional number, Optional pageSize, Optional remoteFields, Optional remoteId, Optional showEnumOrigins, + Optional status, Optional type, Map additionalProperties) { this.companyId = companyId; @@ -98,10 +105,12 @@ private InvoicesListRequest( this.issueDateBefore = issueDateBefore; this.modifiedAfter = modifiedAfter; this.modifiedBefore = modifiedBefore; + this.number = number; this.pageSize = pageSize; this.remoteFields = remoteFields; this.remoteId = remoteId; this.showEnumOrigins = showEnumOrigins; + this.status = status; this.type = type; this.additionalProperties = additionalProperties; } @@ -218,6 +227,14 @@ public Optional getModifiedBefore() { return modifiedBefore; } + /** + * @return If provided, will only return Invoices with this number. + */ + @JsonProperty("number") + public Optional getNumber() { + return number; + } + /** * @return Number of results to return per page. */ @@ -251,7 +268,23 @@ public Optional getShowEnumOrigins() { } /** - * @return If provided, will only return Invoices with this type + * @return If provided, will only return Invoices with this status. + *
    + *
  • PAID - PAID
  • + *
  • DRAFT - DRAFT
  • + *
  • SUBMITTED - SUBMITTED
  • + *
  • PARTIALLY_PAID - PARTIALLY_PAID
  • + *
  • OPEN - OPEN
  • + *
  • VOID - VOID
  • + *
+ */ + @JsonProperty("status") + public Optional getStatus() { + return status; + } + + /** + * @return If provided, will only return Invoices with this type. *
    *
  • ACCOUNTS_RECEIVABLE - ACCOUNTS_RECEIVABLE
  • *
  • ACCOUNTS_PAYABLE - ACCOUNTS_PAYABLE
  • @@ -288,10 +321,12 @@ private boolean equalTo(InvoicesListRequest other) { && issueDateBefore.equals(other.issueDateBefore) && modifiedAfter.equals(other.modifiedAfter) && modifiedBefore.equals(other.modifiedBefore) + && number.equals(other.number) && pageSize.equals(other.pageSize) && remoteFields.equals(other.remoteFields) && remoteId.equals(other.remoteId) && showEnumOrigins.equals(other.showEnumOrigins) + && status.equals(other.status) && type.equals(other.type); } @@ -312,10 +347,12 @@ public int hashCode() { this.issueDateBefore, this.modifiedAfter, this.modifiedBefore, + this.number, this.pageSize, this.remoteFields, this.remoteId, this.showEnumOrigins, + this.status, this.type); } @@ -358,6 +395,8 @@ public static final class Builder { private Optional modifiedBefore = Optional.empty(); + private Optional number = Optional.empty(); + private Optional pageSize = Optional.empty(); private Optional remoteFields = Optional.empty(); @@ -366,6 +405,8 @@ public static final class Builder { private Optional showEnumOrigins = Optional.empty(); + private Optional status = Optional.empty(); + private Optional type = Optional.empty(); @JsonAnySetter @@ -388,10 +429,12 @@ public Builder from(InvoicesListRequest other) { issueDateBefore(other.getIssueDateBefore()); modifiedAfter(other.getModifiedAfter()); modifiedBefore(other.getModifiedBefore()); + number(other.getNumber()); pageSize(other.getPageSize()); remoteFields(other.getRemoteFields()); remoteId(other.getRemoteId()); showEnumOrigins(other.getShowEnumOrigins()); + status(other.getStatus()); type(other.getType()); return this; } @@ -550,6 +593,17 @@ public Builder modifiedBefore(OffsetDateTime modifiedBefore) { return this; } + @JsonSetter(value = "number", nulls = Nulls.SKIP) + public Builder number(Optional number) { + this.number = number; + return this; + } + + public Builder number(String number) { + this.number = Optional.of(number); + return this; + } + @JsonSetter(value = "page_size", nulls = Nulls.SKIP) public Builder pageSize(Optional pageSize) { this.pageSize = pageSize; @@ -594,6 +648,17 @@ public Builder showEnumOrigins(String showEnumOrigins) { return this; } + @JsonSetter(value = "status", nulls = Nulls.SKIP) + public Builder status(Optional status) { + this.status = status; + return this; + } + + public Builder status(InvoicesListRequestStatus status) { + this.status = Optional.of(status); + return this; + } + @JsonSetter(value = "type", nulls = Nulls.SKIP) public Builder type(Optional type) { this.type = type; @@ -621,10 +686,12 @@ public InvoicesListRequest build() { issueDateBefore, modifiedAfter, modifiedBefore, + number, pageSize, remoteFields, remoteId, showEnumOrigins, + status, type, additionalProperties); } diff --git a/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesListRequestExpand.java b/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesListRequestExpand.java index af6d08944..45eb70f22 100644 --- a/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesListRequestExpand.java +++ b/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesListRequestExpand.java @@ -8,14 +8,226 @@ public enum InvoicesListRequestExpand { ACCOUNTING_PERIOD("accounting_period"), + APPLIED_CREDIT_NOTES("applied_credit_notes"), + + APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("applied_credit_notes,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS("applied_credit_notes,applied_vendor_credits"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY("applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT("applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE("applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_COMPANY("applied_credit_notes,company"), + + APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD("applied_credit_notes,company,accounting_period"), + + APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("applied_credit_notes,company,employee"), + + APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("applied_credit_notes,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT("applied_credit_notes,contact"), + + APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD("applied_credit_notes,contact,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY("applied_credit_notes,contact,company"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD("applied_credit_notes,contact,company,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE("applied_credit_notes,contact,company,employee"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("applied_credit_notes,contact,employee"), + + APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_EMPLOYEE("applied_credit_notes,employee"), + + APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD("applied_credit_notes,employee,accounting_period"), + APPLIED_PAYMENTS("applied_payments"), APPLIED_PAYMENTS_ACCOUNTING_PERIOD("applied_payments,accounting_period"), + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES("applied_payments,applied_credit_notes"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("applied_payments,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY("applied_payments,applied_credit_notes,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("applied_payments,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT("applied_payments,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("applied_payments,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("applied_payments,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE("applied_payments,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS("applied_payments,applied_vendor_credits"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY("applied_payments,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT("applied_payments,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("applied_payments,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE("applied_payments,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,employee,accounting_period"), + APPLIED_PAYMENTS_COMPANY("applied_payments,company"), APPLIED_PAYMENTS_COMPANY_ACCOUNTING_PERIOD("applied_payments,company,accounting_period"), + APPLIED_PAYMENTS_COMPANY_EMPLOYEE("applied_payments,company,employee"), + + APPLIED_PAYMENTS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,company,employee,accounting_period"), + APPLIED_PAYMENTS_CONTACT("applied_payments,contact"), APPLIED_PAYMENTS_CONTACT_ACCOUNTING_PERIOD("applied_payments,contact,accounting_period"), @@ -24,14 +236,174 @@ public enum InvoicesListRequestExpand { APPLIED_PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD("applied_payments,contact,company,accounting_period"), + APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE("applied_payments,contact,company,employee"), + + APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_CONTACT_EMPLOYEE("applied_payments,contact,employee"), + + APPLIED_PAYMENTS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_EMPLOYEE("applied_payments,employee"), + + APPLIED_PAYMENTS_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS("applied_payments,line_items"), APPLIED_PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("applied_payments,line_items,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES("applied_payments,line_items,applied_credit_notes"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,applied_credit_notes,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS("applied_payments,line_items,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_COMPANY("applied_payments,line_items,company"), APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("applied_payments,line_items,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE("applied_payments,line_items,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,company,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT("applied_payments,line_items,contact"), APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("applied_payments,line_items,contact,accounting_period"), @@ -41,581 +413,5331 @@ public enum InvoicesListRequestExpand { APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD( "applied_payments,line_items,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE("applied_payments,line_items,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE("applied_payments,line_items,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE("applied_payments,line_items,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,line_items,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("applied_payments,line_items,purchase_orders"), APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( "applied_payments,line_items,purchase_orders,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("applied_payments,line_items,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "applied_payments,line_items,purchase_orders,applied_credit_notes"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("applied_payments,line_items,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,line_items,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( - "applied_payments,line_items,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("applied_payments,line_items,tracking_categories"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("applied_payments,line_items,tracking_categories,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("applied_payments,line_items,tracking_categories,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( - "applied_payments,line_items,tracking_categories,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( - "applied_payments,line_items,tracking_categories,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "applied_payments,line_items,tracking_categories,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "applied_payments,line_items,tracking_categories,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS("applied_payments,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("applied_payments,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("applied_payments,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("applied_payments,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("applied_payments,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES("applied_payments,tracking_categories"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("applied_payments,tracking_categories,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("applied_payments,tracking_categories,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,purchase_orders,applied_vendor_credits"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("applied_payments,tracking_categories,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("applied_payments,tracking_categories,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("applied_payments,tracking_categories,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "applied_payments,tracking_categories,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "applied_payments,tracking_categories,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "applied_payments,tracking_categories,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), - COMPANY("company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee"), - COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), - CONTACT("contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("applied_payments,line_items,purchase_orders,company"), - CONTACT_ACCOUNTING_PERIOD("contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,company,accounting_period"), - CONTACT_COMPANY("contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,company,employee"), - CONTACT_COMPANY_ACCOUNTING_PERIOD("contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,company,employee,accounting_period"), - LINE_ITEMS("line_items"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("applied_payments,line_items,purchase_orders,contact"), - LINE_ITEMS_ACCOUNTING_PERIOD("line_items,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,accounting_period"), - LINE_ITEMS_COMPANY("line_items,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,contact,company"), - LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("line_items,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,company,accounting_period"), - LINE_ITEMS_CONTACT("line_items,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,contact,company,employee"), - LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("line_items,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period"), - LINE_ITEMS_CONTACT_COMPANY("line_items,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,contact,employee"), - LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("line_items,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,employee,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS("line_items,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE("applied_payments,line_items,purchase_orders,employee"), - LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("line_items,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,employee,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS_COMPANY("line_items,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("applied_payments,line_items,tracking_categories"), - LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("line_items,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT("line_items,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "applied_payments,line_items,tracking_categories,applied_credit_notes"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("line_items,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("line_items,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "line_items,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("applied_payments,line_items,tracking_categories,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("applied_payments,line_items,tracking_categories,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE( + "applied_payments,line_items,tracking_categories,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( + "applied_payments,line_items,tracking_categories,purchase_orders"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS("applied_payments,purchase_orders"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("applied_payments,purchase_orders,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("applied_payments,purchase_orders,applied_credit_notes"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,purchase_orders,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("applied_payments,purchase_orders,applied_vendor_credits"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,purchase_orders,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,purchase_orders,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("applied_payments,purchase_orders,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("applied_payments,purchase_orders,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("applied_payments,purchase_orders,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("applied_payments,purchase_orders,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("applied_payments,purchase_orders,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE("applied_payments,purchase_orders,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES("applied_payments,tracking_categories"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("applied_payments,tracking_categories,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "applied_payments,tracking_categories,applied_credit_notes"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,tracking_categories,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("applied_payments,tracking_categories,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE("applied_payments,tracking_categories,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("applied_payments,tracking_categories,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("applied_payments,tracking_categories,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE("applied_payments,tracking_categories,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE("applied_payments,tracking_categories,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("applied_payments,tracking_categories,purchase_orders"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "applied_payments,tracking_categories,purchase_orders,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "applied_payments,tracking_categories,purchase_orders,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS("applied_vendor_credits"), + + APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD("applied_vendor_credits,accounting_period"), + + APPLIED_VENDOR_CREDITS_COMPANY("applied_vendor_credits,company"), + + APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD("applied_vendor_credits,company,accounting_period"), + + APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("applied_vendor_credits,company,employee"), + + APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT("applied_vendor_credits,contact"), + + APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD("applied_vendor_credits,contact,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("applied_vendor_credits,contact,company"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE("applied_vendor_credits,contact,company,employee"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("applied_vendor_credits,contact,employee"), + + APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS_EMPLOYEE("applied_vendor_credits,employee"), + + APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD("applied_vendor_credits,employee,accounting_period"), + + COMPANY("company"), + + COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + + COMPANY_EMPLOYEE("company,employee"), + + COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("company,employee,accounting_period"), + + CONTACT("contact"), + + CONTACT_ACCOUNTING_PERIOD("contact,accounting_period"), + + CONTACT_COMPANY("contact,company"), + + CONTACT_COMPANY_ACCOUNTING_PERIOD("contact,company,accounting_period"), + + CONTACT_COMPANY_EMPLOYEE("contact,company,employee"), + + CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("contact,company,employee,accounting_period"), + + CONTACT_EMPLOYEE("contact,employee"), + + CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("contact,employee,accounting_period"), + + EMPLOYEE("employee"), + + EMPLOYEE_ACCOUNTING_PERIOD("employee,accounting_period"), + + LINE_ITEMS("line_items"), + + LINE_ITEMS_ACCOUNTING_PERIOD("line_items,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES("line_items,applied_credit_notes"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("line_items,applied_credit_notes,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS("line_items,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY("line_items,applied_credit_notes,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("line_items,applied_credit_notes,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT("line_items,applied_credit_notes,contact"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("line_items,applied_credit_notes,contact,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("line_items,applied_credit_notes,contact,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE("line_items,applied_credit_notes,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS("line_items,applied_vendor_credits"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD("line_items,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY("line_items,applied_vendor_credits,company"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("line_items,applied_vendor_credits,company,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT("line_items,applied_vendor_credits,contact"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("line_items,applied_vendor_credits,contact,company"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("line_items,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE("line_items,applied_vendor_credits,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_COMPANY("line_items,company"), + + LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("line_items,company,accounting_period"), + + LINE_ITEMS_COMPANY_EMPLOYEE("line_items,company,employee"), + + LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("line_items,company,employee,accounting_period"), + + LINE_ITEMS_CONTACT("line_items,contact"), + + LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("line_items,contact,accounting_period"), + + LINE_ITEMS_CONTACT_COMPANY("line_items,contact,company"), + + LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("line_items,contact,company,accounting_period"), + + LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE("line_items,contact,company,employee"), + + LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("line_items,contact,company,employee,accounting_period"), + + LINE_ITEMS_CONTACT_EMPLOYEE("line_items,contact,employee"), + + LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("line_items,contact,employee,accounting_period"), + + LINE_ITEMS_EMPLOYEE("line_items,employee"), + + LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD("line_items,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS("line_items,purchase_orders"), + + LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("line_items,purchase_orders,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("line_items,purchase_orders,applied_credit_notes"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY("line_items,purchase_orders,applied_credit_notes,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT("line_items,purchase_orders,applied_credit_notes,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "line_items,purchase_orders,applied_credit_notes,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("line_items,purchase_orders,applied_vendor_credits"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,purchase_orders,applied_vendor_credits,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,purchase_orders,applied_vendor_credits,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,purchase_orders,applied_vendor_credits,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY("line_items,purchase_orders,company"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("line_items,purchase_orders,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("line_items,purchase_orders,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT("line_items,purchase_orders,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("line_items,purchase_orders,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("line_items,purchase_orders,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE("line_items,purchase_orders,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("line_items,purchase_orders,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE("line_items,purchase_orders,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD("line_items,purchase_orders,employee,accounting_period"), LINE_ITEMS_TRACKING_CATEGORIES("line_items,tracking_categories"), - LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("line_items,tracking_categories,accounting_period"), + LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("line_items,tracking_categories,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES("line_items,tracking_categories,applied_credit_notes"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "line_items,tracking_categories,applied_credit_notes,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "line_items,tracking_categories,applied_credit_notes,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "line_items,tracking_categories,applied_credit_notes,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS("line_items,tracking_categories,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("line_items,tracking_categories,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE("line_items,tracking_categories,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("line_items,tracking_categories,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("line_items,tracking_categories,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("line_items,tracking_categories,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE("line_items,tracking_categories,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE("line_items,tracking_categories,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("line_items,tracking_categories,purchase_orders"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("line_items,tracking_categories,purchase_orders,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("line_items,tracking_categories,purchase_orders,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE("line_items,tracking_categories,purchase_orders,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS("payments"), + + PAYMENTS_ACCOUNTING_PERIOD("payments,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES("payments,applied_credit_notes"), + + PAYMENTS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("payments,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS("payments,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY("payments,applied_credit_notes,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD("payments,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("payments,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT("payments,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD("payments,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("payments,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE("payments,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("payments,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS("payments,applied_payments"), + + PAYMENTS_APPLIED_PAYMENTS_ACCOUNTING_PERIOD("payments,applied_payments,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES("payments,applied_payments,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY("payments,applied_payments,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT("payments,applied_payments,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,applied_payments,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS("payments,applied_payments,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY("payments,applied_payments,company"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,applied_payments,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY_EMPLOYEE("payments,applied_payments,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT("payments,applied_payments,contact"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,applied_payments,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY("payments,applied_payments,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE("payments,applied_payments,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_EMPLOYEE("payments,applied_payments,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_EMPLOYEE("payments,applied_payments,employee"), + + PAYMENTS_APPLIED_PAYMENTS_EMPLOYEE_ACCOUNTING_PERIOD("payments,applied_payments,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS("payments,applied_payments,line_items"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,applied_payments,line_items,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY("payments,applied_payments,line_items,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE("payments,applied_payments,line_items,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT("payments,applied_payments,line_items,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,applied_payments,line_items,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE("payments,applied_payments,line_items,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE("payments,applied_payments,line_items,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,applied_payments,line_items,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY( + "payments,applied_payments,line_items,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT( + "payments,applied_payments,line_items,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES( + "payments,applied_payments,line_items,tracking_categories"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY( + "payments,applied_payments,line_items,tracking_categories,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT( + "payments,applied_payments,line_items,tracking_categories,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( + "payments,applied_payments,line_items,tracking_categories,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS("payments,applied_payments,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,applied_payments,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,applied_payments,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE("payments,applied_payments,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES("payments,applied_payments,tracking_categories"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "payments,applied_payments,tracking_categories,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,applied_payments,tracking_categories,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,applied_payments,tracking_categories,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE("payments,applied_payments,tracking_categories,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS( + "payments,applied_payments,tracking_categories,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS("payments,applied_vendor_credits"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD("payments,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY("payments,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("payments,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT("payments,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("payments,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("payments,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE("payments,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_COMPANY("payments,company"), + + PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,company,accounting_period"), + + PAYMENTS_COMPANY_EMPLOYEE("payments,company,employee"), + + PAYMENTS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("payments,company,employee,accounting_period"), + + PAYMENTS_CONTACT("payments,contact"), + + PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,contact,accounting_period"), + + PAYMENTS_CONTACT_COMPANY("payments,contact,company"), + + PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,contact,company,accounting_period"), + + PAYMENTS_CONTACT_COMPANY_EMPLOYEE("payments,contact,company,employee"), + + PAYMENTS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("payments,contact,company,employee,accounting_period"), + + PAYMENTS_CONTACT_EMPLOYEE("payments,contact,employee"), + + PAYMENTS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("payments,contact,employee,accounting_period"), + + PAYMENTS_EMPLOYEE("payments,employee"), + + PAYMENTS_EMPLOYEE_ACCOUNTING_PERIOD("payments,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS("payments,line_items"), + + PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,line_items,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES("payments,line_items,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY("payments,line_items,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT("payments,line_items,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,line_items,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS("payments,line_items,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY("payments,line_items,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT("payments,line_items,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE("payments,line_items,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_COMPANY("payments,line_items,company"), + + PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("payments,line_items,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE("payments,line_items,company,employee"), + + PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("payments,line_items,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT("payments,line_items,contact"), + + PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("payments,line_items,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,line_items,contact,company"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,line_items,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE("payments,line_items,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE("payments,line_items,contact,employee"), + + PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("payments,line_items,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_EMPLOYEE("payments,line_items,employee"), + + PAYMENTS_LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD("payments,line_items,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,line_items,purchase_orders"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,line_items,purchase_orders,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,line_items,purchase_orders,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,line_items,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,line_items,purchase_orders,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("payments,line_items,purchase_orders,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("payments,line_items,purchase_orders,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("payments,line_items,purchase_orders,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,line_items,purchase_orders,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("payments,line_items,purchase_orders,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE("payments,line_items,purchase_orders,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("payments,line_items,tracking_categories"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "payments,line_items,tracking_categories,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,line_items,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("payments,line_items,tracking_categories,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("payments,line_items,tracking_categories,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,line_items,tracking_categories,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE("payments,line_items,tracking_categories,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,line_items,tracking_categories,purchase_orders"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("line_items,tracking_categories,company"), + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,contact,company,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,company,accounting_period"), + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS("payments,purchase_orders"), + + PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,purchase_orders,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("payments,purchase_orders,applied_credit_notes"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY("payments,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT("payments,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("payments,purchase_orders,applied_vendor_credits"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY("payments,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT("payments,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,purchase_orders,company"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("payments,purchase_orders,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("payments,purchase_orders,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,purchase_orders,contact"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("payments,purchase_orders,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,purchase_orders,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE("payments,purchase_orders,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("payments,purchase_orders,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_EMPLOYEE("payments,purchase_orders,employee"), + + PAYMENTS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD("payments,purchase_orders,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES("payments,tracking_categories"), + + PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("payments,tracking_categories,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES("payments,tracking_categories,applied_credit_notes"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS("payments,tracking_categories,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,tracking_categories,company"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("payments,tracking_categories,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE("payments,tracking_categories,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,tracking_categories,contact"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("payments,tracking_categories,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,tracking_categories,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("payments,tracking_categories,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE("payments,tracking_categories,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE("payments,tracking_categories,employee"), + + PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD("payments,tracking_categories,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,tracking_categories,purchase_orders"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("payments,tracking_categories,purchase_orders,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("payments,tracking_categories,purchase_orders,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE("payments,tracking_categories,purchase_orders,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,employee,accounting_period"), + + PURCHASE_ORDERS("purchase_orders"), + + PURCHASE_ORDERS_ACCOUNTING_PERIOD("purchase_orders,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("purchase_orders,applied_credit_notes"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("purchase_orders,applied_credit_notes,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("line_items,tracking_categories,contact"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "line_items,tracking_categories,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY("purchase_orders,applied_credit_notes,company"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("line_items,tracking_categories,contact,company"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,company,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("purchase_orders,applied_credit_notes,company,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("line_items,tracking_categories,purchase_orders"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,company,employee,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT("purchase_orders,applied_credit_notes,contact"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("line_items,tracking_categories,purchase_orders,company"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("purchase_orders,applied_credit_notes,contact,company"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("line_items,tracking_categories,purchase_orders,contact"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,company,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "purchase_orders,applied_credit_notes,contact,company,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "line_items,tracking_categories,purchase_orders,contact,company"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("purchase_orders,applied_credit_notes,contact,employee"), - PAYMENTS("payments"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,employee,accounting_period"), - PAYMENTS_ACCOUNTING_PERIOD("payments,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE("purchase_orders,applied_credit_notes,employee"), - PAYMENTS_APPLIED_PAYMENTS("payments,applied_payments"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_ACCOUNTING_PERIOD("payments,applied_payments,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("purchase_orders,applied_vendor_credits"), - PAYMENTS_APPLIED_PAYMENTS_COMPANY("payments,applied_payments,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,applied_payments,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY("purchase_orders,applied_vendor_credits,company"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT("payments,applied_payments,contact"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,applied_payments,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("purchase_orders,applied_vendor_credits,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY("payments,applied_payments,contact,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT("purchase_orders,applied_vendor_credits,contact"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS("payments,applied_payments,line_items"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,applied_payments,line_items,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("purchase_orders,applied_vendor_credits,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY("payments,applied_payments,line_items,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "purchase_orders,applied_vendor_credits,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT("payments,applied_payments,line_items,contact"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("purchase_orders,applied_vendor_credits,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,applied_payments,line_items,contact,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE("purchase_orders,applied_vendor_credits,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,applied_payments,line_items,purchase_orders"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,accounting_period"), + PURCHASE_ORDERS_COMPANY("purchase_orders,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY( - "payments,applied_payments,line_items,purchase_orders,company"), + PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("purchase_orders,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,company,accounting_period"), + PURCHASE_ORDERS_COMPANY_EMPLOYEE("purchase_orders,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT( - "payments,applied_payments,line_items,purchase_orders,contact"), + PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("purchase_orders,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,contact,accounting_period"), + PURCHASE_ORDERS_CONTACT("purchase_orders,contact"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,line_items,purchase_orders,contact,company"), + PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("purchase_orders,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,contact,company,accounting_period"), + PURCHASE_ORDERS_CONTACT_COMPANY("purchase_orders,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES( - "payments,applied_payments,line_items,tracking_categories"), + PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD("purchase_orders,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,accounting_period"), + PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE("purchase_orders,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY( - "payments,applied_payments,line_items,tracking_categories,company"), + PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,company,accounting_period"), + PURCHASE_ORDERS_CONTACT_EMPLOYEE("purchase_orders,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT( - "payments,applied_payments,line_items,tracking_categories,contact"), + PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("purchase_orders,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,contact,accounting_period"), + PURCHASE_ORDERS_EMPLOYEE("purchase_orders,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( - "payments,applied_payments,line_items,tracking_categories,contact,company"), + PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD("purchase_orders,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES("tracking_categories"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( - "payments,applied_payments,line_items,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES("tracking_categories,applied_credit_notes"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "tracking_categories,applied_credit_notes,applied_vendor_credits"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS("payments,applied_payments,purchase_orders"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,applied_payments,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,applied_payments,purchase_orders,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,purchase_orders,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES("payments,applied_payments,tracking_categories"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,applied_payments,tracking_categories,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY("tracking_categories,applied_credit_notes,company"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,applied_payments,tracking_categories,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY( - "payments,applied_payments,tracking_categories,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT("tracking_categories,applied_credit_notes,contact"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS( - "payments,applied_payments,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "tracking_categories,applied_credit_notes,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "payments,applied_payments,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "payments,applied_payments,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "tracking_categories,applied_credit_notes,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE("tracking_categories,applied_credit_notes,employee"), - PAYMENTS_COMPANY("payments,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,employee,accounting_period"), - PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS("tracking_categories,applied_vendor_credits"), - PAYMENTS_CONTACT("payments,contact"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,accounting_period"), - PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY("tracking_categories,applied_vendor_credits,company"), - PAYMENTS_CONTACT_COMPANY("payments,contact,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,company,accounting_period"), - PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,applied_vendor_credits,company,employee"), - PAYMENTS_LINE_ITEMS("payments,line_items"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,line_items,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT("tracking_categories,applied_vendor_credits,contact"), - PAYMENTS_LINE_ITEMS_COMPANY("payments,line_items,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("payments,line_items,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,applied_vendor_credits,contact,company"), - PAYMENTS_LINE_ITEMS_CONTACT("payments,line_items,contact"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("payments,line_items,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,applied_vendor_credits,contact,company,employee"), - PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,line_items,contact,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,line_items,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,applied_vendor_credits,contact,employee"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,line_items,purchase_orders"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,line_items,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE("tracking_categories,applied_vendor_credits,employee"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("payments,line_items,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("payments,line_items,purchase_orders,contact"), + TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,line_items,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_COMPANY_EMPLOYEE("tracking_categories,company,employee"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,line_items,purchase_orders,contact,company"), + TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_CONTACT("tracking_categories,contact"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("payments,line_items,tracking_categories"), + TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("tracking_categories,contact,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,accounting_period"), + TRACKING_CATEGORIES_CONTACT_COMPANY("tracking_categories,contact,company"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("payments,line_items,tracking_categories,company"), + TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("tracking_categories,contact,company,employee"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("payments,line_items,tracking_categories,contact"), + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,contact,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_CONTACT_EMPLOYEE("tracking_categories,contact,employee"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,line_items,tracking_categories,contact,company"), + TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,contact,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_EMPLOYEE("tracking_categories,employee"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,line_items,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS("tracking_categories,purchase_orders"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "payments,line_items,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD("tracking_categories,purchase_orders,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "tracking_categories,purchase_orders,applied_credit_notes"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "payments,line_items,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,line_items,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), - PAYMENTS_PURCHASE_ORDERS("payments,purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), - PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("payments,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), - PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("payments,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), - PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), - PAYMENTS_TRACKING_CATEGORIES("payments,tracking_categories"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("payments,tracking_categories,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), - PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,tracking_categories,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("payments,tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,tracking_categories,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("payments,tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,company"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,tracking_categories,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,company,employee"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "tracking_categories,purchase_orders,applied_credit_notes,contact"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("payments,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("payments,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), - PURCHASE_ORDERS("purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), - PURCHASE_ORDERS_ACCOUNTING_PERIOD("purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,employee"), - PURCHASE_ORDERS_COMPANY("purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), - PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "tracking_categories,purchase_orders,applied_vendor_credits"), - PURCHASE_ORDERS_CONTACT("purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), - PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "tracking_categories,purchase_orders,applied_vendor_credits,company"), - PURCHASE_ORDERS_CONTACT_COMPANY("purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), - PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD("purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), - TRACKING_CATEGORIES("tracking_categories"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), - TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "tracking_categories,purchase_orders,applied_vendor_credits,contact"), - TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), - TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), - TRACKING_CATEGORIES_CONTACT("tracking_categories,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), - TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), - TRACKING_CATEGORIES_CONTACT_COMPANY("tracking_categories,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), - TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), - TRACKING_CATEGORIES_PURCHASE_ORDERS("tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), - TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD("tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("tracking_categories,purchase_orders,company"), TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( "tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE("tracking_categories,purchase_orders,company,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,company,employee,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("tracking_categories,purchase_orders,contact"), TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( @@ -624,7 +5746,23 @@ public enum InvoicesListRequestExpand { TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY("tracking_categories,purchase_orders,contact,company"), TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "tracking_categories,purchase_orders,contact,company,accounting_period"); + "tracking_categories,purchase_orders,contact,company,accounting_period"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,contact,company,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE("tracking_categories,purchase_orders,contact,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,contact,employee,accounting_period"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE("tracking_categories,purchase_orders,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,employee,accounting_period"); private final String value; diff --git a/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesListRequestStatus.java b/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesListRequestStatus.java new file mode 100644 index 000000000..7111c0f64 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesListRequestStatus.java @@ -0,0 +1,32 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.invoices.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum InvoicesListRequestStatus { + DRAFT("DRAFT"), + + OPEN("OPEN"), + + PAID("PAID"), + + PARTIALLY_PAID("PARTIALLY_PAID"), + + SUBMITTED("SUBMITTED"), + + VOID("VOID"); + + private final String value; + + InvoicesListRequestStatus(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesRetrieveRequestExpand.java b/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesRetrieveRequestExpand.java index 77dae1a81..58f4bde4c 100644 --- a/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesRetrieveRequestExpand.java +++ b/src/main/java/com/merge/api/resources/accounting/invoices/types/InvoicesRetrieveRequestExpand.java @@ -8,14 +8,226 @@ public enum InvoicesRetrieveRequestExpand { ACCOUNTING_PERIOD("accounting_period"), + APPLIED_CREDIT_NOTES("applied_credit_notes"), + + APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("applied_credit_notes,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS("applied_credit_notes,applied_vendor_credits"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY("applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT("applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE("applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_COMPANY("applied_credit_notes,company"), + + APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD("applied_credit_notes,company,accounting_period"), + + APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("applied_credit_notes,company,employee"), + + APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("applied_credit_notes,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT("applied_credit_notes,contact"), + + APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD("applied_credit_notes,contact,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY("applied_credit_notes,contact,company"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD("applied_credit_notes,contact,company,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE("applied_credit_notes,contact,company,employee"), + + APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("applied_credit_notes,contact,employee"), + + APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_CREDIT_NOTES_EMPLOYEE("applied_credit_notes,employee"), + + APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD("applied_credit_notes,employee,accounting_period"), + APPLIED_PAYMENTS("applied_payments"), APPLIED_PAYMENTS_ACCOUNTING_PERIOD("applied_payments,accounting_period"), + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES("applied_payments,applied_credit_notes"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("applied_payments,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY("applied_payments,applied_credit_notes,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("applied_payments,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT("applied_payments,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("applied_payments,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("applied_payments,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE("applied_payments,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS("applied_payments,applied_vendor_credits"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY("applied_payments,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT("applied_payments,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("applied_payments,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE("applied_payments,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,applied_vendor_credits,employee,accounting_period"), + APPLIED_PAYMENTS_COMPANY("applied_payments,company"), APPLIED_PAYMENTS_COMPANY_ACCOUNTING_PERIOD("applied_payments,company,accounting_period"), + APPLIED_PAYMENTS_COMPANY_EMPLOYEE("applied_payments,company,employee"), + + APPLIED_PAYMENTS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,company,employee,accounting_period"), + APPLIED_PAYMENTS_CONTACT("applied_payments,contact"), APPLIED_PAYMENTS_CONTACT_ACCOUNTING_PERIOD("applied_payments,contact,accounting_period"), @@ -24,14 +236,174 @@ public enum InvoicesRetrieveRequestExpand { APPLIED_PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD("applied_payments,contact,company,accounting_period"), + APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE("applied_payments,contact,company,employee"), + + APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_CONTACT_EMPLOYEE("applied_payments,contact,employee"), + + APPLIED_PAYMENTS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_EMPLOYEE("applied_payments,employee"), + + APPLIED_PAYMENTS_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS("applied_payments,line_items"), APPLIED_PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("applied_payments,line_items,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES("applied_payments,line_items,applied_credit_notes"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,applied_credit_notes,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS("applied_payments,line_items,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,applied_vendor_credits,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_COMPANY("applied_payments,line_items,company"), APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("applied_payments,line_items,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE("applied_payments,line_items,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,company,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT("applied_payments,line_items,contact"), APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("applied_payments,line_items,contact,accounting_period"), @@ -41,581 +413,5331 @@ public enum InvoicesRetrieveRequestExpand { APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD( "applied_payments,line_items,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE("applied_payments,line_items,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE("applied_payments,line_items,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE("applied_payments,line_items,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD("applied_payments,line_items,employee,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("applied_payments,line_items,purchase_orders"), APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( "applied_payments,line_items,purchase_orders,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("applied_payments,line_items,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "applied_payments,line_items,purchase_orders,applied_credit_notes"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("applied_payments,line_items,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,line_items,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( - "applied_payments,line_items,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), - APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("applied_payments,line_items,tracking_categories"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("applied_payments,line_items,tracking_categories,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("applied_payments,line_items,tracking_categories,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( - "applied_payments,line_items,tracking_categories,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( - "applied_payments,line_items,tracking_categories,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "applied_payments,line_items,tracking_categories,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "applied_payments,line_items,tracking_categories,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee"), - APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS("applied_payments,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("applied_payments,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("applied_payments,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("applied_payments,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("applied_payments,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee"), - APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES("applied_payments,tracking_categories"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_credit_notes,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("applied_payments,tracking_categories,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("applied_payments,tracking_categories,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,purchase_orders,applied_vendor_credits"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("applied_payments,tracking_categories,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("applied_payments,tracking_categories,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("applied_payments,tracking_categories,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "applied_payments,tracking_categories,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "applied_payments,tracking_categories,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "applied_payments,tracking_categories,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee"), - APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), - COMPANY("company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee"), - COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), - CONTACT("contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("applied_payments,line_items,purchase_orders,company"), - CONTACT_ACCOUNTING_PERIOD("contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,company,accounting_period"), - CONTACT_COMPANY("contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,company,employee"), - CONTACT_COMPANY_ACCOUNTING_PERIOD("contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,company,employee,accounting_period"), - LINE_ITEMS("line_items"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("applied_payments,line_items,purchase_orders,contact"), - LINE_ITEMS_ACCOUNTING_PERIOD("line_items,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,accounting_period"), - LINE_ITEMS_COMPANY("line_items,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( + "applied_payments,line_items,purchase_orders,contact,company"), - LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("line_items,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,company,accounting_period"), - LINE_ITEMS_CONTACT("line_items,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,purchase_orders,contact,company,employee"), - LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("line_items,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period"), - LINE_ITEMS_CONTACT_COMPANY("line_items,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "applied_payments,line_items,purchase_orders,contact,employee"), - LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("line_items,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,contact,employee,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS("line_items,purchase_orders"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE("applied_payments,line_items,purchase_orders,employee"), - LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("line_items,purchase_orders,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,purchase_orders,employee,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS_COMPANY("line_items,purchase_orders,company"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("applied_payments,line_items,tracking_categories"), - LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("line_items,purchase_orders,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT("line_items,purchase_orders,contact"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "applied_payments,line_items,tracking_categories,applied_credit_notes"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("line_items,purchase_orders,contact,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("line_items,purchase_orders,contact,company"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), - LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "line_items,purchase_orders,contact,company,accounting_period"), + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("applied_payments,line_items,tracking_categories,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("applied_payments,line_items,tracking_categories,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE( + "applied_payments,line_items,tracking_categories,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( + "applied_payments,line_items,tracking_categories,purchase_orders"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "applied_payments,line_items,tracking_categories,purchase_orders,contact"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "applied_payments,line_items,tracking_categories,purchase_orders,employee"), + + APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS("applied_payments,purchase_orders"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("applied_payments,purchase_orders,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("applied_payments,purchase_orders,applied_credit_notes"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,purchase_orders,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,purchase_orders,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,purchase_orders,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("applied_payments,purchase_orders,applied_vendor_credits"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,purchase_orders,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,purchase_orders,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,purchase_orders,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("applied_payments,purchase_orders,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("applied_payments,purchase_orders,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("applied_payments,purchase_orders,contact"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("applied_payments,purchase_orders,contact,company"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,company,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,purchase_orders,contact,company,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("applied_payments,purchase_orders,contact,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE("applied_payments,purchase_orders,employee"), + + APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,purchase_orders,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES("applied_payments,tracking_categories"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("applied_payments,tracking_categories,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "applied_payments,tracking_categories,applied_credit_notes"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,tracking_categories,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,tracking_categories,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,tracking_categories,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("applied_payments,tracking_categories,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE("applied_payments,tracking_categories,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("applied_payments,tracking_categories,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("applied_payments,tracking_categories,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE("applied_payments,tracking_categories,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE("applied_payments,tracking_categories,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("applied_payments,tracking_categories,purchase_orders"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "applied_payments,tracking_categories,purchase_orders,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "applied_payments,tracking_categories,purchase_orders,contact"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "applied_payments,tracking_categories,purchase_orders,contact,company"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,contact,company,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,contact,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "applied_payments,tracking_categories,purchase_orders,employee"), + + APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_payments,tracking_categories,purchase_orders,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS("applied_vendor_credits"), + + APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD("applied_vendor_credits,accounting_period"), + + APPLIED_VENDOR_CREDITS_COMPANY("applied_vendor_credits,company"), + + APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD("applied_vendor_credits,company,accounting_period"), + + APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("applied_vendor_credits,company,employee"), + + APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_vendor_credits,company,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT("applied_vendor_credits,contact"), + + APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD("applied_vendor_credits,contact,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("applied_vendor_credits,contact,company"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "applied_vendor_credits,contact,company,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE("applied_vendor_credits,contact,company,employee"), + + APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_vendor_credits,contact,company,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("applied_vendor_credits,contact,employee"), + + APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "applied_vendor_credits,contact,employee,accounting_period"), + + APPLIED_VENDOR_CREDITS_EMPLOYEE("applied_vendor_credits,employee"), + + APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD("applied_vendor_credits,employee,accounting_period"), + + COMPANY("company"), + + COMPANY_ACCOUNTING_PERIOD("company,accounting_period"), + + COMPANY_EMPLOYEE("company,employee"), + + COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("company,employee,accounting_period"), + + CONTACT("contact"), + + CONTACT_ACCOUNTING_PERIOD("contact,accounting_period"), + + CONTACT_COMPANY("contact,company"), + + CONTACT_COMPANY_ACCOUNTING_PERIOD("contact,company,accounting_period"), + + CONTACT_COMPANY_EMPLOYEE("contact,company,employee"), + + CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("contact,company,employee,accounting_period"), + + CONTACT_EMPLOYEE("contact,employee"), + + CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("contact,employee,accounting_period"), + + EMPLOYEE("employee"), + + EMPLOYEE_ACCOUNTING_PERIOD("employee,accounting_period"), + + LINE_ITEMS("line_items"), + + LINE_ITEMS_ACCOUNTING_PERIOD("line_items,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES("line_items,applied_credit_notes"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("line_items,applied_credit_notes,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS("line_items,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY("line_items,applied_credit_notes,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("line_items,applied_credit_notes,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT("line_items,applied_credit_notes,contact"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("line_items,applied_credit_notes,contact,company"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("line_items,applied_credit_notes,contact,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE("line_items,applied_credit_notes,employee"), + + LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS("line_items,applied_vendor_credits"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD("line_items,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY("line_items,applied_vendor_credits,company"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("line_items,applied_vendor_credits,company,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT("line_items,applied_vendor_credits,contact"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("line_items,applied_vendor_credits,contact,company"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("line_items,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE("line_items,applied_vendor_credits,employee"), + + LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_COMPANY("line_items,company"), + + LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("line_items,company,accounting_period"), + + LINE_ITEMS_COMPANY_EMPLOYEE("line_items,company,employee"), + + LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("line_items,company,employee,accounting_period"), + + LINE_ITEMS_CONTACT("line_items,contact"), + + LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("line_items,contact,accounting_period"), + + LINE_ITEMS_CONTACT_COMPANY("line_items,contact,company"), + + LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("line_items,contact,company,accounting_period"), + + LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE("line_items,contact,company,employee"), + + LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("line_items,contact,company,employee,accounting_period"), + + LINE_ITEMS_CONTACT_EMPLOYEE("line_items,contact,employee"), + + LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("line_items,contact,employee,accounting_period"), + + LINE_ITEMS_EMPLOYEE("line_items,employee"), + + LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD("line_items,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS("line_items,purchase_orders"), + + LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("line_items,purchase_orders,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("line_items,purchase_orders,applied_credit_notes"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY("line_items,purchase_orders,applied_credit_notes,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT("line_items,purchase_orders,applied_credit_notes,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "line_items,purchase_orders,applied_credit_notes,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "line_items,purchase_orders,applied_credit_notes,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("line_items,purchase_orders,applied_vendor_credits"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,purchase_orders,applied_vendor_credits,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,purchase_orders,applied_vendor_credits,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,purchase_orders,applied_vendor_credits,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,purchase_orders,applied_vendor_credits,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY("line_items,purchase_orders,company"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("line_items,purchase_orders,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("line_items,purchase_orders,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT("line_items,purchase_orders,contact"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("line_items,purchase_orders,contact,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("line_items,purchase_orders,contact,company"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,purchase_orders,contact,company,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE("line_items,purchase_orders,contact,company,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,contact,company,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("line_items,purchase_orders,contact,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,purchase_orders,contact,employee,accounting_period"), + + LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE("line_items,purchase_orders,employee"), + + LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD("line_items,purchase_orders,employee,accounting_period"), LINE_ITEMS_TRACKING_CATEGORIES("line_items,tracking_categories"), - LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("line_items,tracking_categories,accounting_period"), + LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("line_items,tracking_categories,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES("line_items,tracking_categories,applied_credit_notes"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "line_items,tracking_categories,applied_credit_notes,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "line_items,tracking_categories,applied_credit_notes,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "line_items,tracking_categories,applied_credit_notes,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "line_items,tracking_categories,applied_credit_notes,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS("line_items,tracking_categories,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("line_items,tracking_categories,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE("line_items,tracking_categories,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("line_items,tracking_categories,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("line_items,tracking_categories,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("line_items,tracking_categories,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE("line_items,tracking_categories,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE("line_items,tracking_categories,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("line_items,tracking_categories,purchase_orders"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("line_items,tracking_categories,purchase_orders,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("line_items,tracking_categories,purchase_orders,contact"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "line_items,tracking_categories,purchase_orders,contact,company"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,contact,company,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "line_items,tracking_categories,purchase_orders,contact,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE("line_items,tracking_categories,purchase_orders,employee"), + + LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS("payments"), + + PAYMENTS_ACCOUNTING_PERIOD("payments,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES("payments,applied_credit_notes"), + + PAYMENTS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("payments,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS("payments,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY("payments,applied_credit_notes,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD("payments,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("payments,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT("payments,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD("payments,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("payments,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE("payments,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("payments,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS("payments,applied_payments"), + + PAYMENTS_APPLIED_PAYMENTS_ACCOUNTING_PERIOD("payments,applied_payments,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES("payments,applied_payments,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY("payments,applied_payments,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT("payments,applied_payments,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,applied_payments,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS("payments,applied_payments,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY("payments,applied_payments,company"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,applied_payments,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY_EMPLOYEE("payments,applied_payments,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT("payments,applied_payments,contact"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,applied_payments,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY("payments,applied_payments,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE("payments,applied_payments,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_EMPLOYEE("payments,applied_payments,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_EMPLOYEE("payments,applied_payments,employee"), + + PAYMENTS_APPLIED_PAYMENTS_EMPLOYEE_ACCOUNTING_PERIOD("payments,applied_payments,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS("payments,applied_payments,line_items"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,applied_payments,line_items,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY("payments,applied_payments,line_items,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE("payments,applied_payments,line_items,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT("payments,applied_payments,line_items,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,applied_payments,line_items,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE("payments,applied_payments,line_items,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE("payments,applied_payments,line_items,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,applied_payments,line_items,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY( + "payments,applied_payments,line_items,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT( + "payments,applied_payments,line_items,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,line_items,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE( + "payments,applied_payments,line_items,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES( + "payments,applied_payments,line_items,tracking_categories"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY( + "payments,applied_payments,line_items,tracking_categories,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT( + "payments,applied_payments,line_items,tracking_categories,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( + "payments,applied_payments,line_items,tracking_categories,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS("payments,applied_payments,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,applied_payments,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,applied_payments,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE("payments,applied_payments,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES("payments,applied_payments,tracking_categories"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "payments,applied_payments,tracking_categories,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,applied_payments,tracking_categories,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,applied_payments,tracking_categories,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE("payments,applied_payments,tracking_categories,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS( + "payments,applied_payments,tracking_categories,purchase_orders"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "payments,applied_payments,tracking_categories,purchase_orders,contact"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "payments,applied_payments,tracking_categories,purchase_orders,employee"), + + PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_payments,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS("payments,applied_vendor_credits"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD("payments,applied_vendor_credits,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY("payments,applied_vendor_credits,company"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("payments,applied_vendor_credits,company,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT("payments,applied_vendor_credits,contact"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("payments,applied_vendor_credits,contact,company"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("payments,applied_vendor_credits,contact,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE("payments,applied_vendor_credits,employee"), + + PAYMENTS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_COMPANY("payments,company"), + + PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,company,accounting_period"), + + PAYMENTS_COMPANY_EMPLOYEE("payments,company,employee"), + + PAYMENTS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("payments,company,employee,accounting_period"), + + PAYMENTS_CONTACT("payments,contact"), + + PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,contact,accounting_period"), + + PAYMENTS_CONTACT_COMPANY("payments,contact,company"), + + PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,contact,company,accounting_period"), + + PAYMENTS_CONTACT_COMPANY_EMPLOYEE("payments,contact,company,employee"), + + PAYMENTS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("payments,contact,company,employee,accounting_period"), + + PAYMENTS_CONTACT_EMPLOYEE("payments,contact,employee"), + + PAYMENTS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("payments,contact,employee,accounting_period"), + + PAYMENTS_EMPLOYEE("payments,employee"), + + PAYMENTS_EMPLOYEE_ACCOUNTING_PERIOD("payments,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS("payments,line_items"), + + PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,line_items,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES("payments,line_items,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY("payments,line_items,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT("payments,line_items,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,line_items,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS("payments,line_items,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY("payments,line_items,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT("payments,line_items,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE("payments,line_items,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_COMPANY("payments,line_items,company"), + + PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("payments,line_items,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE("payments,line_items,company,employee"), + + PAYMENTS_LINE_ITEMS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("payments,line_items,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT("payments,line_items,contact"), + + PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("payments,line_items,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,line_items,contact,company"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,line_items,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE("payments,line_items,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE("payments,line_items,contact,employee"), + + PAYMENTS_LINE_ITEMS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("payments,line_items,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_EMPLOYEE("payments,line_items,employee"), + + PAYMENTS_LINE_ITEMS_EMPLOYEE_ACCOUNTING_PERIOD("payments,line_items,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,line_items,purchase_orders"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,line_items,purchase_orders,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,line_items,purchase_orders,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,line_items,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,line_items,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,line_items,purchase_orders,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("payments,line_items,purchase_orders,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("payments,line_items,purchase_orders,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("payments,line_items,purchase_orders,contact"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,line_items,purchase_orders,contact,company"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,purchase_orders,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("payments,line_items,purchase_orders,contact,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE("payments,line_items,purchase_orders,employee"), + + PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,purchase_orders,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("payments,line_items,tracking_categories"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES( + "payments,line_items,tracking_categories,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,line_items,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,line_items,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("payments,line_items,tracking_categories,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("payments,line_items,tracking_categories,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,line_items,tracking_categories,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE("payments,line_items,tracking_categories,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,line_items,tracking_categories,purchase_orders"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( + "payments,line_items,tracking_categories,purchase_orders,contact"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,line_items,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("line_items,tracking_categories,company"), + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,contact,company,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,company,accounting_period"), + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE( + "payments,line_items,tracking_categories,purchase_orders,employee"), + + PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,line_items,tracking_categories,purchase_orders,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS("payments,purchase_orders"), + + PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,purchase_orders,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("payments,purchase_orders,applied_credit_notes"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY("payments,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT("payments,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE("payments,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("payments,purchase_orders,applied_vendor_credits"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY("payments,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT("payments,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,purchase_orders,company"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("payments,purchase_orders,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE("payments,purchase_orders,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,purchase_orders,contact"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("payments,purchase_orders,contact,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,purchase_orders,contact,company"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE("payments,purchase_orders,contact,company,employee"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE("payments,purchase_orders,contact,employee"), + + PAYMENTS_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_PURCHASE_ORDERS_EMPLOYEE("payments,purchase_orders,employee"), + + PAYMENTS_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD("payments,purchase_orders,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES("payments,tracking_categories"), + + PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("payments,tracking_categories,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES("payments,tracking_categories,applied_credit_notes"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY( + "payments,tracking_categories,applied_credit_notes,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT( + "payments,tracking_categories,applied_credit_notes,contact"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,tracking_categories,applied_credit_notes,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,tracking_categories,applied_credit_notes,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS("payments,tracking_categories,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,tracking_categories,company"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("payments,tracking_categories,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE("payments,tracking_categories,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,tracking_categories,contact"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("payments,tracking_categories,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,tracking_categories,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("payments,tracking_categories,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE("payments,tracking_categories,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE("payments,tracking_categories,employee"), + + PAYMENTS_TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD("payments,tracking_categories,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,tracking_categories,purchase_orders"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "payments,tracking_categories,purchase_orders,applied_credit_notes"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_credit_notes,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "payments,tracking_categories,purchase_orders,applied_vendor_credits"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("payments,tracking_categories,purchase_orders,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("payments,tracking_categories,purchase_orders,contact"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( + "payments,tracking_categories,purchase_orders,contact,company"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "payments,tracking_categories,purchase_orders,contact,company,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE( + "payments,tracking_categories,purchase_orders,contact,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,contact,employee,accounting_period"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE("payments,tracking_categories,purchase_orders,employee"), + + PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "payments,tracking_categories,purchase_orders,employee,accounting_period"), + + PURCHASE_ORDERS("purchase_orders"), + + PURCHASE_ORDERS_ACCOUNTING_PERIOD("purchase_orders,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES("purchase_orders,applied_credit_notes"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD("purchase_orders,applied_credit_notes,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "purchase_orders,applied_credit_notes,applied_vendor_credits"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), + + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("line_items,tracking_categories,contact"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "line_items,tracking_categories,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY("purchase_orders,applied_credit_notes,company"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("line_items,tracking_categories,contact,company"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,company,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE("purchase_orders,applied_credit_notes,company,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("line_items,tracking_categories,purchase_orders"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,company,employee,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT("purchase_orders,applied_credit_notes,contact"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("line_items,tracking_categories,purchase_orders,company"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY("purchase_orders,applied_credit_notes,contact,company"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("line_items,tracking_categories,purchase_orders,contact"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,company,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "purchase_orders,applied_credit_notes,contact,company,employee"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "line_items,tracking_categories,purchase_orders,contact,company"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), - LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE("purchase_orders,applied_credit_notes,contact,employee"), - PAYMENTS("payments"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,contact,employee,accounting_period"), - PAYMENTS_ACCOUNTING_PERIOD("payments,accounting_period"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE("purchase_orders,applied_credit_notes,employee"), - PAYMENTS_APPLIED_PAYMENTS("payments,applied_payments"), + PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_credit_notes,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_ACCOUNTING_PERIOD("payments,applied_payments,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS("purchase_orders,applied_vendor_credits"), - PAYMENTS_APPLIED_PAYMENTS_COMPANY("payments,applied_payments,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,applied_payments,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY("purchase_orders,applied_vendor_credits,company"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT("payments,applied_payments,contact"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,applied_payments,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE("purchase_orders,applied_vendor_credits,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY("payments,applied_payments,contact,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT("purchase_orders,applied_vendor_credits,contact"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS("payments,applied_payments,line_items"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,applied_payments,line_items,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY("purchase_orders,applied_vendor_credits,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY("payments,applied_payments,line_items,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "purchase_orders,applied_vendor_credits,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT("payments,applied_payments,line_items,contact"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,contact,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE("purchase_orders,applied_vendor_credits,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,applied_payments,line_items,contact,company"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,contact,company,accounting_period"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE("purchase_orders,applied_vendor_credits,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,applied_payments,line_items,purchase_orders"), + PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,accounting_period"), + PURCHASE_ORDERS_COMPANY("purchase_orders,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY( - "payments,applied_payments,line_items,purchase_orders,company"), + PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("purchase_orders,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,company,accounting_period"), + PURCHASE_ORDERS_COMPANY_EMPLOYEE("purchase_orders,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT( - "payments,applied_payments,line_items,purchase_orders,contact"), + PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("purchase_orders,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,contact,accounting_period"), + PURCHASE_ORDERS_CONTACT("purchase_orders,contact"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,line_items,purchase_orders,contact,company"), + PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("purchase_orders,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,purchase_orders,contact,company,accounting_period"), + PURCHASE_ORDERS_CONTACT_COMPANY("purchase_orders,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES( - "payments,applied_payments,line_items,tracking_categories"), + PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD("purchase_orders,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,accounting_period"), + PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE("purchase_orders,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY( - "payments,applied_payments,line_items,tracking_categories,company"), + PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "purchase_orders,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,company,accounting_period"), + PURCHASE_ORDERS_CONTACT_EMPLOYEE("purchase_orders,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT( - "payments,applied_payments,line_items,tracking_categories,contact"), + PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("purchase_orders,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,contact,accounting_period"), + PURCHASE_ORDERS_EMPLOYEE("purchase_orders,employee"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY( - "payments,applied_payments,line_items,tracking_categories,contact,company"), + PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD("purchase_orders,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES("tracking_categories"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS( - "payments,applied_payments,line_items,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES("tracking_categories,applied_credit_notes"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "tracking_categories,applied_credit_notes,applied_vendor_credits"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS("payments,applied_payments,purchase_orders"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,applied_payments,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,applied_payments,purchase_orders,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,purchase_orders,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES("payments,applied_payments,tracking_categories"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "tracking_categories,applied_credit_notes,applied_vendor_credits,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,applied_payments,tracking_categories,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY("tracking_categories,applied_credit_notes,company"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,applied_payments,tracking_categories,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY( - "payments,applied_payments,tracking_categories,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT("tracking_categories,applied_credit_notes,contact"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS( - "payments,applied_payments,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "tracking_categories,applied_credit_notes,contact,company"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "payments,applied_payments,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,company,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,applied_credit_notes,contact,company,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "payments,applied_payments,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,company,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "tracking_categories,applied_credit_notes,contact,employee"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,applied_payments,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,contact,employee,accounting_period"), - PAYMENTS_APPLIED_PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,applied_payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE("tracking_categories,applied_credit_notes,employee"), - PAYMENTS_COMPANY("payments,company"), + TRACKING_CATEGORIES_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_credit_notes,employee,accounting_period"), - PAYMENTS_COMPANY_ACCOUNTING_PERIOD("payments,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS("tracking_categories,applied_vendor_credits"), - PAYMENTS_CONTACT("payments,contact"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,accounting_period"), - PAYMENTS_CONTACT_ACCOUNTING_PERIOD("payments,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY("tracking_categories,applied_vendor_credits,company"), - PAYMENTS_CONTACT_COMPANY("payments,contact,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,company,accounting_period"), - PAYMENTS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,applied_vendor_credits,company,employee"), - PAYMENTS_LINE_ITEMS("payments,line_items"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_ACCOUNTING_PERIOD("payments,line_items,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT("tracking_categories,applied_vendor_credits,contact"), - PAYMENTS_LINE_ITEMS_COMPANY("payments,line_items,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_LINE_ITEMS_COMPANY_ACCOUNTING_PERIOD("payments,line_items,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,applied_vendor_credits,contact,company"), - PAYMENTS_LINE_ITEMS_CONTACT("payments,line_items,contact"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_LINE_ITEMS_CONTACT_ACCOUNTING_PERIOD("payments,line_items,contact,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,applied_vendor_credits,contact,company,employee"), - PAYMENTS_LINE_ITEMS_CONTACT_COMPANY("payments,line_items,contact,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_CONTACT_COMPANY_ACCOUNTING_PERIOD("payments,line_items,contact,company,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,applied_vendor_credits,contact,employee"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS("payments,line_items,purchase_orders"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,line_items,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE("tracking_categories,applied_vendor_credits,employee"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY("payments,line_items,purchase_orders,company"), + TRACKING_CATEGORIES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT("payments,line_items,purchase_orders,contact"), + TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,line_items,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_COMPANY_EMPLOYEE("tracking_categories,company,employee"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,line_items,purchase_orders,contact,company"), + TRACKING_CATEGORIES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_CONTACT("tracking_categories,contact"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES("payments,line_items,tracking_categories"), + TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("tracking_categories,contact,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,accounting_period"), + TRACKING_CATEGORIES_CONTACT_COMPANY("tracking_categories,contact,company"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY("payments,line_items,tracking_categories,company"), + TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE("tracking_categories,contact,company,employee"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT("payments,line_items,tracking_categories,contact"), + TRACKING_CATEGORIES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,contact,company,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_CONTACT_EMPLOYEE("tracking_categories,contact,employee"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,line_items,tracking_categories,contact,company"), + TRACKING_CATEGORIES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,contact,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_EMPLOYEE("tracking_categories,employee"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,line_items,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_EMPLOYEE_ACCOUNTING_PERIOD("tracking_categories,employee,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS("tracking_categories,purchase_orders"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY( - "payments,line_items,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD("tracking_categories,purchase_orders,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES( + "tracking_categories,purchase_orders,applied_credit_notes"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT( - "payments,line_items,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,line_items,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,accounting_period"), - PAYMENTS_LINE_ITEMS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,line_items,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company"), - PAYMENTS_PURCHASE_ORDERS("payments,purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_ACCOUNTING_PERIOD("payments,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee"), - PAYMENTS_PURCHASE_ORDERS_COMPANY("payments,purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,company,employee,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("payments,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact"), - PAYMENTS_PURCHASE_ORDERS_CONTACT("payments,purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("payments,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company"), - PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY("payments,purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,accounting_period"), - PAYMENTS_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee"), - PAYMENTS_TRACKING_CATEGORIES("payments,tracking_categories"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,company,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_ACCOUNTING_PERIOD("payments,tracking_categories,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee"), - PAYMENTS_TRACKING_CATEGORIES_COMPANY("payments,tracking_categories,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,contact,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("payments,tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT("payments,tracking_categories,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,applied_vendor_credits,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("payments,tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,company"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY("payments,tracking_categories,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,company,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,company,employee"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS("payments,tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,company,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT( + "tracking_categories,purchase_orders,applied_credit_notes,contact"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("payments,tracking_categories,purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("payments,tracking_categories,purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY( - "payments,tracking_categories,purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,company,employee,accounting_period"), - PAYMENTS_TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "payments,tracking_categories,purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,contact,employee"), - PURCHASE_ORDERS("purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,contact,employee,accounting_period"), - PURCHASE_ORDERS_ACCOUNTING_PERIOD("purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE( + "tracking_categories,purchase_orders,applied_credit_notes,employee"), - PURCHASE_ORDERS_COMPANY("purchase_orders,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_CREDIT_NOTES_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_credit_notes,employee,accounting_period"), - PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD("purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS( + "tracking_categories,purchase_orders,applied_vendor_credits"), - PURCHASE_ORDERS_CONTACT("purchase_orders,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,accounting_period"), - PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD("purchase_orders,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY( + "tracking_categories,purchase_orders,applied_vendor_credits,company"), - PURCHASE_ORDERS_CONTACT_COMPANY("purchase_orders,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,company,accounting_period"), - PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD("purchase_orders,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,company,employee"), - TRACKING_CATEGORIES("tracking_categories"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,company,employee,accounting_period"), - TRACKING_CATEGORIES_ACCOUNTING_PERIOD("tracking_categories,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT( + "tracking_categories,purchase_orders,applied_vendor_credits,contact"), - TRACKING_CATEGORIES_COMPANY("tracking_categories,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,accounting_period"), - TRACKING_CATEGORIES_COMPANY_ACCOUNTING_PERIOD("tracking_categories,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company"), - TRACKING_CATEGORIES_CONTACT("tracking_categories,contact"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,accounting_period"), - TRACKING_CATEGORIES_CONTACT_ACCOUNTING_PERIOD("tracking_categories,contact,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee"), - TRACKING_CATEGORIES_CONTACT_COMPANY("tracking_categories,contact,company"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,company,employee,accounting_period"), - TRACKING_CATEGORIES_CONTACT_COMPANY_ACCOUNTING_PERIOD("tracking_categories,contact,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee"), - TRACKING_CATEGORIES_PURCHASE_ORDERS("tracking_categories,purchase_orders"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,contact,employee,accounting_period"), - TRACKING_CATEGORIES_PURCHASE_ORDERS_ACCOUNTING_PERIOD("tracking_categories,purchase_orders,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE( + "tracking_categories,purchase_orders,applied_vendor_credits,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_APPLIED_VENDOR_CREDITS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,applied_vendor_credits,employee,accounting_period"), TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY("tracking_categories,purchase_orders,company"), TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_ACCOUNTING_PERIOD( "tracking_categories,purchase_orders,company,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE("tracking_categories,purchase_orders,company,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,company,employee,accounting_period"), + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT("tracking_categories,purchase_orders,contact"), TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_ACCOUNTING_PERIOD( @@ -624,7 +5746,23 @@ public enum InvoicesRetrieveRequestExpand { TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY("tracking_categories,purchase_orders,contact,company"), TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_ACCOUNTING_PERIOD( - "tracking_categories,purchase_orders,contact,company,accounting_period"); + "tracking_categories,purchase_orders,contact,company,accounting_period"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE( + "tracking_categories,purchase_orders,contact,company,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_COMPANY_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,contact,company,employee,accounting_period"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE("tracking_categories,purchase_orders,contact,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_CONTACT_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,contact,employee,accounting_period"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE("tracking_categories,purchase_orders,employee"), + + TRACKING_CATEGORIES_PURCHASE_ORDERS_EMPLOYEE_ACCOUNTING_PERIOD( + "tracking_categories,purchase_orders,employee,accounting_period"); private final String value; diff --git a/src/main/java/com/merge/api/resources/accounting/linktoken/requests/EndUserDetailsRequest.java b/src/main/java/com/merge/api/resources/accounting/linktoken/requests/EndUserDetailsRequest.java index ae5f07e75..c78f61e4c 100644 --- a/src/main/java/com/merge/api/resources/accounting/linktoken/requests/EndUserDetailsRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/linktoken/requests/EndUserDetailsRequest.java @@ -50,6 +50,8 @@ public final class EndUserDetailsRequest { private final Optional language; + private final Optional areSyncsDisabled; + private final Optional> integrationSpecificConfig; private final Map additionalProperties; @@ -67,6 +69,7 @@ private EndUserDetailsRequest( Optional>>> categoryCommonModelScopes, Optional language, + Optional areSyncsDisabled, Optional> integrationSpecificConfig, Map additionalProperties) { this.endUserEmailAddress = endUserEmailAddress; @@ -80,6 +83,7 @@ private EndUserDetailsRequest( this.commonModels = commonModels; this.categoryCommonModelScopes = categoryCommonModelScopes; this.language = language; + this.areSyncsDisabled = areSyncsDisabled; this.integrationSpecificConfig = integrationSpecificConfig; this.additionalProperties = additionalProperties; } @@ -177,6 +181,14 @@ public Optional getLanguage() { return language; } + /** + * @return The boolean that indicates whether initial, periodic, and force syncs will be disabled. + */ + @JsonProperty("are_syncs_disabled") + public Optional getAreSyncsDisabled() { + return areSyncsDisabled; + } + /** * @return A JSON object containing integration-specific configuration options. */ @@ -208,6 +220,7 @@ private boolean equalTo(EndUserDetailsRequest other) { && commonModels.equals(other.commonModels) && categoryCommonModelScopes.equals(other.categoryCommonModelScopes) && language.equals(other.language) + && areSyncsDisabled.equals(other.areSyncsDisabled) && integrationSpecificConfig.equals(other.integrationSpecificConfig); } @@ -225,6 +238,7 @@ public int hashCode() { this.commonModels, this.categoryCommonModelScopes, this.language, + this.areSyncsDisabled, this.integrationSpecificConfig); } @@ -291,6 +305,10 @@ _FinalStage categoryCommonModelScopes( _FinalStage language(LanguageEnum language); + _FinalStage areSyncsDisabled(Optional areSyncsDisabled); + + _FinalStage areSyncsDisabled(Boolean areSyncsDisabled); + _FinalStage integrationSpecificConfig(Optional> integrationSpecificConfig); _FinalStage integrationSpecificConfig(Map integrationSpecificConfig); @@ -307,6 +325,8 @@ public static final class Builder private Optional> integrationSpecificConfig = Optional.empty(); + private Optional areSyncsDisabled = Optional.empty(); + private Optional language = Optional.empty(); private Optional>>> @@ -342,6 +362,7 @@ public Builder from(EndUserDetailsRequest other) { commonModels(other.getCommonModels()); categoryCommonModelScopes(other.getCategoryCommonModelScopes()); language(other.getLanguage()); + areSyncsDisabled(other.getAreSyncsDisabled()); integrationSpecificConfig(other.getIntegrationSpecificConfig()); return this; } @@ -396,6 +417,23 @@ public _FinalStage integrationSpecificConfig(Optional> int return this; } + /** + *

    The boolean that indicates whether initial, periodic, and force syncs will be disabled.

    + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage areSyncsDisabled(Boolean areSyncsDisabled) { + this.areSyncsDisabled = Optional.of(areSyncsDisabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "are_syncs_disabled", nulls = Nulls.SKIP) + public _FinalStage areSyncsDisabled(Optional areSyncsDisabled) { + this.areSyncsDisabled = areSyncsDisabled; + return this; + } + /** *

    The following subset of IETF language tags can be used to configure localization.

    *
      @@ -564,6 +602,7 @@ public EndUserDetailsRequest build() { commonModels, categoryCommonModelScopes, language, + areSyncsDisabled, integrationSpecificConfig, additionalProperties); } diff --git a/src/main/java/com/merge/api/resources/accounting/types/Account.java b/src/main/java/com/merge/api/resources/accounting/types/Account.java index 4acb38f3e..ebc2c1b00 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/Account.java +++ b/src/main/java/com/merge/api/resources/accounting/types/Account.java @@ -39,6 +39,8 @@ public final class Account { private final Optional type; + private final Optional accountType; + private final Optional status; private final Optional currentBalance; @@ -68,6 +70,7 @@ private Account( Optional description, Optional classification, Optional type, + Optional accountType, Optional status, Optional currentBalance, Optional currency, @@ -86,6 +89,7 @@ private Account( this.description = description; this.classification = classification; this.type = type; + this.accountType = accountType; this.status = status; this.currentBalance = currentBalance; this.currency = currency; @@ -166,6 +170,29 @@ public Optional getType() { return type; } + /** + * @return Normalized account type- which is a narrower and more specific grouping within the account's classification. + *
        + *
      • BANK - BANK
      • + *
      • CREDIT_CARD - CREDIT_CARD
      • + *
      • ACCOUNTS_PAYABLE - ACCOUNTS_PAYABLE
      • + *
      • ACCOUNTS_RECEIVABLE - ACCOUNTS_RECEIVABLE
      • + *
      • FIXED_ASSET - FIXED_ASSET
      • + *
      • OTHER_ASSET - OTHER_ASSET
      • + *
      • OTHER_CURRENT_ASSET - OTHER_CURRENT_ASSET
      • + *
      • OTHER_EXPENSE - OTHER_EXPENSE
      • + *
      • OTHER_INCOME - OTHER_INCOME
      • + *
      • COST_OF_GOODS_SOLD - COST_OF_GOODS_SOLD
      • + *
      • OTHER_CURRENT_LIABILITY - OTHER_CURRENT_LIABILITY
      • + *
      • LONG_TERM_LIABILITY - LONG_TERM_LIABILITY
      • + *
      • NON_POSTING - NON_POSTING
      • + *
      + */ + @JsonProperty("account_type") + public Optional getAccountType() { + return accountType; + } + /** * @return The account's status. *
        @@ -565,6 +592,7 @@ private boolean equalTo(Account other) { && description.equals(other.description) && classification.equals(other.classification) && type.equals(other.type) + && accountType.equals(other.accountType) && status.equals(other.status) && currentBalance.equals(other.currentBalance) && currency.equals(other.currency) @@ -587,6 +615,7 @@ public int hashCode() { this.description, this.classification, this.type, + this.accountType, this.status, this.currentBalance, this.currency, @@ -625,6 +654,8 @@ public static final class Builder { private Optional type = Optional.empty(); + private Optional accountType = Optional.empty(); + private Optional status = Optional.empty(); private Optional currentBalance = Optional.empty(); @@ -657,6 +688,7 @@ public Builder from(Account other) { description(other.getDescription()); classification(other.getClassification()); type(other.getType()); + accountType(other.getAccountType()); status(other.getStatus()); currentBalance(other.getCurrentBalance()); currency(other.getCurrency()); @@ -757,6 +789,17 @@ public Builder type(String type) { return this; } + @JsonSetter(value = "account_type", nulls = Nulls.SKIP) + public Builder accountType(Optional accountType) { + this.accountType = accountType; + return this; + } + + public Builder accountType(AccountAccountType accountType) { + this.accountType = Optional.of(accountType); + return this; + } + @JsonSetter(value = "status", nulls = Nulls.SKIP) public Builder status(Optional status) { this.status = status; @@ -866,6 +909,7 @@ public Account build() { description, classification, type, + accountType, status, currentBalance, currency, diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountAccountType.java b/src/main/java/com/merge/api/resources/accounting/types/AccountAccountType.java new file mode 100644 index 000000000..fbd63a7e8 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/AccountAccountType.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = AccountAccountType.Deserializer.class) +public final class AccountAccountType { + private final Object value; + + private final int type; + + private AccountAccountType(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((AccountAccountTypeEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof AccountAccountType && equalTo((AccountAccountType) other); + } + + private boolean equalTo(AccountAccountType other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static AccountAccountType of(AccountAccountTypeEnum value) { + return new AccountAccountType(value, 0); + } + + public static AccountAccountType of(String value) { + return new AccountAccountType(value, 1); + } + + public interface Visitor { + T visit(AccountAccountTypeEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(AccountAccountType.class); + } + + @java.lang.Override + public AccountAccountType deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, AccountAccountTypeEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountAccountTypeEnum.java b/src/main/java/com/merge/api/resources/accounting/types/AccountAccountTypeEnum.java new file mode 100644 index 000000000..2eb72d204 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/AccountAccountTypeEnum.java @@ -0,0 +1,46 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum AccountAccountTypeEnum { + BANK("BANK"), + + CREDIT_CARD("CREDIT_CARD"), + + ACCOUNTS_PAYABLE("ACCOUNTS_PAYABLE"), + + ACCOUNTS_RECEIVABLE("ACCOUNTS_RECEIVABLE"), + + FIXED_ASSET("FIXED_ASSET"), + + OTHER_ASSET("OTHER_ASSET"), + + OTHER_CURRENT_ASSET("OTHER_CURRENT_ASSET"), + + OTHER_EXPENSE("OTHER_EXPENSE"), + + OTHER_INCOME("OTHER_INCOME"), + + COST_OF_GOODS_SOLD("COST_OF_GOODS_SOLD"), + + OTHER_CURRENT_LIABILITY("OTHER_CURRENT_LIABILITY"), + + LONG_TERM_LIABILITY("LONG_TERM_LIABILITY"), + + NON_POSTING("NON_POSTING"); + + private final String value; + + AccountAccountTypeEnum(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/AccountCurrency.java index de6645475..96ffdddd0 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/AccountCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/AccountCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static AccountCurrency of(CurrencyEnum value) { + public static AccountCurrency of(TransactionCurrencyEnum value) { return new AccountCurrency(value, 0); } @@ -67,7 +67,7 @@ public static AccountCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public AccountCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountRequest.java b/src/main/java/com/merge/api/resources/accounting/types/AccountRequest.java index 67fe5af52..2039eaac0 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/AccountRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/types/AccountRequest.java @@ -29,6 +29,8 @@ public final class AccountRequest { private final Optional type; + private final Optional accountType; + private final Optional status; private final Optional currentBalance; @@ -52,6 +54,7 @@ private AccountRequest( Optional description, Optional classification, Optional type, + Optional accountType, Optional status, Optional currentBalance, Optional currency, @@ -65,6 +68,7 @@ private AccountRequest( this.description = description; this.classification = classification; this.type = type; + this.accountType = accountType; this.status = status; this.currentBalance = currentBalance; this.currency = currency; @@ -115,6 +119,29 @@ public Optional getType() { return type; } + /** + * @return Normalized account type- which is a narrower and more specific grouping within the account's classification. + *
          + *
        • BANK - BANK
        • + *
        • CREDIT_CARD - CREDIT_CARD
        • + *
        • ACCOUNTS_PAYABLE - ACCOUNTS_PAYABLE
        • + *
        • ACCOUNTS_RECEIVABLE - ACCOUNTS_RECEIVABLE
        • + *
        • FIXED_ASSET - FIXED_ASSET
        • + *
        • OTHER_ASSET - OTHER_ASSET
        • + *
        • OTHER_CURRENT_ASSET - OTHER_CURRENT_ASSET
        • + *
        • OTHER_EXPENSE - OTHER_EXPENSE
        • + *
        • OTHER_INCOME - OTHER_INCOME
        • + *
        • COST_OF_GOODS_SOLD - COST_OF_GOODS_SOLD
        • + *
        • OTHER_CURRENT_LIABILITY - OTHER_CURRENT_LIABILITY
        • + *
        • LONG_TERM_LIABILITY - LONG_TERM_LIABILITY
        • + *
        • NON_POSTING - NON_POSTING
        • + *
        + */ + @JsonProperty("account_type") + public Optional getAccountType() { + return accountType; + } + /** * @return The account's status. *
          @@ -502,6 +529,7 @@ private boolean equalTo(AccountRequest other) { && description.equals(other.description) && classification.equals(other.classification) && type.equals(other.type) + && accountType.equals(other.accountType) && status.equals(other.status) && currentBalance.equals(other.currentBalance) && currency.equals(other.currency) @@ -519,6 +547,7 @@ public int hashCode() { this.description, this.classification, this.type, + this.accountType, this.status, this.currentBalance, this.currency, @@ -548,6 +577,8 @@ public static final class Builder { private Optional type = Optional.empty(); + private Optional accountType = Optional.empty(); + private Optional status = Optional.empty(); private Optional currentBalance = Optional.empty(); @@ -574,6 +605,7 @@ public Builder from(AccountRequest other) { description(other.getDescription()); classification(other.getClassification()); type(other.getType()); + accountType(other.getAccountType()); status(other.getStatus()); currentBalance(other.getCurrentBalance()); currency(other.getCurrency()); @@ -629,6 +661,17 @@ public Builder type(String type) { return this; } + @JsonSetter(value = "account_type", nulls = Nulls.SKIP) + public Builder accountType(Optional accountType) { + this.accountType = accountType; + return this; + } + + public Builder accountType(AccountRequestAccountType accountType) { + this.accountType = Optional.of(accountType); + return this; + } + @JsonSetter(value = "status", nulls = Nulls.SKIP) public Builder status(Optional status) { this.status = status; @@ -723,6 +766,7 @@ public AccountRequest build() { description, classification, type, + accountType, status, currentBalance, currency, diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountRequestAccountType.java b/src/main/java/com/merge/api/resources/accounting/types/AccountRequestAccountType.java new file mode 100644 index 000000000..db7767408 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/AccountRequestAccountType.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = AccountRequestAccountType.Deserializer.class) +public final class AccountRequestAccountType { + private final Object value; + + private final int type; + + private AccountRequestAccountType(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((AccountAccountTypeEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof AccountRequestAccountType && equalTo((AccountRequestAccountType) other); + } + + private boolean equalTo(AccountRequestAccountType other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static AccountRequestAccountType of(AccountAccountTypeEnum value) { + return new AccountRequestAccountType(value, 0); + } + + public static AccountRequestAccountType of(String value) { + return new AccountRequestAccountType(value, 1); + } + + public interface Visitor { + T visit(AccountAccountTypeEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(AccountRequestAccountType.class); + } + + @java.lang.Override + public AccountRequestAccountType deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, AccountAccountTypeEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/AccountRequestCurrency.java index b9dd198ca..f5675288f 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/AccountRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/AccountRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static AccountRequestCurrency of(CurrencyEnum value) { + public static AccountRequestCurrency of(TransactionCurrencyEnum value) { return new AccountRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static AccountRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer public AccountRequestCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountingPeriodStatus.java b/src/main/java/com/merge/api/resources/accounting/types/AccountingPeriodStatus.java index 88d1e3c99..fcc6cab69 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/AccountingPeriodStatus.java +++ b/src/main/java/com/merge/api/resources/accounting/types/AccountingPeriodStatus.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((AccountingPeriodStatusEnum) this.value); + return visitor.visit((Status895Enum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static AccountingPeriodStatus of(AccountingPeriodStatusEnum value) { + public static AccountingPeriodStatus of(Status895Enum value) { return new AccountingPeriodStatus(value, 0); } @@ -67,7 +67,7 @@ public static AccountingPeriodStatus of(String value) { } public interface Visitor { - T visit(AccountingPeriodStatusEnum value); + T visit(Status895Enum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer public AccountingPeriodStatus deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, AccountingPeriodStatusEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Status895Enum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTask.java b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTask.java new file mode 100644 index 000000000..dcb156f91 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTask.java @@ -0,0 +1,124 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = AsyncPostTask.Builder.class) +public final class AsyncPostTask { + private final AsyncPostTaskStatus status; + + private final AsyncPostTaskResult result; + + private final Map additionalProperties; + + private AsyncPostTask( + AsyncPostTaskStatus status, AsyncPostTaskResult result, Map additionalProperties) { + this.status = status; + this.result = result; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("status") + public AsyncPostTaskStatus getStatus() { + return status; + } + + @JsonProperty("result") + public AsyncPostTaskResult getResult() { + return result; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof AsyncPostTask && equalTo((AsyncPostTask) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(AsyncPostTask other) { + return status.equals(other.status) && result.equals(other.result); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.status, this.result); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static StatusStage builder() { + return new Builder(); + } + + public interface StatusStage { + ResultStage status(AsyncPostTaskStatus status); + + Builder from(AsyncPostTask other); + } + + public interface ResultStage { + _FinalStage result(AsyncPostTaskResult result); + } + + public interface _FinalStage { + AsyncPostTask build(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements StatusStage, ResultStage, _FinalStage { + private AsyncPostTaskStatus status; + + private AsyncPostTaskResult result; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(AsyncPostTask other) { + status(other.getStatus()); + result(other.getResult()); + return this; + } + + @java.lang.Override + @JsonSetter("status") + public ResultStage status(AsyncPostTaskStatus status) { + this.status = status; + return this; + } + + @java.lang.Override + @JsonSetter("result") + public _FinalStage result(AsyncPostTaskResult result) { + this.result = result; + return this; + } + + @java.lang.Override + public AsyncPostTask build() { + return new AsyncPostTask(status, result, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskResult.java b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskResult.java new file mode 100644 index 000000000..a9ae3ed51 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskResult.java @@ -0,0 +1,121 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = AsyncPostTaskResult.Builder.class) +public final class AsyncPostTaskResult { + private final Optional statusCode; + + private final Optional> response; + + private final Map additionalProperties; + + private AsyncPostTaskResult( + Optional statusCode, + Optional> response, + Map additionalProperties) { + this.statusCode = statusCode; + this.response = response; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("status_code") + public Optional getStatusCode() { + return statusCode; + } + + @JsonProperty("response") + public Optional> getResponse() { + return response; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof AsyncPostTaskResult && equalTo((AsyncPostTaskResult) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(AsyncPostTaskResult other) { + return statusCode.equals(other.statusCode) && response.equals(other.response); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.statusCode, this.response); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional statusCode = Optional.empty(); + + private Optional> response = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(AsyncPostTaskResult other) { + statusCode(other.getStatusCode()); + response(other.getResponse()); + return this; + } + + @JsonSetter(value = "status_code", nulls = Nulls.SKIP) + public Builder statusCode(Optional statusCode) { + this.statusCode = statusCode; + return this; + } + + public Builder statusCode(Integer statusCode) { + this.statusCode = Optional.of(statusCode); + return this; + } + + @JsonSetter(value = "response", nulls = Nulls.SKIP) + public Builder response(Optional> response) { + this.response = response; + return this; + } + + public Builder response(Map response) { + this.response = Optional.of(response); + return this; + } + + public AsyncPostTaskResult build() { + return new AsyncPostTaskResult(statusCode, response, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskStatus.java b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskStatus.java new file mode 100644 index 000000000..ee8c3bf18 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskStatus.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = AsyncPostTaskStatus.Deserializer.class) +public final class AsyncPostTaskStatus { + private final Object value; + + private final int type; + + private AsyncPostTaskStatus(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((AsyncPostTaskStatusEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof AsyncPostTaskStatus && equalTo((AsyncPostTaskStatus) other); + } + + private boolean equalTo(AsyncPostTaskStatus other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static AsyncPostTaskStatus of(AsyncPostTaskStatusEnum value) { + return new AsyncPostTaskStatus(value, 0); + } + + public static AsyncPostTaskStatus of(String value) { + return new AsyncPostTaskStatus(value, 1); + } + + public interface Visitor { + T visit(AsyncPostTaskStatusEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(AsyncPostTaskStatus.class); + } + + @java.lang.Override + public AsyncPostTaskStatus deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, AsyncPostTaskStatusEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsCollaboratorsListRequestExpand.java b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskStatusEnum.java similarity index 55% rename from src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsCollaboratorsListRequestExpand.java rename to src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskStatusEnum.java index 821fff4fc..d87b7bad9 100644 --- a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsCollaboratorsListRequestExpand.java +++ b/src/main/java/com/merge/api/resources/accounting/types/AsyncPostTaskStatusEnum.java @@ -1,20 +1,22 @@ /** * This file was auto-generated by Fern from our API Definition. */ -package com.merge.api.resources.ticketing.tickets.types; +package com.merge.api.resources.accounting.types; import com.fasterxml.jackson.annotation.JsonValue; -public enum TicketsCollaboratorsListRequestExpand { - ROLES("roles"), +public enum AsyncPostTaskStatusEnum { + QUEUED("QUEUED"), - TEAMS("teams"), + IN_PROGRESS("IN_PROGRESS"), - TEAMS_ROLES("teams,roles"); + COMPLETED("COMPLETED"), + + FAILURE("FAILURE"); private final String value; - TicketsCollaboratorsListRequestExpand(String value) { + AsyncPostTaskStatusEnum(String value) { this.value = value; } diff --git a/src/main/java/com/merge/api/resources/accounting/types/AuditLogEvent.java b/src/main/java/com/merge/api/resources/accounting/types/AuditLogEvent.java index 3ef1933fd..13d8a32cd 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/AuditLogEvent.java +++ b/src/main/java/com/merge/api/resources/accounting/types/AuditLogEvent.java @@ -136,6 +136,9 @@ public String getIpAddress() { *
        • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
        • *
        • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
        • *
        • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
        • + *
        • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
        • + *
        • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
        • + *
        • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
        • *
        • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
        • *
        • MUTED_ISSUE - MUTED_ISSUE
        • *
        • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
        • @@ -339,6 +342,9 @@ public EventTypeStage ipAddress(String ipAddress) { *
        • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
        • *
        • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
        • *
        • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
        • + *
        • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
        • + *
        • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
        • + *
        • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
        • *
        • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
        • *
        • MUTED_ISSUE - MUTED_ISSUE
        • *
        • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
        • diff --git a/src/main/java/com/merge/api/resources/accounting/types/BalanceSheetCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/BalanceSheetCurrency.java index 28dff1d4b..4f67911de 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/BalanceSheetCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/BalanceSheetCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static BalanceSheetCurrency of(CurrencyEnum value) { + public static BalanceSheetCurrency of(TransactionCurrencyEnum value) { return new BalanceSheetCurrency(value, 0); } @@ -67,7 +67,7 @@ public static BalanceSheetCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public BalanceSheetCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccount.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccount.java new file mode 100644 index 000000000..59a7403af --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccount.java @@ -0,0 +1,877 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedAccount.Builder.class) +public final class BankFeedAccount { + private final Optional id; + + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional sourceAccountId; + + private final Optional targetAccountId; + + private final Optional sourceAccountName; + + private final Optional sourceAccountNumber; + + private final Optional targetAccountName; + + private final Optional currency; + + private final Optional feedStatus; + + private final Optional feedStartDate; + + private final Optional sourceAccountBalance; + + private final Optional accountType; + + private final Optional remoteWasDeleted; + + private final Optional> fieldMappings; + + private final Optional>>> remoteData; + + private final Map additionalProperties; + + private BankFeedAccount( + Optional id, + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional sourceAccountId, + Optional targetAccountId, + Optional sourceAccountName, + Optional sourceAccountNumber, + Optional targetAccountName, + Optional currency, + Optional feedStatus, + Optional feedStartDate, + Optional sourceAccountBalance, + Optional accountType, + Optional remoteWasDeleted, + Optional> fieldMappings, + Optional>>> remoteData, + Map additionalProperties) { + this.id = id; + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.sourceAccountId = sourceAccountId; + this.targetAccountId = targetAccountId; + this.sourceAccountName = sourceAccountName; + this.sourceAccountNumber = sourceAccountNumber; + this.targetAccountName = targetAccountName; + this.currency = currency; + this.feedStatus = feedStatus; + this.feedStartDate = feedStartDate; + this.sourceAccountBalance = sourceAccountBalance; + this.accountType = accountType; + this.remoteWasDeleted = remoteWasDeleted; + this.fieldMappings = fieldMappings; + this.remoteData = remoteData; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + /** + * @return The unique identifier of the source account from our customer’s platform. + */ + @JsonProperty("source_account_id") + public Optional getSourceAccountId() { + return sourceAccountId; + } + + /** + * @return The unique identifier of the target account from the third party software. + */ + @JsonProperty("target_account_id") + public Optional getTargetAccountId() { + return targetAccountId; + } + + /** + * @return The name of the source account as stored in our customer’s platform. + */ + @JsonProperty("source_account_name") + public Optional getSourceAccountName() { + return sourceAccountName; + } + + /** + * @return The human-readable account number of the source account as stored in our customer’s platform. + */ + @JsonProperty("source_account_number") + public Optional getSourceAccountNumber() { + return sourceAccountNumber; + } + + /** + * @return The name of the target account from the third party software. + */ + @JsonProperty("target_account_name") + public Optional getTargetAccountName() { + return targetAccountName; + } + + /** + * @return The currency code of the bank feed. + *
            + *
          • XUA - ADB Unit of Account
          • + *
          • AFN - Afghan Afghani
          • + *
          • AFA - Afghan Afghani (1927–2002)
          • + *
          • ALL - Albanian Lek
          • + *
          • ALK - Albanian Lek (1946–1965)
          • + *
          • DZD - Algerian Dinar
          • + *
          • ADP - Andorran Peseta
          • + *
          • AOA - Angolan Kwanza
          • + *
          • AOK - Angolan Kwanza (1977–1991)
          • + *
          • AON - Angolan New Kwanza (1990–2000)
          • + *
          • AOR - Angolan Readjusted Kwanza (1995–1999)
          • + *
          • ARA - Argentine Austral
          • + *
          • ARS - Argentine Peso
          • + *
          • ARM - Argentine Peso (1881–1970)
          • + *
          • ARP - Argentine Peso (1983–1985)
          • + *
          • ARL - Argentine Peso Ley (1970–1983)
          • + *
          • AMD - Armenian Dram
          • + *
          • AWG - Aruban Florin
          • + *
          • AUD - Australian Dollar
          • + *
          • ATS - Austrian Schilling
          • + *
          • AZN - Azerbaijani Manat
          • + *
          • AZM - Azerbaijani Manat (1993–2006)
          • + *
          • BSD - Bahamian Dollar
          • + *
          • BHD - Bahraini Dinar
          • + *
          • BDT - Bangladeshi Taka
          • + *
          • BBD - Barbadian Dollar
          • + *
          • BYN - Belarusian Ruble
          • + *
          • BYB - Belarusian Ruble (1994–1999)
          • + *
          • BYR - Belarusian Ruble (2000–2016)
          • + *
          • BEF - Belgian Franc
          • + *
          • BEC - Belgian Franc (convertible)
          • + *
          • BEL - Belgian Franc (financial)
          • + *
          • BZD - Belize Dollar
          • + *
          • BMD - Bermudan Dollar
          • + *
          • BTN - Bhutanese Ngultrum
          • + *
          • BOB - Bolivian Boliviano
          • + *
          • BOL - Bolivian Boliviano (1863–1963)
          • + *
          • BOV - Bolivian Mvdol
          • + *
          • BOP - Bolivian Peso
          • + *
          • BAM - Bosnia-Herzegovina Convertible Mark
          • + *
          • BAD - Bosnia-Herzegovina Dinar (1992–1994)
          • + *
          • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
          • + *
          • BWP - Botswanan Pula
          • + *
          • BRC - 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 Real
          • + *
          • GBP - British Pound
          • + *
          • BND - Brunei Dollar
          • + *
          • BGL - Bulgarian Hard Lev
          • + *
          • BGN - Bulgarian Lev
          • + *
          • BGO - Bulgarian Lev (1879–1952)
          • + *
          • BGM - Bulgarian Socialist Lev
          • + *
          • BUK - Burmese Kyat
          • + *
          • BIF - Burundian Franc
          • + *
          • XPF - CFP Franc
          • + *
          • KHR - Cambodian Riel
          • + *
          • CAD - Canadian Dollar
          • + *
          • CVE - Cape Verdean Escudo
          • + *
          • KYD - Cayman Islands Dollar
          • + *
          • XAF - Central African CFA Franc
          • + *
          • CLE - Chilean Escudo
          • + *
          • CLP - Chilean Peso
          • + *
          • CLF - Chilean Unit of Account (UF)
          • + *
          • CNX - Chinese People’s Bank Dollar
          • + *
          • CNY - Chinese Yuan
          • + *
          • CNH - Chinese Yuan (offshore)
          • + *
          • COP - Colombian Peso
          • + *
          • COU - Colombian Real Value Unit
          • + *
          • KMF - Comorian Franc
          • + *
          • CDF - Congolese Franc
          • + *
          • CRC - Costa Rican Colón
          • + *
          • HRD - Croatian Dinar
          • + *
          • HRK - Croatian Kuna
          • + *
          • CUC - Cuban Convertible Peso
          • + *
          • CUP - Cuban Peso
          • + *
          • CYP - Cypriot Pound
          • + *
          • CZK - Czech Koruna
          • + *
          • CSK - Czechoslovak Hard Koruna
          • + *
          • DKK - Danish Krone
          • + *
          • DJF - Djiboutian Franc
          • + *
          • DOP - Dominican Peso
          • + *
          • NLG - Dutch Guilder
          • + *
          • XCD - East Caribbean Dollar
          • + *
          • DDM - East German Mark
          • + *
          • ECS - Ecuadorian Sucre
          • + *
          • ECV - Ecuadorian Unit of Constant Value
          • + *
          • EGP - Egyptian Pound
          • + *
          • GQE - Equatorial Guinean Ekwele
          • + *
          • ERN - Eritrean Nakfa
          • + *
          • EEK - Estonian Kroon
          • + *
          • ETB - Ethiopian Birr
          • + *
          • EUR - Euro
          • + *
          • XBA - European Composite Unit
          • + *
          • XEU - European Currency Unit
          • + *
          • XBB - European Monetary Unit
          • + *
          • XBC - European Unit of Account (XBC)
          • + *
          • XBD - European Unit of Account (XBD)
          • + *
          • FKP - Falkland Islands Pound
          • + *
          • FJD - Fijian Dollar
          • + *
          • FIM - Finnish Markka
          • + *
          • FRF - French Franc
          • + *
          • XFO - French Gold Franc
          • + *
          • XFU - French UIC-Franc
          • + *
          • GMD - Gambian Dalasi
          • + *
          • GEK - Georgian Kupon Larit
          • + *
          • GEL - Georgian Lari
          • + *
          • DEM - German Mark
          • + *
          • GHS - Ghanaian Cedi
          • + *
          • GHC - Ghanaian Cedi (1979–2007)
          • + *
          • GIP - Gibraltar Pound
          • + *
          • XAU - Gold
          • + *
          • GRD - Greek Drachma
          • + *
          • GTQ - Guatemalan Quetzal
          • + *
          • GWP - Guinea-Bissau Peso
          • + *
          • GNF - Guinean Franc
          • + *
          • GNS - Guinean Syli
          • + *
          • GYD - Guyanaese Dollar
          • + *
          • HTG - Haitian Gourde
          • + *
          • HNL - Honduran Lempira
          • + *
          • HKD - Hong Kong Dollar
          • + *
          • HUF - Hungarian Forint
          • + *
          • IMP - IMP
          • + *
          • ISK - Icelandic Króna
          • + *
          • ISJ - Icelandic Króna (1918–1981)
          • + *
          • INR - Indian Rupee
          • + *
          • IDR - Indonesian Rupiah
          • + *
          • IRR - Iranian Rial
          • + *
          • IQD - Iraqi Dinar
          • + *
          • IEP - Irish Pound
          • + *
          • ILS - Israeli New Shekel
          • + *
          • ILP - Israeli Pound
          • + *
          • ILR - Israeli Shekel (1980–1985)
          • + *
          • ITL - Italian Lira
          • + *
          • JMD - Jamaican Dollar
          • + *
          • JPY - Japanese Yen
          • + *
          • JOD - Jordanian Dinar
          • + *
          • KZT - Kazakhstani Tenge
          • + *
          • KES - Kenyan Shilling
          • + *
          • KWD - Kuwaiti Dinar
          • + *
          • KGS - Kyrgystani Som
          • + *
          • LAK - Laotian Kip
          • + *
          • LVL - Latvian Lats
          • + *
          • LVR - Latvian Ruble
          • + *
          • LBP - Lebanese Pound
          • + *
          • LSL - Lesotho Loti
          • + *
          • LRD - Liberian Dollar
          • + *
          • LYD - Libyan Dinar
          • + *
          • LTL - Lithuanian Litas
          • + *
          • LTT - Lithuanian Talonas
          • + *
          • LUL - Luxembourg Financial Franc
          • + *
          • LUC - Luxembourgian Convertible Franc
          • + *
          • LUF - Luxembourgian Franc
          • + *
          • MOP - Macanese Pataca
          • + *
          • MKD - Macedonian Denar
          • + *
          • MKN - Macedonian Denar (1992–1993)
          • + *
          • MGA - Malagasy Ariary
          • + *
          • MGF - Malagasy Franc
          • + *
          • MWK - Malawian Kwacha
          • + *
          • MYR - Malaysian Ringgit
          • + *
          • MVR - Maldivian Rufiyaa
          • + *
          • MVP - Maldivian Rupee (1947–1981)
          • + *
          • MLF - Malian Franc
          • + *
          • MTL - Maltese Lira
          • + *
          • MTP - Maltese Pound
          • + *
          • MRU - Mauritanian Ouguiya
          • + *
          • MRO - Mauritanian Ouguiya (1973–2017)
          • + *
          • MUR - Mauritian Rupee
          • + *
          • MXV - Mexican Investment Unit
          • + *
          • MXN - Mexican Peso
          • + *
          • MXP - Mexican Silver Peso (1861–1992)
          • + *
          • MDC - Moldovan Cupon
          • + *
          • MDL - Moldovan Leu
          • + *
          • MCF - Monegasque Franc
          • + *
          • MNT - Mongolian Tugrik
          • + *
          • MAD - Moroccan Dirham
          • + *
          • MAF - Moroccan Franc
          • + *
          • MZE - Mozambican Escudo
          • + *
          • MZN - Mozambican Metical
          • + *
          • MZM - Mozambican Metical (1980–2006)
          • + *
          • MMK - Myanmar Kyat
          • + *
          • NAD - Namibian Dollar
          • + *
          • NPR - Nepalese Rupee
          • + *
          • ANG - Netherlands Antillean Guilder
          • + *
          • TWD - New Taiwan Dollar
          • + *
          • NZD - New Zealand Dollar
          • + *
          • NIO - Nicaraguan Córdoba
          • + *
          • NIC - Nicaraguan Córdoba (1988–1991)
          • + *
          • NGN - Nigerian Naira
          • + *
          • KPW - North Korean Won
          • + *
          • NOK - Norwegian Krone
          • + *
          • OMR - Omani Rial
          • + *
          • PKR - Pakistani Rupee
          • + *
          • XPD - Palladium
          • + *
          • PAB - Panamanian Balboa
          • + *
          • PGK - Papua New Guinean Kina
          • + *
          • PYG - Paraguayan Guarani
          • + *
          • PEI - Peruvian Inti
          • + *
          • PEN - Peruvian Sol
          • + *
          • PES - Peruvian Sol (1863–1965)
          • + *
          • PHP - Philippine Peso
          • + *
          • XPT - Platinum
          • + *
          • PLN - Polish Zloty
          • + *
          • PLZ - Polish Zloty (1950–1995)
          • + *
          • PTE - Portuguese Escudo
          • + *
          • GWE - Portuguese Guinea Escudo
          • + *
          • QAR - Qatari Rial
          • + *
          • XRE - RINET Funds
          • + *
          • RHD - Rhodesian Dollar
          • + *
          • RON - Romanian Leu
          • + *
          • ROL - Romanian Leu (1952–2006)
          • + *
          • RUB - Russian Ruble
          • + *
          • RUR - Russian Ruble (1991–1998)
          • + *
          • RWF - Rwandan Franc
          • + *
          • SVC - Salvadoran Colón
          • + *
          • WST - Samoan Tala
          • + *
          • SAR - Saudi Riyal
          • + *
          • RSD - Serbian Dinar
          • + *
          • CSD - Serbian Dinar (2002–2006)
          • + *
          • SCR - Seychellois Rupee
          • + *
          • SLL - Sierra Leonean Leone
          • + *
          • XAG - Silver
          • + *
          • SGD - Singapore Dollar
          • + *
          • SKK - Slovak Koruna
          • + *
          • SIT - Slovenian Tolar
          • + *
          • SBD - Solomon Islands Dollar
          • + *
          • SOS - Somali Shilling
          • + *
          • ZAR - South African Rand
          • + *
          • ZAL - South African Rand (financial)
          • + *
          • KRH - South Korean Hwan (1953–1962)
          • + *
          • KRW - South Korean Won
          • + *
          • KRO - South Korean Won (1945–1953)
          • + *
          • SSP - South Sudanese Pound
          • + *
          • SUR - Soviet Rouble
          • + *
          • ESP - Spanish Peseta
          • + *
          • ESA - Spanish Peseta (A account)
          • + *
          • ESB - Spanish Peseta (convertible account)
          • + *
          • XDR - Special Drawing Rights
          • + *
          • LKR - Sri Lankan Rupee
          • + *
          • SHP - St. Helena Pound
          • + *
          • XSU - Sucre
          • + *
          • SDD - Sudanese Dinar (1992–2007)
          • + *
          • SDG - Sudanese Pound
          • + *
          • SDP - Sudanese Pound (1957–1998)
          • + *
          • SRD - Surinamese Dollar
          • + *
          • SRG - Surinamese Guilder
          • + *
          • SZL - Swazi Lilangeni
          • + *
          • SEK - Swedish Krona
          • + *
          • CHF - Swiss Franc
          • + *
          • SYP - Syrian Pound
          • + *
          • STN - São Tomé & Príncipe Dobra
          • + *
          • STD - São Tomé & Príncipe Dobra (1977–2017)
          • + *
          • TVD - TVD
          • + *
          • TJR - Tajikistani Ruble
          • + *
          • TJS - Tajikistani Somoni
          • + *
          • TZS - Tanzanian Shilling
          • + *
          • XTS - Testing Currency Code
          • + *
          • THB - Thai Baht
          • + *
          • XXX - The codes assigned for transactions where no currency is involved
          • + *
          • TPE - Timorese Escudo
          • + *
          • TOP - Tongan Paʻanga
          • + *
          • TTD - Trinidad & Tobago Dollar
          • + *
          • TND - Tunisian Dinar
          • + *
          • TRY - Turkish Lira
          • + *
          • TRL - Turkish Lira (1922–2005)
          • + *
          • TMT - Turkmenistani Manat
          • + *
          • TMM - Turkmenistani Manat (1993–2009)
          • + *
          • USD - US Dollar
          • + *
          • USN - US Dollar (Next day)
          • + *
          • USS - US Dollar (Same day)
          • + *
          • UGX - Ugandan Shilling
          • + *
          • UGS - Ugandan Shilling (1966–1987)
          • + *
          • UAH - Ukrainian Hryvnia
          • + *
          • UAK - Ukrainian Karbovanets
          • + *
          • AED - United Arab Emirates Dirham
          • + *
          • UYW - Uruguayan Nominal Wage Index Unit
          • + *
          • UYU - Uruguayan Peso
          • + *
          • UYP - Uruguayan Peso (1975–1993)
          • + *
          • UYI - Uruguayan Peso (Indexed Units)
          • + *
          • UZS - Uzbekistani Som
          • + *
          • VUV - Vanuatu Vatu
          • + *
          • VES - Venezuelan Bolívar
          • + *
          • VEB - Venezuelan Bolívar (1871–2008)
          • + *
          • VEF - Venezuelan Bolívar (2008–2018)
          • + *
          • VND - Vietnamese Dong
          • + *
          • VNN - Vietnamese Dong (1978–1985)
          • + *
          • CHE - WIR Euro
          • + *
          • CHW - WIR Franc
          • + *
          • XOF - West African CFA Franc
          • + *
          • YDD - Yemeni Dinar
          • + *
          • YER - Yemeni Rial
          • + *
          • YUN - Yugoslavian Convertible Dinar (1990–1992)
          • + *
          • YUD - Yugoslavian Hard Dinar (1966–1990)
          • + *
          • YUM - Yugoslavian New Dinar (1994–2002)
          • + *
          • YUR - Yugoslavian Reformed Dinar (1992–1993)
          • + *
          • ZWN - ZWN
          • + *
          • ZRN - Zairean New Zaire (1993–1998)
          • + *
          • ZRZ - Zairean Zaire (1971–1993)
          • + *
          • ZMW - Zambian Kwacha
          • + *
          • ZMK - Zambian Kwacha (1968–2012)
          • + *
          • ZWD - Zimbabwean Dollar (1980–2008)
          • + *
          • ZWR - Zimbabwean Dollar (2008)
          • + *
          • ZWL - Zimbabwean Dollar (2009)
          • + *
          + */ + @JsonProperty("currency") + public Optional getCurrency() { + return currency; + } + + /** + * @return The status of the bank feed. + *
            + *
          • ACTIVE - ACTIVE
          • + *
          • INACTIVE - INACTIVE
          • + *
          + */ + @JsonProperty("feed_status") + public Optional getFeedStatus() { + return feedStatus; + } + + /** + * @return The start date of the bank feed’s transactions. + */ + @JsonProperty("feed_start_date") + public Optional getFeedStartDate() { + return feedStartDate; + } + + /** + * @return The current balance of funds in the source account. + */ + @JsonProperty("source_account_balance") + public Optional getSourceAccountBalance() { + return sourceAccountBalance; + } + + /** + * @return The type of the account. + *
            + *
          • BANK - BANK
          • + *
          • CREDIT_CARD - CREDIT_CARD
          • + *
          + */ + @JsonProperty("account_type") + public Optional getAccountType() { + return accountType; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @JsonProperty("field_mappings") + public Optional> getFieldMappings() { + return fieldMappings; + } + + @JsonProperty("remote_data") + public Optional>>> getRemoteData() { + return remoteData; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccount && equalTo((BankFeedAccount) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedAccount other) { + return id.equals(other.id) + && remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && sourceAccountId.equals(other.sourceAccountId) + && targetAccountId.equals(other.targetAccountId) + && sourceAccountName.equals(other.sourceAccountName) + && sourceAccountNumber.equals(other.sourceAccountNumber) + && targetAccountName.equals(other.targetAccountName) + && currency.equals(other.currency) + && feedStatus.equals(other.feedStatus) + && feedStartDate.equals(other.feedStartDate) + && sourceAccountBalance.equals(other.sourceAccountBalance) + && accountType.equals(other.accountType) + && remoteWasDeleted.equals(other.remoteWasDeleted) + && fieldMappings.equals(other.fieldMappings) + && remoteData.equals(other.remoteData); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.remoteId, + this.createdAt, + this.modifiedAt, + this.sourceAccountId, + this.targetAccountId, + this.sourceAccountName, + this.sourceAccountNumber, + this.targetAccountName, + this.currency, + this.feedStatus, + this.feedStartDate, + this.sourceAccountBalance, + this.accountType, + this.remoteWasDeleted, + this.fieldMappings, + this.remoteData); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional id = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional sourceAccountId = Optional.empty(); + + private Optional targetAccountId = Optional.empty(); + + private Optional sourceAccountName = Optional.empty(); + + private Optional sourceAccountNumber = Optional.empty(); + + private Optional targetAccountName = Optional.empty(); + + private Optional currency = Optional.empty(); + + private Optional feedStatus = Optional.empty(); + + private Optional feedStartDate = Optional.empty(); + + private Optional sourceAccountBalance = Optional.empty(); + + private Optional accountType = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + private Optional> fieldMappings = Optional.empty(); + + private Optional>>> remoteData = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedAccount other) { + id(other.getId()); + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + sourceAccountId(other.getSourceAccountId()); + targetAccountId(other.getTargetAccountId()); + sourceAccountName(other.getSourceAccountName()); + sourceAccountNumber(other.getSourceAccountNumber()); + targetAccountName(other.getTargetAccountName()); + currency(other.getCurrency()); + feedStatus(other.getFeedStatus()); + feedStartDate(other.getFeedStartDate()); + sourceAccountBalance(other.getSourceAccountBalance()); + accountType(other.getAccountType()); + remoteWasDeleted(other.getRemoteWasDeleted()); + fieldMappings(other.getFieldMappings()); + remoteData(other.getRemoteData()); + return this; + } + + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public Builder id(Optional id) { + this.id = id; + return this; + } + + public Builder id(String id) { + this.id = Optional.of(id); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "source_account_id", nulls = Nulls.SKIP) + public Builder sourceAccountId(Optional sourceAccountId) { + this.sourceAccountId = sourceAccountId; + return this; + } + + public Builder sourceAccountId(String sourceAccountId) { + this.sourceAccountId = Optional.of(sourceAccountId); + return this; + } + + @JsonSetter(value = "target_account_id", nulls = Nulls.SKIP) + public Builder targetAccountId(Optional targetAccountId) { + this.targetAccountId = targetAccountId; + return this; + } + + public Builder targetAccountId(String targetAccountId) { + this.targetAccountId = Optional.of(targetAccountId); + return this; + } + + @JsonSetter(value = "source_account_name", nulls = Nulls.SKIP) + public Builder sourceAccountName(Optional sourceAccountName) { + this.sourceAccountName = sourceAccountName; + return this; + } + + public Builder sourceAccountName(String sourceAccountName) { + this.sourceAccountName = Optional.of(sourceAccountName); + return this; + } + + @JsonSetter(value = "source_account_number", nulls = Nulls.SKIP) + public Builder sourceAccountNumber(Optional sourceAccountNumber) { + this.sourceAccountNumber = sourceAccountNumber; + return this; + } + + public Builder sourceAccountNumber(String sourceAccountNumber) { + this.sourceAccountNumber = Optional.of(sourceAccountNumber); + return this; + } + + @JsonSetter(value = "target_account_name", nulls = Nulls.SKIP) + public Builder targetAccountName(Optional targetAccountName) { + this.targetAccountName = targetAccountName; + return this; + } + + public Builder targetAccountName(String targetAccountName) { + this.targetAccountName = Optional.of(targetAccountName); + return this; + } + + @JsonSetter(value = "currency", nulls = Nulls.SKIP) + public Builder currency(Optional currency) { + this.currency = currency; + return this; + } + + public Builder currency(BankFeedAccountCurrency currency) { + this.currency = Optional.of(currency); + return this; + } + + @JsonSetter(value = "feed_status", nulls = Nulls.SKIP) + public Builder feedStatus(Optional feedStatus) { + this.feedStatus = feedStatus; + return this; + } + + public Builder feedStatus(BankFeedAccountFeedStatus feedStatus) { + this.feedStatus = Optional.of(feedStatus); + return this; + } + + @JsonSetter(value = "feed_start_date", nulls = Nulls.SKIP) + public Builder feedStartDate(Optional feedStartDate) { + this.feedStartDate = feedStartDate; + return this; + } + + public Builder feedStartDate(OffsetDateTime feedStartDate) { + this.feedStartDate = Optional.of(feedStartDate); + return this; + } + + @JsonSetter(value = "source_account_balance", nulls = Nulls.SKIP) + public Builder sourceAccountBalance(Optional sourceAccountBalance) { + this.sourceAccountBalance = sourceAccountBalance; + return this; + } + + public Builder sourceAccountBalance(Double sourceAccountBalance) { + this.sourceAccountBalance = Optional.of(sourceAccountBalance); + return this; + } + + @JsonSetter(value = "account_type", nulls = Nulls.SKIP) + public Builder accountType(Optional accountType) { + this.accountType = accountType; + return this; + } + + public Builder accountType(BankFeedAccountAccountType accountType) { + this.accountType = Optional.of(accountType); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + @JsonSetter(value = "field_mappings", nulls = Nulls.SKIP) + public Builder fieldMappings(Optional> fieldMappings) { + this.fieldMappings = fieldMappings; + return this; + } + + public Builder fieldMappings(Map fieldMappings) { + this.fieldMappings = Optional.of(fieldMappings); + return this; + } + + @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) + public Builder remoteData(Optional>>> remoteData) { + this.remoteData = remoteData; + return this; + } + + public Builder remoteData(List>> remoteData) { + this.remoteData = Optional.of(remoteData); + return this; + } + + public BankFeedAccount build() { + return new BankFeedAccount( + id, + remoteId, + createdAt, + modifiedAt, + sourceAccountId, + targetAccountId, + sourceAccountName, + sourceAccountNumber, + targetAccountName, + currency, + feedStatus, + feedStartDate, + sourceAccountBalance, + accountType, + remoteWasDeleted, + fieldMappings, + remoteData, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountAccountType.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountAccountType.java new file mode 100644 index 000000000..cbb1e0c93 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountAccountType.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedAccountAccountType.Deserializer.class) +public final class BankFeedAccountAccountType { + private final Object value; + + private final int type; + + private BankFeedAccountAccountType(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((BankFeedAccountAccountTypeEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountAccountType && equalTo((BankFeedAccountAccountType) other); + } + + private boolean equalTo(BankFeedAccountAccountType other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedAccountAccountType of(BankFeedAccountAccountTypeEnum value) { + return new BankFeedAccountAccountType(value, 0); + } + + public static BankFeedAccountAccountType of(String value) { + return new BankFeedAccountAccountType(value, 1); + } + + public interface Visitor { + T visit(BankFeedAccountAccountTypeEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedAccountAccountType.class); + } + + @java.lang.Override + public BankFeedAccountAccountType deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, BankFeedAccountAccountTypeEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountAccountTypeEnum.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountAccountTypeEnum.java new file mode 100644 index 000000000..2df95f1f2 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountAccountTypeEnum.java @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum BankFeedAccountAccountTypeEnum { + BANK("BANK"), + + CREDIT_CARD("CREDIT_CARD"); + + private final String value; + + BankFeedAccountAccountTypeEnum(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountCurrency.java new file mode 100644 index 000000000..bccc953fd --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountCurrency.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedAccountCurrency.Deserializer.class) +public final class BankFeedAccountCurrency { + private final Object value; + + private final int type; + + private BankFeedAccountCurrency(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((TransactionCurrencyEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountCurrency && equalTo((BankFeedAccountCurrency) other); + } + + private boolean equalTo(BankFeedAccountCurrency other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedAccountCurrency of(TransactionCurrencyEnum value) { + return new BankFeedAccountCurrency(value, 0); + } + + public static BankFeedAccountCurrency of(String value) { + return new BankFeedAccountCurrency(value, 1); + } + + public interface Visitor { + T visit(TransactionCurrencyEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedAccountCurrency.class); + } + + @java.lang.Override + public BankFeedAccountCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountFeedStatus.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountFeedStatus.java new file mode 100644 index 000000000..0d770f053 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountFeedStatus.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedAccountFeedStatus.Deserializer.class) +public final class BankFeedAccountFeedStatus { + private final Object value; + + private final int type; + + private BankFeedAccountFeedStatus(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((FeedStatusEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountFeedStatus && equalTo((BankFeedAccountFeedStatus) other); + } + + private boolean equalTo(BankFeedAccountFeedStatus other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedAccountFeedStatus of(FeedStatusEnum value) { + return new BankFeedAccountFeedStatus(value, 0); + } + + public static BankFeedAccountFeedStatus of(String value) { + return new BankFeedAccountFeedStatus(value, 1); + } + + public interface Visitor { + T visit(FeedStatusEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedAccountFeedStatus.class); + } + + @java.lang.Override + public BankFeedAccountFeedStatus deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, FeedStatusEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequest.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequest.java new file mode 100644 index 000000000..3bb2a24df --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequest.java @@ -0,0 +1,734 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedAccountRequest.Builder.class) +public final class BankFeedAccountRequest { + private final Optional sourceAccountId; + + private final Optional targetAccountId; + + private final Optional sourceAccountName; + + private final Optional sourceAccountNumber; + + private final Optional targetAccountName; + + private final Optional currency; + + private final Optional feedStatus; + + private final Optional feedStartDate; + + private final Optional sourceAccountBalance; + + private final Optional accountType; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private BankFeedAccountRequest( + Optional sourceAccountId, + Optional targetAccountId, + Optional sourceAccountName, + Optional sourceAccountNumber, + Optional targetAccountName, + Optional currency, + Optional feedStatus, + Optional feedStartDate, + Optional sourceAccountBalance, + Optional accountType, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.sourceAccountId = sourceAccountId; + this.targetAccountId = targetAccountId; + this.sourceAccountName = sourceAccountName; + this.sourceAccountNumber = sourceAccountNumber; + this.targetAccountName = targetAccountName; + this.currency = currency; + this.feedStatus = feedStatus; + this.feedStartDate = feedStartDate; + this.sourceAccountBalance = sourceAccountBalance; + this.accountType = accountType; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The unique identifier of the source account from our customer’s platform. + */ + @JsonProperty("source_account_id") + public Optional getSourceAccountId() { + return sourceAccountId; + } + + /** + * @return The unique identifier of the target account from the third party software. + */ + @JsonProperty("target_account_id") + public Optional getTargetAccountId() { + return targetAccountId; + } + + /** + * @return The name of the source account as stored in our customer’s platform. + */ + @JsonProperty("source_account_name") + public Optional getSourceAccountName() { + return sourceAccountName; + } + + /** + * @return The human-readable account number of the source account as stored in our customer’s platform. + */ + @JsonProperty("source_account_number") + public Optional getSourceAccountNumber() { + return sourceAccountNumber; + } + + /** + * @return The name of the target account from the third party software. + */ + @JsonProperty("target_account_name") + public Optional getTargetAccountName() { + return targetAccountName; + } + + /** + * @return The currency code of the bank feed. + *
            + *
          • XUA - ADB Unit of Account
          • + *
          • AFN - Afghan Afghani
          • + *
          • AFA - Afghan Afghani (1927–2002)
          • + *
          • ALL - Albanian Lek
          • + *
          • ALK - Albanian Lek (1946–1965)
          • + *
          • DZD - Algerian Dinar
          • + *
          • ADP - Andorran Peseta
          • + *
          • AOA - Angolan Kwanza
          • + *
          • AOK - Angolan Kwanza (1977–1991)
          • + *
          • AON - Angolan New Kwanza (1990–2000)
          • + *
          • AOR - Angolan Readjusted Kwanza (1995–1999)
          • + *
          • ARA - Argentine Austral
          • + *
          • ARS - Argentine Peso
          • + *
          • ARM - Argentine Peso (1881–1970)
          • + *
          • ARP - Argentine Peso (1983–1985)
          • + *
          • ARL - Argentine Peso Ley (1970–1983)
          • + *
          • AMD - Armenian Dram
          • + *
          • AWG - Aruban Florin
          • + *
          • AUD - Australian Dollar
          • + *
          • ATS - Austrian Schilling
          • + *
          • AZN - Azerbaijani Manat
          • + *
          • AZM - Azerbaijani Manat (1993–2006)
          • + *
          • BSD - Bahamian Dollar
          • + *
          • BHD - Bahraini Dinar
          • + *
          • BDT - Bangladeshi Taka
          • + *
          • BBD - Barbadian Dollar
          • + *
          • BYN - Belarusian Ruble
          • + *
          • BYB - Belarusian Ruble (1994–1999)
          • + *
          • BYR - Belarusian Ruble (2000–2016)
          • + *
          • BEF - Belgian Franc
          • + *
          • BEC - Belgian Franc (convertible)
          • + *
          • BEL - Belgian Franc (financial)
          • + *
          • BZD - Belize Dollar
          • + *
          • BMD - Bermudan Dollar
          • + *
          • BTN - Bhutanese Ngultrum
          • + *
          • BOB - Bolivian Boliviano
          • + *
          • BOL - Bolivian Boliviano (1863–1963)
          • + *
          • BOV - Bolivian Mvdol
          • + *
          • BOP - Bolivian Peso
          • + *
          • BAM - Bosnia-Herzegovina Convertible Mark
          • + *
          • BAD - Bosnia-Herzegovina Dinar (1992–1994)
          • + *
          • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
          • + *
          • BWP - Botswanan Pula
          • + *
          • BRC - 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 Real
          • + *
          • GBP - British Pound
          • + *
          • BND - Brunei Dollar
          • + *
          • BGL - Bulgarian Hard Lev
          • + *
          • BGN - Bulgarian Lev
          • + *
          • BGO - Bulgarian Lev (1879–1952)
          • + *
          • BGM - Bulgarian Socialist Lev
          • + *
          • BUK - Burmese Kyat
          • + *
          • BIF - Burundian Franc
          • + *
          • XPF - CFP Franc
          • + *
          • KHR - Cambodian Riel
          • + *
          • CAD - Canadian Dollar
          • + *
          • CVE - Cape Verdean Escudo
          • + *
          • KYD - Cayman Islands Dollar
          • + *
          • XAF - Central African CFA Franc
          • + *
          • CLE - Chilean Escudo
          • + *
          • CLP - Chilean Peso
          • + *
          • CLF - Chilean Unit of Account (UF)
          • + *
          • CNX - Chinese People’s Bank Dollar
          • + *
          • CNY - Chinese Yuan
          • + *
          • CNH - Chinese Yuan (offshore)
          • + *
          • COP - Colombian Peso
          • + *
          • COU - Colombian Real Value Unit
          • + *
          • KMF - Comorian Franc
          • + *
          • CDF - Congolese Franc
          • + *
          • CRC - Costa Rican Colón
          • + *
          • HRD - Croatian Dinar
          • + *
          • HRK - Croatian Kuna
          • + *
          • CUC - Cuban Convertible Peso
          • + *
          • CUP - Cuban Peso
          • + *
          • CYP - Cypriot Pound
          • + *
          • CZK - Czech Koruna
          • + *
          • CSK - Czechoslovak Hard Koruna
          • + *
          • DKK - Danish Krone
          • + *
          • DJF - Djiboutian Franc
          • + *
          • DOP - Dominican Peso
          • + *
          • NLG - Dutch Guilder
          • + *
          • XCD - East Caribbean Dollar
          • + *
          • DDM - East German Mark
          • + *
          • ECS - Ecuadorian Sucre
          • + *
          • ECV - Ecuadorian Unit of Constant Value
          • + *
          • EGP - Egyptian Pound
          • + *
          • GQE - Equatorial Guinean Ekwele
          • + *
          • ERN - Eritrean Nakfa
          • + *
          • EEK - Estonian Kroon
          • + *
          • ETB - Ethiopian Birr
          • + *
          • EUR - Euro
          • + *
          • XBA - European Composite Unit
          • + *
          • XEU - European Currency Unit
          • + *
          • XBB - European Monetary Unit
          • + *
          • XBC - European Unit of Account (XBC)
          • + *
          • XBD - European Unit of Account (XBD)
          • + *
          • FKP - Falkland Islands Pound
          • + *
          • FJD - Fijian Dollar
          • + *
          • FIM - Finnish Markka
          • + *
          • FRF - French Franc
          • + *
          • XFO - French Gold Franc
          • + *
          • XFU - French UIC-Franc
          • + *
          • GMD - Gambian Dalasi
          • + *
          • GEK - Georgian Kupon Larit
          • + *
          • GEL - Georgian Lari
          • + *
          • DEM - German Mark
          • + *
          • GHS - Ghanaian Cedi
          • + *
          • GHC - Ghanaian Cedi (1979–2007)
          • + *
          • GIP - Gibraltar Pound
          • + *
          • XAU - Gold
          • + *
          • GRD - Greek Drachma
          • + *
          • GTQ - Guatemalan Quetzal
          • + *
          • GWP - Guinea-Bissau Peso
          • + *
          • GNF - Guinean Franc
          • + *
          • GNS - Guinean Syli
          • + *
          • GYD - Guyanaese Dollar
          • + *
          • HTG - Haitian Gourde
          • + *
          • HNL - Honduran Lempira
          • + *
          • HKD - Hong Kong Dollar
          • + *
          • HUF - Hungarian Forint
          • + *
          • IMP - IMP
          • + *
          • ISK - Icelandic Króna
          • + *
          • ISJ - Icelandic Króna (1918–1981)
          • + *
          • INR - Indian Rupee
          • + *
          • IDR - Indonesian Rupiah
          • + *
          • IRR - Iranian Rial
          • + *
          • IQD - Iraqi Dinar
          • + *
          • IEP - Irish Pound
          • + *
          • ILS - Israeli New Shekel
          • + *
          • ILP - Israeli Pound
          • + *
          • ILR - Israeli Shekel (1980–1985)
          • + *
          • ITL - Italian Lira
          • + *
          • JMD - Jamaican Dollar
          • + *
          • JPY - Japanese Yen
          • + *
          • JOD - Jordanian Dinar
          • + *
          • KZT - Kazakhstani Tenge
          • + *
          • KES - Kenyan Shilling
          • + *
          • KWD - Kuwaiti Dinar
          • + *
          • KGS - Kyrgystani Som
          • + *
          • LAK - Laotian Kip
          • + *
          • LVL - Latvian Lats
          • + *
          • LVR - Latvian Ruble
          • + *
          • LBP - Lebanese Pound
          • + *
          • LSL - Lesotho Loti
          • + *
          • LRD - Liberian Dollar
          • + *
          • LYD - Libyan Dinar
          • + *
          • LTL - Lithuanian Litas
          • + *
          • LTT - Lithuanian Talonas
          • + *
          • LUL - Luxembourg Financial Franc
          • + *
          • LUC - Luxembourgian Convertible Franc
          • + *
          • LUF - Luxembourgian Franc
          • + *
          • MOP - Macanese Pataca
          • + *
          • MKD - Macedonian Denar
          • + *
          • MKN - Macedonian Denar (1992–1993)
          • + *
          • MGA - Malagasy Ariary
          • + *
          • MGF - Malagasy Franc
          • + *
          • MWK - Malawian Kwacha
          • + *
          • MYR - Malaysian Ringgit
          • + *
          • MVR - Maldivian Rufiyaa
          • + *
          • MVP - Maldivian Rupee (1947–1981)
          • + *
          • MLF - Malian Franc
          • + *
          • MTL - Maltese Lira
          • + *
          • MTP - Maltese Pound
          • + *
          • MRU - Mauritanian Ouguiya
          • + *
          • MRO - Mauritanian Ouguiya (1973–2017)
          • + *
          • MUR - Mauritian Rupee
          • + *
          • MXV - Mexican Investment Unit
          • + *
          • MXN - Mexican Peso
          • + *
          • MXP - Mexican Silver Peso (1861–1992)
          • + *
          • MDC - Moldovan Cupon
          • + *
          • MDL - Moldovan Leu
          • + *
          • MCF - Monegasque Franc
          • + *
          • MNT - Mongolian Tugrik
          • + *
          • MAD - Moroccan Dirham
          • + *
          • MAF - Moroccan Franc
          • + *
          • MZE - Mozambican Escudo
          • + *
          • MZN - Mozambican Metical
          • + *
          • MZM - Mozambican Metical (1980–2006)
          • + *
          • MMK - Myanmar Kyat
          • + *
          • NAD - Namibian Dollar
          • + *
          • NPR - Nepalese Rupee
          • + *
          • ANG - Netherlands Antillean Guilder
          • + *
          • TWD - New Taiwan Dollar
          • + *
          • NZD - New Zealand Dollar
          • + *
          • NIO - Nicaraguan Córdoba
          • + *
          • NIC - Nicaraguan Córdoba (1988–1991)
          • + *
          • NGN - Nigerian Naira
          • + *
          • KPW - North Korean Won
          • + *
          • NOK - Norwegian Krone
          • + *
          • OMR - Omani Rial
          • + *
          • PKR - Pakistani Rupee
          • + *
          • XPD - Palladium
          • + *
          • PAB - Panamanian Balboa
          • + *
          • PGK - Papua New Guinean Kina
          • + *
          • PYG - Paraguayan Guarani
          • + *
          • PEI - Peruvian Inti
          • + *
          • PEN - Peruvian Sol
          • + *
          • PES - Peruvian Sol (1863–1965)
          • + *
          • PHP - Philippine Peso
          • + *
          • XPT - Platinum
          • + *
          • PLN - Polish Zloty
          • + *
          • PLZ - Polish Zloty (1950–1995)
          • + *
          • PTE - Portuguese Escudo
          • + *
          • GWE - Portuguese Guinea Escudo
          • + *
          • QAR - Qatari Rial
          • + *
          • XRE - RINET Funds
          • + *
          • RHD - Rhodesian Dollar
          • + *
          • RON - Romanian Leu
          • + *
          • ROL - Romanian Leu (1952–2006)
          • + *
          • RUB - Russian Ruble
          • + *
          • RUR - Russian Ruble (1991–1998)
          • + *
          • RWF - Rwandan Franc
          • + *
          • SVC - Salvadoran Colón
          • + *
          • WST - Samoan Tala
          • + *
          • SAR - Saudi Riyal
          • + *
          • RSD - Serbian Dinar
          • + *
          • CSD - Serbian Dinar (2002–2006)
          • + *
          • SCR - Seychellois Rupee
          • + *
          • SLL - Sierra Leonean Leone
          • + *
          • XAG - Silver
          • + *
          • SGD - Singapore Dollar
          • + *
          • SKK - Slovak Koruna
          • + *
          • SIT - Slovenian Tolar
          • + *
          • SBD - Solomon Islands Dollar
          • + *
          • SOS - Somali Shilling
          • + *
          • ZAR - South African Rand
          • + *
          • ZAL - South African Rand (financial)
          • + *
          • KRH - South Korean Hwan (1953–1962)
          • + *
          • KRW - South Korean Won
          • + *
          • KRO - South Korean Won (1945–1953)
          • + *
          • SSP - South Sudanese Pound
          • + *
          • SUR - Soviet Rouble
          • + *
          • ESP - Spanish Peseta
          • + *
          • ESA - Spanish Peseta (A account)
          • + *
          • ESB - Spanish Peseta (convertible account)
          • + *
          • XDR - Special Drawing Rights
          • + *
          • LKR - Sri Lankan Rupee
          • + *
          • SHP - St. Helena Pound
          • + *
          • XSU - Sucre
          • + *
          • SDD - Sudanese Dinar (1992–2007)
          • + *
          • SDG - Sudanese Pound
          • + *
          • SDP - Sudanese Pound (1957–1998)
          • + *
          • SRD - Surinamese Dollar
          • + *
          • SRG - Surinamese Guilder
          • + *
          • SZL - Swazi Lilangeni
          • + *
          • SEK - Swedish Krona
          • + *
          • CHF - Swiss Franc
          • + *
          • SYP - Syrian Pound
          • + *
          • STN - São Tomé & Príncipe Dobra
          • + *
          • STD - São Tomé & Príncipe Dobra (1977–2017)
          • + *
          • TVD - TVD
          • + *
          • TJR - Tajikistani Ruble
          • + *
          • TJS - Tajikistani Somoni
          • + *
          • TZS - Tanzanian Shilling
          • + *
          • XTS - Testing Currency Code
          • + *
          • THB - Thai Baht
          • + *
          • XXX - The codes assigned for transactions where no currency is involved
          • + *
          • TPE - Timorese Escudo
          • + *
          • TOP - Tongan Paʻanga
          • + *
          • TTD - Trinidad & Tobago Dollar
          • + *
          • TND - Tunisian Dinar
          • + *
          • TRY - Turkish Lira
          • + *
          • TRL - Turkish Lira (1922–2005)
          • + *
          • TMT - Turkmenistani Manat
          • + *
          • TMM - Turkmenistani Manat (1993–2009)
          • + *
          • USD - US Dollar
          • + *
          • USN - US Dollar (Next day)
          • + *
          • USS - US Dollar (Same day)
          • + *
          • UGX - Ugandan Shilling
          • + *
          • UGS - Ugandan Shilling (1966–1987)
          • + *
          • UAH - Ukrainian Hryvnia
          • + *
          • UAK - Ukrainian Karbovanets
          • + *
          • AED - United Arab Emirates Dirham
          • + *
          • UYW - Uruguayan Nominal Wage Index Unit
          • + *
          • UYU - Uruguayan Peso
          • + *
          • UYP - Uruguayan Peso (1975–1993)
          • + *
          • UYI - Uruguayan Peso (Indexed Units)
          • + *
          • UZS - Uzbekistani Som
          • + *
          • VUV - Vanuatu Vatu
          • + *
          • VES - Venezuelan Bolívar
          • + *
          • VEB - Venezuelan Bolívar (1871–2008)
          • + *
          • VEF - Venezuelan Bolívar (2008–2018)
          • + *
          • VND - Vietnamese Dong
          • + *
          • VNN - Vietnamese Dong (1978–1985)
          • + *
          • CHE - WIR Euro
          • + *
          • CHW - WIR Franc
          • + *
          • XOF - West African CFA Franc
          • + *
          • YDD - Yemeni Dinar
          • + *
          • YER - Yemeni Rial
          • + *
          • YUN - Yugoslavian Convertible Dinar (1990–1992)
          • + *
          • YUD - Yugoslavian Hard Dinar (1966–1990)
          • + *
          • YUM - Yugoslavian New Dinar (1994–2002)
          • + *
          • YUR - Yugoslavian Reformed Dinar (1992–1993)
          • + *
          • ZWN - ZWN
          • + *
          • ZRN - Zairean New Zaire (1993–1998)
          • + *
          • ZRZ - Zairean Zaire (1971–1993)
          • + *
          • ZMW - Zambian Kwacha
          • + *
          • ZMK - Zambian Kwacha (1968–2012)
          • + *
          • ZWD - Zimbabwean Dollar (1980–2008)
          • + *
          • ZWR - Zimbabwean Dollar (2008)
          • + *
          • ZWL - Zimbabwean Dollar (2009)
          • + *
          + */ + @JsonProperty("currency") + public Optional getCurrency() { + return currency; + } + + /** + * @return The status of the bank feed. + *
            + *
          • ACTIVE - ACTIVE
          • + *
          • INACTIVE - INACTIVE
          • + *
          + */ + @JsonProperty("feed_status") + public Optional getFeedStatus() { + return feedStatus; + } + + /** + * @return The start date of the bank feed’s transactions. + */ + @JsonProperty("feed_start_date") + public Optional getFeedStartDate() { + return feedStartDate; + } + + /** + * @return The current balance of funds in the source account. + */ + @JsonProperty("source_account_balance") + public Optional getSourceAccountBalance() { + return sourceAccountBalance; + } + + /** + * @return The type of the account. + *
            + *
          • BANK - BANK
          • + *
          • CREDIT_CARD - CREDIT_CARD
          • + *
          + */ + @JsonProperty("account_type") + public Optional getAccountType() { + return accountType; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountRequest && equalTo((BankFeedAccountRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedAccountRequest other) { + return sourceAccountId.equals(other.sourceAccountId) + && targetAccountId.equals(other.targetAccountId) + && sourceAccountName.equals(other.sourceAccountName) + && sourceAccountNumber.equals(other.sourceAccountNumber) + && targetAccountName.equals(other.targetAccountName) + && currency.equals(other.currency) + && feedStatus.equals(other.feedStatus) + && feedStartDate.equals(other.feedStartDate) + && sourceAccountBalance.equals(other.sourceAccountBalance) + && accountType.equals(other.accountType) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.sourceAccountId, + this.targetAccountId, + this.sourceAccountName, + this.sourceAccountNumber, + this.targetAccountName, + this.currency, + this.feedStatus, + this.feedStartDate, + this.sourceAccountBalance, + this.accountType, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional sourceAccountId = Optional.empty(); + + private Optional targetAccountId = Optional.empty(); + + private Optional sourceAccountName = Optional.empty(); + + private Optional sourceAccountNumber = Optional.empty(); + + private Optional targetAccountName = Optional.empty(); + + private Optional currency = Optional.empty(); + + private Optional feedStatus = Optional.empty(); + + private Optional feedStartDate = Optional.empty(); + + private Optional sourceAccountBalance = Optional.empty(); + + private Optional accountType = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedAccountRequest other) { + sourceAccountId(other.getSourceAccountId()); + targetAccountId(other.getTargetAccountId()); + sourceAccountName(other.getSourceAccountName()); + sourceAccountNumber(other.getSourceAccountNumber()); + targetAccountName(other.getTargetAccountName()); + currency(other.getCurrency()); + feedStatus(other.getFeedStatus()); + feedStartDate(other.getFeedStartDate()); + sourceAccountBalance(other.getSourceAccountBalance()); + accountType(other.getAccountType()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "source_account_id", nulls = Nulls.SKIP) + public Builder sourceAccountId(Optional sourceAccountId) { + this.sourceAccountId = sourceAccountId; + return this; + } + + public Builder sourceAccountId(String sourceAccountId) { + this.sourceAccountId = Optional.of(sourceAccountId); + return this; + } + + @JsonSetter(value = "target_account_id", nulls = Nulls.SKIP) + public Builder targetAccountId(Optional targetAccountId) { + this.targetAccountId = targetAccountId; + return this; + } + + public Builder targetAccountId(String targetAccountId) { + this.targetAccountId = Optional.of(targetAccountId); + return this; + } + + @JsonSetter(value = "source_account_name", nulls = Nulls.SKIP) + public Builder sourceAccountName(Optional sourceAccountName) { + this.sourceAccountName = sourceAccountName; + return this; + } + + public Builder sourceAccountName(String sourceAccountName) { + this.sourceAccountName = Optional.of(sourceAccountName); + return this; + } + + @JsonSetter(value = "source_account_number", nulls = Nulls.SKIP) + public Builder sourceAccountNumber(Optional sourceAccountNumber) { + this.sourceAccountNumber = sourceAccountNumber; + return this; + } + + public Builder sourceAccountNumber(String sourceAccountNumber) { + this.sourceAccountNumber = Optional.of(sourceAccountNumber); + return this; + } + + @JsonSetter(value = "target_account_name", nulls = Nulls.SKIP) + public Builder targetAccountName(Optional targetAccountName) { + this.targetAccountName = targetAccountName; + return this; + } + + public Builder targetAccountName(String targetAccountName) { + this.targetAccountName = Optional.of(targetAccountName); + return this; + } + + @JsonSetter(value = "currency", nulls = Nulls.SKIP) + public Builder currency(Optional currency) { + this.currency = currency; + return this; + } + + public Builder currency(BankFeedAccountRequestCurrency currency) { + this.currency = Optional.of(currency); + return this; + } + + @JsonSetter(value = "feed_status", nulls = Nulls.SKIP) + public Builder feedStatus(Optional feedStatus) { + this.feedStatus = feedStatus; + return this; + } + + public Builder feedStatus(BankFeedAccountRequestFeedStatus feedStatus) { + this.feedStatus = Optional.of(feedStatus); + return this; + } + + @JsonSetter(value = "feed_start_date", nulls = Nulls.SKIP) + public Builder feedStartDate(Optional feedStartDate) { + this.feedStartDate = feedStartDate; + return this; + } + + public Builder feedStartDate(OffsetDateTime feedStartDate) { + this.feedStartDate = Optional.of(feedStartDate); + return this; + } + + @JsonSetter(value = "source_account_balance", nulls = Nulls.SKIP) + public Builder sourceAccountBalance(Optional sourceAccountBalance) { + this.sourceAccountBalance = sourceAccountBalance; + return this; + } + + public Builder sourceAccountBalance(Double sourceAccountBalance) { + this.sourceAccountBalance = Optional.of(sourceAccountBalance); + return this; + } + + @JsonSetter(value = "account_type", nulls = Nulls.SKIP) + public Builder accountType(Optional accountType) { + this.accountType = accountType; + return this; + } + + public Builder accountType(BankFeedAccountRequestAccountType accountType) { + this.accountType = Optional.of(accountType); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public BankFeedAccountRequest build() { + return new BankFeedAccountRequest( + sourceAccountId, + targetAccountId, + sourceAccountName, + sourceAccountNumber, + targetAccountName, + currency, + feedStatus, + feedStartDate, + sourceAccountBalance, + accountType, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestAccountType.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestAccountType.java new file mode 100644 index 000000000..89504c324 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestAccountType.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedAccountRequestAccountType.Deserializer.class) +public final class BankFeedAccountRequestAccountType { + private final Object value; + + private final int type; + + private BankFeedAccountRequestAccountType(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((BankFeedAccountAccountTypeEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountRequestAccountType && equalTo((BankFeedAccountRequestAccountType) other); + } + + private boolean equalTo(BankFeedAccountRequestAccountType other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedAccountRequestAccountType of(BankFeedAccountAccountTypeEnum value) { + return new BankFeedAccountRequestAccountType(value, 0); + } + + public static BankFeedAccountRequestAccountType of(String value) { + return new BankFeedAccountRequestAccountType(value, 1); + } + + public interface Visitor { + T visit(BankFeedAccountAccountTypeEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedAccountRequestAccountType.class); + } + + @java.lang.Override + public BankFeedAccountRequestAccountType deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, BankFeedAccountAccountTypeEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestCurrency.java new file mode 100644 index 000000000..ce8393fae --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestCurrency.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedAccountRequestCurrency.Deserializer.class) +public final class BankFeedAccountRequestCurrency { + private final Object value; + + private final int type; + + private BankFeedAccountRequestCurrency(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((TransactionCurrencyEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountRequestCurrency && equalTo((BankFeedAccountRequestCurrency) other); + } + + private boolean equalTo(BankFeedAccountRequestCurrency other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedAccountRequestCurrency of(TransactionCurrencyEnum value) { + return new BankFeedAccountRequestCurrency(value, 0); + } + + public static BankFeedAccountRequestCurrency of(String value) { + return new BankFeedAccountRequestCurrency(value, 1); + } + + public interface Visitor { + T visit(TransactionCurrencyEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedAccountRequestCurrency.class); + } + + @java.lang.Override + public BankFeedAccountRequestCurrency deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestFeedStatus.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestFeedStatus.java new file mode 100644 index 000000000..1d344ae85 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountRequestFeedStatus.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedAccountRequestFeedStatus.Deserializer.class) +public final class BankFeedAccountRequestFeedStatus { + private final Object value; + + private final int type; + + private BankFeedAccountRequestFeedStatus(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((FeedStatusEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountRequestFeedStatus && equalTo((BankFeedAccountRequestFeedStatus) other); + } + + private boolean equalTo(BankFeedAccountRequestFeedStatus other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedAccountRequestFeedStatus of(FeedStatusEnum value) { + return new BankFeedAccountRequestFeedStatus(value, 0); + } + + public static BankFeedAccountRequestFeedStatus of(String value) { + return new BankFeedAccountRequestFeedStatus(value, 1); + } + + public interface Visitor { + T visit(FeedStatusEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedAccountRequestFeedStatus.class); + } + + @java.lang.Override + public BankFeedAccountRequestFeedStatus deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, FeedStatusEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountResponse.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountResponse.java new file mode 100644 index 000000000..a26d8fa0c --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedAccountResponse.java @@ -0,0 +1,215 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedAccountResponse.Builder.class) +public final class BankFeedAccountResponse { + private final BankFeedAccount model; + + private final List warnings; + + private final List errors; + + private final Optional> logs; + + private final Map additionalProperties; + + private BankFeedAccountResponse( + BankFeedAccount model, + List warnings, + List errors, + Optional> logs, + Map additionalProperties) { + this.model = model; + this.warnings = warnings; + this.errors = errors; + this.logs = logs; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("model") + public BankFeedAccount getModel() { + return model; + } + + @JsonProperty("warnings") + public List getWarnings() { + return warnings; + } + + @JsonProperty("errors") + public List getErrors() { + return errors; + } + + @JsonProperty("logs") + public Optional> getLogs() { + return logs; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedAccountResponse && equalTo((BankFeedAccountResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedAccountResponse other) { + return model.equals(other.model) + && warnings.equals(other.warnings) + && errors.equals(other.errors) + && logs.equals(other.logs); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.model, this.warnings, this.errors, this.logs); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(BankFeedAccount model); + + Builder from(BankFeedAccountResponse other); + } + + public interface _FinalStage { + BankFeedAccountResponse build(); + + _FinalStage warnings(List warnings); + + _FinalStage addWarnings(WarningValidationProblem warnings); + + _FinalStage addAllWarnings(List warnings); + + _FinalStage errors(List errors); + + _FinalStage addErrors(ErrorValidationProblem errors); + + _FinalStage addAllErrors(List errors); + + _FinalStage logs(Optional> logs); + + _FinalStage logs(List logs); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private BankFeedAccount model; + + private Optional> logs = Optional.empty(); + + private List errors = new ArrayList<>(); + + private List warnings = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(BankFeedAccountResponse other) { + model(other.getModel()); + warnings(other.getWarnings()); + errors(other.getErrors()); + logs(other.getLogs()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(BankFeedAccount model) { + this.model = model; + return this; + } + + @java.lang.Override + public _FinalStage logs(List logs) { + this.logs = Optional.of(logs); + return this; + } + + @java.lang.Override + @JsonSetter(value = "logs", nulls = Nulls.SKIP) + public _FinalStage logs(Optional> logs) { + this.logs = logs; + return this; + } + + @java.lang.Override + public _FinalStage addAllErrors(List errors) { + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addErrors(ErrorValidationProblem errors) { + this.errors.add(errors); + return this; + } + + @java.lang.Override + @JsonSetter(value = "errors", nulls = Nulls.SKIP) + public _FinalStage errors(List errors) { + this.errors.clear(); + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addAllWarnings(List warnings) { + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public _FinalStage addWarnings(WarningValidationProblem warnings) { + this.warnings.add(warnings); + return this; + } + + @java.lang.Override + @JsonSetter(value = "warnings", nulls = Nulls.SKIP) + public _FinalStage warnings(List warnings) { + this.warnings.clear(); + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public BankFeedAccountResponse build() { + return new BankFeedAccountResponse(model, warnings, errors, logs, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransaction.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransaction.java new file mode 100644 index 000000000..93d3b8353 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransaction.java @@ -0,0 +1,511 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedTransaction.Builder.class) +public final class BankFeedTransaction { + private final Optional id; + + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional bankFeedAccount; + + private final Optional transactionDate; + + private final Optional postedDate; + + private final Optional amount; + + private final Optional description; + + private final Optional transactionType; + + private final Optional payee; + + private final Optional creditOrDebit; + + private final Optional sourceTransactionId; + + private final Optional remoteWasDeleted; + + private final Optional isProcessed; + + private final Map additionalProperties; + + private BankFeedTransaction( + Optional id, + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional bankFeedAccount, + Optional transactionDate, + Optional postedDate, + Optional amount, + Optional description, + Optional transactionType, + Optional payee, + Optional creditOrDebit, + Optional sourceTransactionId, + Optional remoteWasDeleted, + Optional isProcessed, + Map additionalProperties) { + this.id = id; + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.bankFeedAccount = bankFeedAccount; + this.transactionDate = transactionDate; + this.postedDate = postedDate; + this.amount = amount; + this.description = description; + this.transactionType = transactionType; + this.payee = payee; + this.creditOrDebit = creditOrDebit; + this.sourceTransactionId = sourceTransactionId; + this.remoteWasDeleted = remoteWasDeleted; + this.isProcessed = isProcessed; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + /** + * @return The bank feed account associated with the transaction. + */ + @JsonProperty("bank_feed_account") + public Optional getBankFeedAccount() { + return bankFeedAccount; + } + + /** + * @return The date that the transaction occurred. + */ + @JsonProperty("transaction_date") + public Optional getTransactionDate() { + return transactionDate; + } + + /** + * @return The date the transaction was posted to the bank account. + */ + @JsonProperty("posted_date") + public Optional getPostedDate() { + return postedDate; + } + + /** + * @return The amount of the transaction. + */ + @JsonProperty("amount") + public Optional getAmount() { + return amount; + } + + /** + * @return The description of the transaction. + */ + @JsonProperty("description") + public Optional getDescription() { + return description; + } + + /** + * @return The underlying type of the transaction. + */ + @JsonProperty("transaction_type") + public Optional getTransactionType() { + return transactionType; + } + + /** + * @return The person or merchant who initiated the transaction, or alternatively, to whom the transaction was paid. + */ + @JsonProperty("payee") + public Optional getPayee() { + return payee; + } + + /** + * @return If the transaction is of type debit or credit. + *
            + *
          • CREDIT - CREDIT
          • + *
          • DEBIT - DEBIT
          • + *
          + */ + @JsonProperty("credit_or_debit") + public Optional getCreditOrDebit() { + return creditOrDebit; + } + + /** + * @return The customer’s identifier for the transaction. + */ + @JsonProperty("source_transaction_id") + public Optional getSourceTransactionId() { + return sourceTransactionId; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + /** + * @return Whether or not this transaction has been processed by the external system. For example, NetSuite writes this field as True when the SuiteApp has processed the transaction. + */ + @JsonProperty("is_processed") + public Optional getIsProcessed() { + return isProcessed; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransaction && equalTo((BankFeedTransaction) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedTransaction other) { + return id.equals(other.id) + && remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && bankFeedAccount.equals(other.bankFeedAccount) + && transactionDate.equals(other.transactionDate) + && postedDate.equals(other.postedDate) + && amount.equals(other.amount) + && description.equals(other.description) + && transactionType.equals(other.transactionType) + && payee.equals(other.payee) + && creditOrDebit.equals(other.creditOrDebit) + && sourceTransactionId.equals(other.sourceTransactionId) + && remoteWasDeleted.equals(other.remoteWasDeleted) + && isProcessed.equals(other.isProcessed); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.remoteId, + this.createdAt, + this.modifiedAt, + this.bankFeedAccount, + this.transactionDate, + this.postedDate, + this.amount, + this.description, + this.transactionType, + this.payee, + this.creditOrDebit, + this.sourceTransactionId, + this.remoteWasDeleted, + this.isProcessed); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional id = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional bankFeedAccount = Optional.empty(); + + private Optional transactionDate = Optional.empty(); + + private Optional postedDate = Optional.empty(); + + private Optional amount = Optional.empty(); + + private Optional description = Optional.empty(); + + private Optional transactionType = Optional.empty(); + + private Optional payee = Optional.empty(); + + private Optional creditOrDebit = Optional.empty(); + + private Optional sourceTransactionId = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + private Optional isProcessed = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedTransaction other) { + id(other.getId()); + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + bankFeedAccount(other.getBankFeedAccount()); + transactionDate(other.getTransactionDate()); + postedDate(other.getPostedDate()); + amount(other.getAmount()); + description(other.getDescription()); + transactionType(other.getTransactionType()); + payee(other.getPayee()); + creditOrDebit(other.getCreditOrDebit()); + sourceTransactionId(other.getSourceTransactionId()); + remoteWasDeleted(other.getRemoteWasDeleted()); + isProcessed(other.getIsProcessed()); + return this; + } + + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public Builder id(Optional id) { + this.id = id; + return this; + } + + public Builder id(String id) { + this.id = Optional.of(id); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "bank_feed_account", nulls = Nulls.SKIP) + public Builder bankFeedAccount(Optional bankFeedAccount) { + this.bankFeedAccount = bankFeedAccount; + return this; + } + + public Builder bankFeedAccount(BankFeedTransactionBankFeedAccount bankFeedAccount) { + this.bankFeedAccount = Optional.of(bankFeedAccount); + return this; + } + + @JsonSetter(value = "transaction_date", nulls = Nulls.SKIP) + public Builder transactionDate(Optional transactionDate) { + this.transactionDate = transactionDate; + return this; + } + + public Builder transactionDate(OffsetDateTime transactionDate) { + this.transactionDate = Optional.of(transactionDate); + return this; + } + + @JsonSetter(value = "posted_date", nulls = Nulls.SKIP) + public Builder postedDate(Optional postedDate) { + this.postedDate = postedDate; + return this; + } + + public Builder postedDate(OffsetDateTime postedDate) { + this.postedDate = Optional.of(postedDate); + return this; + } + + @JsonSetter(value = "amount", nulls = Nulls.SKIP) + public Builder amount(Optional amount) { + this.amount = amount; + return this; + } + + public Builder amount(Double amount) { + this.amount = Optional.of(amount); + return this; + } + + @JsonSetter(value = "description", nulls = Nulls.SKIP) + public Builder description(Optional description) { + this.description = description; + return this; + } + + public Builder description(String description) { + this.description = Optional.of(description); + return this; + } + + @JsonSetter(value = "transaction_type", nulls = Nulls.SKIP) + public Builder transactionType(Optional transactionType) { + this.transactionType = transactionType; + return this; + } + + public Builder transactionType(String transactionType) { + this.transactionType = Optional.of(transactionType); + return this; + } + + @JsonSetter(value = "payee", nulls = Nulls.SKIP) + public Builder payee(Optional payee) { + this.payee = payee; + return this; + } + + public Builder payee(String payee) { + this.payee = Optional.of(payee); + return this; + } + + @JsonSetter(value = "credit_or_debit", nulls = Nulls.SKIP) + public Builder creditOrDebit(Optional creditOrDebit) { + this.creditOrDebit = creditOrDebit; + return this; + } + + public Builder creditOrDebit(BankFeedTransactionCreditOrDebit creditOrDebit) { + this.creditOrDebit = Optional.of(creditOrDebit); + return this; + } + + @JsonSetter(value = "source_transaction_id", nulls = Nulls.SKIP) + public Builder sourceTransactionId(Optional sourceTransactionId) { + this.sourceTransactionId = sourceTransactionId; + return this; + } + + public Builder sourceTransactionId(String sourceTransactionId) { + this.sourceTransactionId = Optional.of(sourceTransactionId); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + @JsonSetter(value = "is_processed", nulls = Nulls.SKIP) + public Builder isProcessed(Optional isProcessed) { + this.isProcessed = isProcessed; + return this; + } + + public Builder isProcessed(Boolean isProcessed) { + this.isProcessed = Optional.of(isProcessed); + return this; + } + + public BankFeedTransaction build() { + return new BankFeedTransaction( + id, + remoteId, + createdAt, + modifiedAt, + bankFeedAccount, + transactionDate, + postedDate, + amount, + description, + transactionType, + payee, + creditOrDebit, + sourceTransactionId, + remoteWasDeleted, + isProcessed, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionBankFeedAccount.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionBankFeedAccount.java new file mode 100644 index 000000000..5f86f69cb --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionBankFeedAccount.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedTransactionBankFeedAccount.Deserializer.class) +public final class BankFeedTransactionBankFeedAccount { + private final Object value; + + private final int type; + + private BankFeedTransactionBankFeedAccount(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((BankFeedAccount) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionBankFeedAccount + && equalTo((BankFeedTransactionBankFeedAccount) other); + } + + private boolean equalTo(BankFeedTransactionBankFeedAccount other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedTransactionBankFeedAccount of(String value) { + return new BankFeedTransactionBankFeedAccount(value, 0); + } + + public static BankFeedTransactionBankFeedAccount of(BankFeedAccount value) { + return new BankFeedTransactionBankFeedAccount(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(BankFeedAccount value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedTransactionBankFeedAccount.class); + } + + @java.lang.Override + public BankFeedTransactionBankFeedAccount deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, BankFeedAccount.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionCreditOrDebit.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionCreditOrDebit.java new file mode 100644 index 000000000..568aae666 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionCreditOrDebit.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedTransactionCreditOrDebit.Deserializer.class) +public final class BankFeedTransactionCreditOrDebit { + private final Object value; + + private final int type; + + private BankFeedTransactionCreditOrDebit(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((CreditOrDebitEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionCreditOrDebit && equalTo((BankFeedTransactionCreditOrDebit) other); + } + + private boolean equalTo(BankFeedTransactionCreditOrDebit other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedTransactionCreditOrDebit of(CreditOrDebitEnum value) { + return new BankFeedTransactionCreditOrDebit(value, 0); + } + + public static BankFeedTransactionCreditOrDebit of(String value) { + return new BankFeedTransactionCreditOrDebit(value, 1); + } + + public interface Visitor { + T visit(CreditOrDebitEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedTransactionCreditOrDebit.class); + } + + @java.lang.Override + public BankFeedTransactionCreditOrDebit deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CreditOrDebitEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequest.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequest.java new file mode 100644 index 000000000..3df8eae3d --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequest.java @@ -0,0 +1,393 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedTransactionRequestRequest.Builder.class) +public final class BankFeedTransactionRequestRequest { + private final Optional bankFeedAccount; + + private final Optional transactionDate; + + private final Optional postedDate; + + private final Optional amount; + + private final Optional description; + + private final Optional transactionType; + + private final Optional payee; + + private final Optional creditOrDebit; + + private final Optional sourceTransactionId; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private BankFeedTransactionRequestRequest( + Optional bankFeedAccount, + Optional transactionDate, + Optional postedDate, + Optional amount, + Optional description, + Optional transactionType, + Optional payee, + Optional creditOrDebit, + Optional sourceTransactionId, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.bankFeedAccount = bankFeedAccount; + this.transactionDate = transactionDate; + this.postedDate = postedDate; + this.amount = amount; + this.description = description; + this.transactionType = transactionType; + this.payee = payee; + this.creditOrDebit = creditOrDebit; + this.sourceTransactionId = sourceTransactionId; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The bank feed account associated with the transaction. + */ + @JsonProperty("bank_feed_account") + public Optional getBankFeedAccount() { + return bankFeedAccount; + } + + /** + * @return The date that the transaction occurred. + */ + @JsonProperty("transaction_date") + public Optional getTransactionDate() { + return transactionDate; + } + + /** + * @return The date the transaction was posted to the bank account. + */ + @JsonProperty("posted_date") + public Optional getPostedDate() { + return postedDate; + } + + /** + * @return The amount of the transaction. + */ + @JsonProperty("amount") + public Optional getAmount() { + return amount; + } + + /** + * @return The description of the transaction. + */ + @JsonProperty("description") + public Optional getDescription() { + return description; + } + + /** + * @return The underlying type of the transaction. + */ + @JsonProperty("transaction_type") + public Optional getTransactionType() { + return transactionType; + } + + /** + * @return The person or merchant who initiated the transaction, or alternatively, to whom the transaction was paid. + */ + @JsonProperty("payee") + public Optional getPayee() { + return payee; + } + + /** + * @return If the transaction is of type debit or credit. + *
            + *
          • CREDIT - CREDIT
          • + *
          • DEBIT - DEBIT
          • + *
          + */ + @JsonProperty("credit_or_debit") + public Optional getCreditOrDebit() { + return creditOrDebit; + } + + /** + * @return The customer’s identifier for the transaction. + */ + @JsonProperty("source_transaction_id") + public Optional getSourceTransactionId() { + return sourceTransactionId; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionRequestRequest && equalTo((BankFeedTransactionRequestRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedTransactionRequestRequest other) { + return bankFeedAccount.equals(other.bankFeedAccount) + && transactionDate.equals(other.transactionDate) + && postedDate.equals(other.postedDate) + && amount.equals(other.amount) + && description.equals(other.description) + && transactionType.equals(other.transactionType) + && payee.equals(other.payee) + && creditOrDebit.equals(other.creditOrDebit) + && sourceTransactionId.equals(other.sourceTransactionId) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.bankFeedAccount, + this.transactionDate, + this.postedDate, + this.amount, + this.description, + this.transactionType, + this.payee, + this.creditOrDebit, + this.sourceTransactionId, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional bankFeedAccount = Optional.empty(); + + private Optional transactionDate = Optional.empty(); + + private Optional postedDate = Optional.empty(); + + private Optional amount = Optional.empty(); + + private Optional description = Optional.empty(); + + private Optional transactionType = Optional.empty(); + + private Optional payee = Optional.empty(); + + private Optional creditOrDebit = Optional.empty(); + + private Optional sourceTransactionId = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BankFeedTransactionRequestRequest other) { + bankFeedAccount(other.getBankFeedAccount()); + transactionDate(other.getTransactionDate()); + postedDate(other.getPostedDate()); + amount(other.getAmount()); + description(other.getDescription()); + transactionType(other.getTransactionType()); + payee(other.getPayee()); + creditOrDebit(other.getCreditOrDebit()); + sourceTransactionId(other.getSourceTransactionId()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "bank_feed_account", nulls = Nulls.SKIP) + public Builder bankFeedAccount(Optional bankFeedAccount) { + this.bankFeedAccount = bankFeedAccount; + return this; + } + + public Builder bankFeedAccount(BankFeedTransactionRequestRequestBankFeedAccount bankFeedAccount) { + this.bankFeedAccount = Optional.of(bankFeedAccount); + return this; + } + + @JsonSetter(value = "transaction_date", nulls = Nulls.SKIP) + public Builder transactionDate(Optional transactionDate) { + this.transactionDate = transactionDate; + return this; + } + + public Builder transactionDate(OffsetDateTime transactionDate) { + this.transactionDate = Optional.of(transactionDate); + return this; + } + + @JsonSetter(value = "posted_date", nulls = Nulls.SKIP) + public Builder postedDate(Optional postedDate) { + this.postedDate = postedDate; + return this; + } + + public Builder postedDate(OffsetDateTime postedDate) { + this.postedDate = Optional.of(postedDate); + return this; + } + + @JsonSetter(value = "amount", nulls = Nulls.SKIP) + public Builder amount(Optional amount) { + this.amount = amount; + return this; + } + + public Builder amount(Double amount) { + this.amount = Optional.of(amount); + return this; + } + + @JsonSetter(value = "description", nulls = Nulls.SKIP) + public Builder description(Optional description) { + this.description = description; + return this; + } + + public Builder description(String description) { + this.description = Optional.of(description); + return this; + } + + @JsonSetter(value = "transaction_type", nulls = Nulls.SKIP) + public Builder transactionType(Optional transactionType) { + this.transactionType = transactionType; + return this; + } + + public Builder transactionType(String transactionType) { + this.transactionType = Optional.of(transactionType); + return this; + } + + @JsonSetter(value = "payee", nulls = Nulls.SKIP) + public Builder payee(Optional payee) { + this.payee = payee; + return this; + } + + public Builder payee(String payee) { + this.payee = Optional.of(payee); + return this; + } + + @JsonSetter(value = "credit_or_debit", nulls = Nulls.SKIP) + public Builder creditOrDebit(Optional creditOrDebit) { + this.creditOrDebit = creditOrDebit; + return this; + } + + public Builder creditOrDebit(BankFeedTransactionRequestRequestCreditOrDebit creditOrDebit) { + this.creditOrDebit = Optional.of(creditOrDebit); + return this; + } + + @JsonSetter(value = "source_transaction_id", nulls = Nulls.SKIP) + public Builder sourceTransactionId(Optional sourceTransactionId) { + this.sourceTransactionId = sourceTransactionId; + return this; + } + + public Builder sourceTransactionId(String sourceTransactionId) { + this.sourceTransactionId = Optional.of(sourceTransactionId); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public BankFeedTransactionRequestRequest build() { + return new BankFeedTransactionRequestRequest( + bankFeedAccount, + transactionDate, + postedDate, + amount, + description, + transactionType, + payee, + creditOrDebit, + sourceTransactionId, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.java new file mode 100644 index 000000000..5e848f268 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequestBankFeedAccount.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedTransactionRequestRequestBankFeedAccount.Deserializer.class) +public final class BankFeedTransactionRequestRequestBankFeedAccount { + private final Object value; + + private final int type; + + private BankFeedTransactionRequestRequestBankFeedAccount(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((BankFeedAccount) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionRequestRequestBankFeedAccount + && equalTo((BankFeedTransactionRequestRequestBankFeedAccount) other); + } + + private boolean equalTo(BankFeedTransactionRequestRequestBankFeedAccount other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedTransactionRequestRequestBankFeedAccount of(String value) { + return new BankFeedTransactionRequestRequestBankFeedAccount(value, 0); + } + + public static BankFeedTransactionRequestRequestBankFeedAccount of(BankFeedAccount value) { + return new BankFeedTransactionRequestRequestBankFeedAccount(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(BankFeedAccount value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedTransactionRequestRequestBankFeedAccount.class); + } + + @java.lang.Override + public BankFeedTransactionRequestRequestBankFeedAccount deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, BankFeedAccount.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequestCreditOrDebit.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequestCreditOrDebit.java new file mode 100644 index 000000000..be1795b39 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionRequestRequestCreditOrDebit.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = BankFeedTransactionRequestRequestCreditOrDebit.Deserializer.class) +public final class BankFeedTransactionRequestRequestCreditOrDebit { + private final Object value; + + private final int type; + + private BankFeedTransactionRequestRequestCreditOrDebit(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((CreditOrDebitEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionRequestRequestCreditOrDebit + && equalTo((BankFeedTransactionRequestRequestCreditOrDebit) other); + } + + private boolean equalTo(BankFeedTransactionRequestRequestCreditOrDebit other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static BankFeedTransactionRequestRequestCreditOrDebit of(CreditOrDebitEnum value) { + return new BankFeedTransactionRequestRequestCreditOrDebit(value, 0); + } + + public static BankFeedTransactionRequestRequestCreditOrDebit of(String value) { + return new BankFeedTransactionRequestRequestCreditOrDebit(value, 1); + } + + public interface Visitor { + T visit(CreditOrDebitEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(BankFeedTransactionRequestRequestCreditOrDebit.class); + } + + @java.lang.Override + public BankFeedTransactionRequestRequestCreditOrDebit deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CreditOrDebitEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionResponse.java b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionResponse.java new file mode 100644 index 000000000..39b6631e5 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/BankFeedTransactionResponse.java @@ -0,0 +1,215 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BankFeedTransactionResponse.Builder.class) +public final class BankFeedTransactionResponse { + private final BankFeedTransaction model; + + private final List warnings; + + private final List errors; + + private final Optional> logs; + + private final Map additionalProperties; + + private BankFeedTransactionResponse( + BankFeedTransaction model, + List warnings, + List errors, + Optional> logs, + Map additionalProperties) { + this.model = model; + this.warnings = warnings; + this.errors = errors; + this.logs = logs; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("model") + public BankFeedTransaction getModel() { + return model; + } + + @JsonProperty("warnings") + public List getWarnings() { + return warnings; + } + + @JsonProperty("errors") + public List getErrors() { + return errors; + } + + @JsonProperty("logs") + public Optional> getLogs() { + return logs; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BankFeedTransactionResponse && equalTo((BankFeedTransactionResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BankFeedTransactionResponse other) { + return model.equals(other.model) + && warnings.equals(other.warnings) + && errors.equals(other.errors) + && logs.equals(other.logs); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.model, this.warnings, this.errors, this.logs); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(BankFeedTransaction model); + + Builder from(BankFeedTransactionResponse other); + } + + public interface _FinalStage { + BankFeedTransactionResponse build(); + + _FinalStage warnings(List warnings); + + _FinalStage addWarnings(WarningValidationProblem warnings); + + _FinalStage addAllWarnings(List warnings); + + _FinalStage errors(List errors); + + _FinalStage addErrors(ErrorValidationProblem errors); + + _FinalStage addAllErrors(List errors); + + _FinalStage logs(Optional> logs); + + _FinalStage logs(List logs); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private BankFeedTransaction model; + + private Optional> logs = Optional.empty(); + + private List errors = new ArrayList<>(); + + private List warnings = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(BankFeedTransactionResponse other) { + model(other.getModel()); + warnings(other.getWarnings()); + errors(other.getErrors()); + logs(other.getLogs()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(BankFeedTransaction model) { + this.model = model; + return this; + } + + @java.lang.Override + public _FinalStage logs(List logs) { + this.logs = Optional.of(logs); + return this; + } + + @java.lang.Override + @JsonSetter(value = "logs", nulls = Nulls.SKIP) + public _FinalStage logs(Optional> logs) { + this.logs = logs; + return this; + } + + @java.lang.Override + public _FinalStage addAllErrors(List errors) { + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addErrors(ErrorValidationProblem errors) { + this.errors.add(errors); + return this; + } + + @java.lang.Override + @JsonSetter(value = "errors", nulls = Nulls.SKIP) + public _FinalStage errors(List errors) { + this.errors.clear(); + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addAllWarnings(List warnings) { + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public _FinalStage addWarnings(WarningValidationProblem warnings) { + this.warnings.add(warnings); + return this; + } + + @java.lang.Override + @JsonSetter(value = "warnings", nulls = Nulls.SKIP) + public _FinalStage warnings(List warnings) { + this.warnings.clear(); + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public BankFeedTransactionResponse build() { + return new BankFeedTransactionResponse(model, warnings, errors, logs, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CashFlowStatementCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/CashFlowStatementCurrency.java index 525dcc296..1af9b6273 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/CashFlowStatementCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/CashFlowStatementCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static CashFlowStatementCurrency of(CurrencyEnum value) { + public static CashFlowStatementCurrency of(TransactionCurrencyEnum value) { return new CashFlowStatementCurrency(value, 0); } @@ -67,7 +67,7 @@ public static CashFlowStatementCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static CompanyInfoCurrency of(CurrencyEnum value) { + public static CompanyInfoCurrency of(TransactionCurrencyEnum value) { return new CompanyInfoCurrency(value, 0); } @@ -67,7 +67,7 @@ public static CompanyInfoCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public CompanyInfoCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNote.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNote.java index c2c82e46f..af7460f06 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/CreditNote.java +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNote.java @@ -63,10 +63,12 @@ public final class CreditNote { private final Optional>> appliedPayments; - private final Optional remoteWasDeleted; - private final Optional accountingPeriod; + private final Optional> appliedToLines; + + private final Optional remoteWasDeleted; + private final Optional> fieldMappings; private final Optional> remoteData; @@ -94,8 +96,9 @@ private CreditNote( Optional remoteUpdatedAt, Optional>> payments, Optional>> appliedPayments, - Optional remoteWasDeleted, Optional accountingPeriod, + Optional> appliedToLines, + Optional remoteWasDeleted, Optional> fieldMappings, Optional> remoteData, Map additionalProperties) { @@ -119,8 +122,9 @@ private CreditNote( this.remoteUpdatedAt = remoteUpdatedAt; this.payments = payments; this.appliedPayments = appliedPayments; - this.remoteWasDeleted = remoteWasDeleted; this.accountingPeriod = accountingPeriod; + this.appliedToLines = appliedToLines; + this.remoteWasDeleted = remoteWasDeleted; this.fieldMappings = fieldMappings; this.remoteData = remoteData; this.additionalProperties = additionalProperties; @@ -590,14 +594,6 @@ public Optional>> getAppliedPayment return appliedPayments; } - /** - * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. - */ - @JsonProperty("remote_was_deleted") - public Optional getRemoteWasDeleted() { - return remoteWasDeleted; - } - /** * @return The accounting period that the CreditNote was generated in. */ @@ -606,6 +602,22 @@ public Optional getAccountingPeriod() { return accountingPeriod; } + /** + * @return A list of the CreditNote Applied to Lines common models related to a given Credit Note + */ + @JsonProperty("applied_to_lines") + public Optional> getAppliedToLines() { + return appliedToLines; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + @JsonProperty("field_mappings") public Optional> getFieldMappings() { return fieldMappings; @@ -648,8 +660,9 @@ private boolean equalTo(CreditNote other) { && remoteUpdatedAt.equals(other.remoteUpdatedAt) && payments.equals(other.payments) && appliedPayments.equals(other.appliedPayments) - && remoteWasDeleted.equals(other.remoteWasDeleted) && accountingPeriod.equals(other.accountingPeriod) + && appliedToLines.equals(other.appliedToLines) + && remoteWasDeleted.equals(other.remoteWasDeleted) && fieldMappings.equals(other.fieldMappings) && remoteData.equals(other.remoteData); } @@ -677,8 +690,9 @@ public int hashCode() { this.remoteUpdatedAt, this.payments, this.appliedPayments, - this.remoteWasDeleted, this.accountingPeriod, + this.appliedToLines, + this.remoteWasDeleted, this.fieldMappings, this.remoteData); } @@ -734,10 +748,12 @@ public static final class Builder { private Optional>> appliedPayments = Optional.empty(); - private Optional remoteWasDeleted = Optional.empty(); - private Optional accountingPeriod = Optional.empty(); + private Optional> appliedToLines = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + private Optional> fieldMappings = Optional.empty(); private Optional> remoteData = Optional.empty(); @@ -768,8 +784,9 @@ public Builder from(CreditNote other) { remoteUpdatedAt(other.getRemoteUpdatedAt()); payments(other.getPayments()); appliedPayments(other.getAppliedPayments()); - remoteWasDeleted(other.getRemoteWasDeleted()); accountingPeriod(other.getAccountingPeriod()); + appliedToLines(other.getAppliedToLines()); + remoteWasDeleted(other.getRemoteWasDeleted()); fieldMappings(other.getFieldMappings()); remoteData(other.getRemoteData()); return this; @@ -996,25 +1013,36 @@ public Builder appliedPayments(List> app return this; } - @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) - public Builder remoteWasDeleted(Optional remoteWasDeleted) { - this.remoteWasDeleted = remoteWasDeleted; + @JsonSetter(value = "accounting_period", nulls = Nulls.SKIP) + public Builder accountingPeriod(Optional accountingPeriod) { + this.accountingPeriod = accountingPeriod; return this; } - public Builder remoteWasDeleted(Boolean remoteWasDeleted) { - this.remoteWasDeleted = Optional.of(remoteWasDeleted); + public Builder accountingPeriod(CreditNoteAccountingPeriod accountingPeriod) { + this.accountingPeriod = Optional.of(accountingPeriod); return this; } - @JsonSetter(value = "accounting_period", nulls = Nulls.SKIP) - public Builder accountingPeriod(Optional accountingPeriod) { - this.accountingPeriod = accountingPeriod; + @JsonSetter(value = "applied_to_lines", nulls = Nulls.SKIP) + public Builder appliedToLines(Optional> appliedToLines) { + this.appliedToLines = appliedToLines; return this; } - public Builder accountingPeriod(CreditNoteAccountingPeriod accountingPeriod) { - this.accountingPeriod = Optional.of(accountingPeriod); + public Builder appliedToLines(List appliedToLines) { + this.appliedToLines = Optional.of(appliedToLines); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); return this; } @@ -1062,8 +1090,9 @@ public CreditNote build() { remoteUpdatedAt, payments, appliedPayments, - remoteWasDeleted, accountingPeriod, + appliedToLines, + remoteWasDeleted, fieldMappings, remoteData, additionalProperties); diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNote.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNote.java new file mode 100644 index 000000000..86cf6dcaa --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNote.java @@ -0,0 +1,275 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = CreditNoteApplyLineForCreditNote.Builder.class) +public final class CreditNoteApplyLineForCreditNote { + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional invoice; + + private final Optional appliedDate; + + private final Optional appliedAmount; + + private final Optional remoteWasDeleted; + + private final Map additionalProperties; + + private CreditNoteApplyLineForCreditNote( + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional invoice, + Optional appliedDate, + Optional appliedAmount, + Optional remoteWasDeleted, + Map additionalProperties) { + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.invoice = invoice; + this.appliedDate = appliedDate; + this.appliedAmount = appliedAmount; + this.remoteWasDeleted = remoteWasDeleted; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + @JsonProperty("invoice") + public Optional getInvoice() { + return invoice; + } + + /** + * @return Date that the credit note is applied to the invoice. + */ + @JsonProperty("applied_date") + public Optional getAppliedDate() { + return appliedDate; + } + + /** + * @return The amount of the Credit Note applied to the invoice. + */ + @JsonProperty("applied_amount") + public Optional getAppliedAmount() { + return appliedAmount; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteApplyLineForCreditNote && equalTo((CreditNoteApplyLineForCreditNote) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditNoteApplyLineForCreditNote other) { + return remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && invoice.equals(other.invoice) + && appliedDate.equals(other.appliedDate) + && appliedAmount.equals(other.appliedAmount) + && remoteWasDeleted.equals(other.remoteWasDeleted); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.createdAt, + this.modifiedAt, + this.invoice, + this.appliedDate, + this.appliedAmount, + this.remoteWasDeleted); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional invoice = Optional.empty(); + + private Optional appliedDate = Optional.empty(); + + private Optional appliedAmount = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(CreditNoteApplyLineForCreditNote other) { + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + invoice(other.getInvoice()); + appliedDate(other.getAppliedDate()); + appliedAmount(other.getAppliedAmount()); + remoteWasDeleted(other.getRemoteWasDeleted()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "invoice", nulls = Nulls.SKIP) + public Builder invoice(Optional invoice) { + this.invoice = invoice; + return this; + } + + public Builder invoice(CreditNoteApplyLineForCreditNoteInvoice invoice) { + this.invoice = Optional.of(invoice); + return this; + } + + @JsonSetter(value = "applied_date", nulls = Nulls.SKIP) + public Builder appliedDate(Optional appliedDate) { + this.appliedDate = appliedDate; + return this; + } + + public Builder appliedDate(OffsetDateTime appliedDate) { + this.appliedDate = Optional.of(appliedDate); + return this; + } + + @JsonSetter(value = "applied_amount", nulls = Nulls.SKIP) + public Builder appliedAmount(Optional appliedAmount) { + this.appliedAmount = appliedAmount; + return this; + } + + public Builder appliedAmount(String appliedAmount) { + this.appliedAmount = Optional.of(appliedAmount); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + public CreditNoteApplyLineForCreditNote build() { + return new CreditNoteApplyLineForCreditNote( + remoteId, + createdAt, + modifiedAt, + invoice, + appliedDate, + appliedAmount, + remoteWasDeleted, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteInvoice.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteInvoice.java new file mode 100644 index 000000000..225405729 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteInvoice.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteApplyLineForCreditNoteInvoice.Deserializer.class) +public final class CreditNoteApplyLineForCreditNoteInvoice { + private final Object value; + + private final int type; + + private CreditNoteApplyLineForCreditNoteInvoice(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Invoice) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteApplyLineForCreditNoteInvoice + && equalTo((CreditNoteApplyLineForCreditNoteInvoice) other); + } + + private boolean equalTo(CreditNoteApplyLineForCreditNoteInvoice other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteApplyLineForCreditNoteInvoice of(String value) { + return new CreditNoteApplyLineForCreditNoteInvoice(value, 0); + } + + public static CreditNoteApplyLineForCreditNoteInvoice of(Invoice value) { + return new CreditNoteApplyLineForCreditNoteInvoice(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Invoice value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteApplyLineForCreditNoteInvoice.class); + } + + @java.lang.Override + public CreditNoteApplyLineForCreditNoteInvoice deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Invoice.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequest.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequest.java new file mode 100644 index 000000000..c604994b7 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequest.java @@ -0,0 +1,242 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = CreditNoteApplyLineForCreditNoteRequest.Builder.class) +public final class CreditNoteApplyLineForCreditNoteRequest { + private final Optional remoteId; + + private final Optional invoice; + + private final Optional appliedDate; + + private final Optional appliedAmount; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private CreditNoteApplyLineForCreditNoteRequest( + Optional remoteId, + Optional invoice, + Optional appliedDate, + Optional appliedAmount, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.remoteId = remoteId; + this.invoice = invoice; + this.appliedDate = appliedDate; + this.appliedAmount = appliedAmount; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + @JsonProperty("invoice") + public Optional getInvoice() { + return invoice; + } + + /** + * @return Date that the credit note is applied to the invoice. + */ + @JsonProperty("applied_date") + public Optional getAppliedDate() { + return appliedDate; + } + + /** + * @return The amount of the Credit Note applied to the invoice. + */ + @JsonProperty("applied_amount") + public Optional getAppliedAmount() { + return appliedAmount; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteApplyLineForCreditNoteRequest + && equalTo((CreditNoteApplyLineForCreditNoteRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditNoteApplyLineForCreditNoteRequest other) { + return remoteId.equals(other.remoteId) + && invoice.equals(other.invoice) + && appliedDate.equals(other.appliedDate) + && appliedAmount.equals(other.appliedAmount) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.invoice, + this.appliedDate, + this.appliedAmount, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional invoice = Optional.empty(); + + private Optional appliedDate = Optional.empty(); + + private Optional appliedAmount = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(CreditNoteApplyLineForCreditNoteRequest other) { + remoteId(other.getRemoteId()); + invoice(other.getInvoice()); + appliedDate(other.getAppliedDate()); + appliedAmount(other.getAppliedAmount()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "invoice", nulls = Nulls.SKIP) + public Builder invoice(Optional invoice) { + this.invoice = invoice; + return this; + } + + public Builder invoice(CreditNoteApplyLineForCreditNoteRequestInvoice invoice) { + this.invoice = Optional.of(invoice); + return this; + } + + @JsonSetter(value = "applied_date", nulls = Nulls.SKIP) + public Builder appliedDate(Optional appliedDate) { + this.appliedDate = appliedDate; + return this; + } + + public Builder appliedDate(OffsetDateTime appliedDate) { + this.appliedDate = Optional.of(appliedDate); + return this; + } + + @JsonSetter(value = "applied_amount", nulls = Nulls.SKIP) + public Builder appliedAmount(Optional appliedAmount) { + this.appliedAmount = appliedAmount; + return this; + } + + public Builder appliedAmount(String appliedAmount) { + this.appliedAmount = Optional.of(appliedAmount); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public CreditNoteApplyLineForCreditNoteRequest build() { + return new CreditNoteApplyLineForCreditNoteRequest( + remoteId, + invoice, + appliedDate, + appliedAmount, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.java new file mode 100644 index 000000000..face50f87 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForCreditNoteRequestInvoice.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteApplyLineForCreditNoteRequestInvoice.Deserializer.class) +public final class CreditNoteApplyLineForCreditNoteRequestInvoice { + private final Object value; + + private final int type; + + private CreditNoteApplyLineForCreditNoteRequestInvoice(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Invoice) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteApplyLineForCreditNoteRequestInvoice + && equalTo((CreditNoteApplyLineForCreditNoteRequestInvoice) other); + } + + private boolean equalTo(CreditNoteApplyLineForCreditNoteRequestInvoice other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteApplyLineForCreditNoteRequestInvoice of(String value) { + return new CreditNoteApplyLineForCreditNoteRequestInvoice(value, 0); + } + + public static CreditNoteApplyLineForCreditNoteRequestInvoice of(Invoice value) { + return new CreditNoteApplyLineForCreditNoteRequestInvoice(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Invoice value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteApplyLineForCreditNoteRequestInvoice.class); + } + + @java.lang.Override + public CreditNoteApplyLineForCreditNoteRequestInvoice deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Invoice.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForInvoice.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForInvoice.java new file mode 100644 index 000000000..edb716b85 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForInvoice.java @@ -0,0 +1,275 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = CreditNoteApplyLineForInvoice.Builder.class) +public final class CreditNoteApplyLineForInvoice { + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional creditNote; + + private final Optional appliedDate; + + private final Optional appliedAmount; + + private final Optional remoteWasDeleted; + + private final Map additionalProperties; + + private CreditNoteApplyLineForInvoice( + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional creditNote, + Optional appliedDate, + Optional appliedAmount, + Optional remoteWasDeleted, + Map additionalProperties) { + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.creditNote = creditNote; + this.appliedDate = appliedDate; + this.appliedAmount = appliedAmount; + this.remoteWasDeleted = remoteWasDeleted; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + @JsonProperty("credit_note") + public Optional getCreditNote() { + return creditNote; + } + + /** + * @return Date that the credit note is applied to the invoice. + */ + @JsonProperty("applied_date") + public Optional getAppliedDate() { + return appliedDate; + } + + /** + * @return The amount of the Credit Note applied to the invoice. + */ + @JsonProperty("applied_amount") + public Optional getAppliedAmount() { + return appliedAmount; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteApplyLineForInvoice && equalTo((CreditNoteApplyLineForInvoice) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditNoteApplyLineForInvoice other) { + return remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && creditNote.equals(other.creditNote) + && appliedDate.equals(other.appliedDate) + && appliedAmount.equals(other.appliedAmount) + && remoteWasDeleted.equals(other.remoteWasDeleted); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.createdAt, + this.modifiedAt, + this.creditNote, + this.appliedDate, + this.appliedAmount, + this.remoteWasDeleted); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional creditNote = Optional.empty(); + + private Optional appliedDate = Optional.empty(); + + private Optional appliedAmount = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(CreditNoteApplyLineForInvoice other) { + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + creditNote(other.getCreditNote()); + appliedDate(other.getAppliedDate()); + appliedAmount(other.getAppliedAmount()); + remoteWasDeleted(other.getRemoteWasDeleted()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "credit_note", nulls = Nulls.SKIP) + public Builder creditNote(Optional creditNote) { + this.creditNote = creditNote; + return this; + } + + public Builder creditNote(CreditNoteApplyLineForInvoiceCreditNote creditNote) { + this.creditNote = Optional.of(creditNote); + return this; + } + + @JsonSetter(value = "applied_date", nulls = Nulls.SKIP) + public Builder appliedDate(Optional appliedDate) { + this.appliedDate = appliedDate; + return this; + } + + public Builder appliedDate(OffsetDateTime appliedDate) { + this.appliedDate = Optional.of(appliedDate); + return this; + } + + @JsonSetter(value = "applied_amount", nulls = Nulls.SKIP) + public Builder appliedAmount(Optional appliedAmount) { + this.appliedAmount = appliedAmount; + return this; + } + + public Builder appliedAmount(String appliedAmount) { + this.appliedAmount = Optional.of(appliedAmount); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + public CreditNoteApplyLineForInvoice build() { + return new CreditNoteApplyLineForInvoice( + remoteId, + createdAt, + modifiedAt, + creditNote, + appliedDate, + appliedAmount, + remoteWasDeleted, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForInvoiceCreditNote.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForInvoiceCreditNote.java new file mode 100644 index 000000000..9111ac6c8 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteApplyLineForInvoiceCreditNote.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteApplyLineForInvoiceCreditNote.Deserializer.class) +public final class CreditNoteApplyLineForInvoiceCreditNote { + private final Object value; + + private final int type; + + private CreditNoteApplyLineForInvoiceCreditNote(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CreditNote) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteApplyLineForInvoiceCreditNote + && equalTo((CreditNoteApplyLineForInvoiceCreditNote) other); + } + + private boolean equalTo(CreditNoteApplyLineForInvoiceCreditNote other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteApplyLineForInvoiceCreditNote of(String value) { + return new CreditNoteApplyLineForInvoiceCreditNote(value, 0); + } + + public static CreditNoteApplyLineForInvoiceCreditNote of(CreditNote value) { + return new CreditNoteApplyLineForInvoiceCreditNote(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CreditNote value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteApplyLineForInvoiceCreditNote.class); + } + + @java.lang.Override + public CreditNoteApplyLineForInvoiceCreditNote deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CreditNote.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteCurrency.java index a5190051d..0bceaea2f 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static CreditNoteCurrency of(CurrencyEnum value) { + public static CreditNoteCurrency of(TransactionCurrencyEnum value) { return new CreditNoteCurrency(value, 0); } @@ -67,7 +67,7 @@ public static CreditNoteCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public CreditNoteCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequest.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequest.java new file mode 100644 index 000000000..6f46ca74a --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequest.java @@ -0,0 +1,502 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = CreditNoteLineItemRequest.Builder.class) +public final class CreditNoteLineItemRequest { + private final Optional remoteId; + + private final Optional item; + + private final Optional name; + + private final Optional description; + + private final Optional quantity; + + private final Optional memo; + + private final Optional unitPrice; + + private final Optional taxRate; + + private final Optional totalLineAmount; + + private final Optional trackingCategory; + + private final Optional>> trackingCategories; + + private final Optional account; + + private final Optional company; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private CreditNoteLineItemRequest( + Optional remoteId, + Optional item, + Optional name, + Optional description, + Optional quantity, + Optional memo, + Optional unitPrice, + Optional taxRate, + Optional totalLineAmount, + Optional trackingCategory, + Optional>> trackingCategories, + Optional account, + Optional company, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.remoteId = remoteId; + this.item = item; + this.name = name; + this.description = description; + this.quantity = quantity; + this.memo = memo; + this.unitPrice = unitPrice; + this.taxRate = taxRate; + this.totalLineAmount = totalLineAmount; + this.trackingCategory = trackingCategory; + this.trackingCategories = trackingCategories; + this.account = account; + this.company = company; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + @JsonProperty("item") + public Optional getItem() { + return item; + } + + /** + * @return The credit note line item's name. + */ + @JsonProperty("name") + public Optional getName() { + return name; + } + + /** + * @return The description of the item that is owed. + */ + @JsonProperty("description") + public Optional getDescription() { + return description; + } + + /** + * @return The credit note line item's quantity. + */ + @JsonProperty("quantity") + public Optional getQuantity() { + return quantity; + } + + /** + * @return The credit note line item's memo. + */ + @JsonProperty("memo") + public Optional getMemo() { + return memo; + } + + /** + * @return The credit note line item's unit price. + */ + @JsonProperty("unit_price") + public Optional getUnitPrice() { + return unitPrice; + } + + /** + * @return The tax rate that applies to this line item. + */ + @JsonProperty("tax_rate") + public Optional getTaxRate() { + return taxRate; + } + + /** + * @return The credit note line item's total. + */ + @JsonProperty("total_line_amount") + public Optional getTotalLineAmount() { + return totalLineAmount; + } + + /** + * @return The credit note line item's associated tracking category. + */ + @JsonProperty("tracking_category") + public Optional getTrackingCategory() { + return trackingCategory; + } + + /** + * @return The credit note line item's associated tracking categories. + */ + @JsonProperty("tracking_categories") + public Optional>> getTrackingCategories() { + return trackingCategories; + } + + /** + * @return The credit note line item's account. + */ + @JsonProperty("account") + public Optional getAccount() { + return account; + } + + /** + * @return The company the credit note belongs to. + */ + @JsonProperty("company") + public Optional getCompany() { + return company; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteLineItemRequest && equalTo((CreditNoteLineItemRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditNoteLineItemRequest other) { + return remoteId.equals(other.remoteId) + && item.equals(other.item) + && name.equals(other.name) + && description.equals(other.description) + && quantity.equals(other.quantity) + && memo.equals(other.memo) + && unitPrice.equals(other.unitPrice) + && taxRate.equals(other.taxRate) + && totalLineAmount.equals(other.totalLineAmount) + && trackingCategory.equals(other.trackingCategory) + && trackingCategories.equals(other.trackingCategories) + && account.equals(other.account) + && company.equals(other.company) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.item, + this.name, + this.description, + this.quantity, + this.memo, + this.unitPrice, + this.taxRate, + this.totalLineAmount, + this.trackingCategory, + this.trackingCategories, + this.account, + this.company, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional item = Optional.empty(); + + private Optional name = Optional.empty(); + + private Optional description = Optional.empty(); + + private Optional quantity = Optional.empty(); + + private Optional memo = Optional.empty(); + + private Optional unitPrice = Optional.empty(); + + private Optional taxRate = Optional.empty(); + + private Optional totalLineAmount = Optional.empty(); + + private Optional trackingCategory = Optional.empty(); + + private Optional>> trackingCategories = Optional.empty(); + + private Optional account = Optional.empty(); + + private Optional company = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(CreditNoteLineItemRequest other) { + remoteId(other.getRemoteId()); + item(other.getItem()); + name(other.getName()); + description(other.getDescription()); + quantity(other.getQuantity()); + memo(other.getMemo()); + unitPrice(other.getUnitPrice()); + taxRate(other.getTaxRate()); + totalLineAmount(other.getTotalLineAmount()); + trackingCategory(other.getTrackingCategory()); + trackingCategories(other.getTrackingCategories()); + account(other.getAccount()); + company(other.getCompany()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "item", nulls = Nulls.SKIP) + public Builder item(Optional item) { + this.item = item; + return this; + } + + public Builder item(CreditNoteLineItemRequestItem item) { + this.item = Optional.of(item); + return this; + } + + @JsonSetter(value = "name", nulls = Nulls.SKIP) + public Builder name(Optional name) { + this.name = name; + return this; + } + + public Builder name(String name) { + this.name = Optional.of(name); + return this; + } + + @JsonSetter(value = "description", nulls = Nulls.SKIP) + public Builder description(Optional description) { + this.description = description; + return this; + } + + public Builder description(String description) { + this.description = Optional.of(description); + return this; + } + + @JsonSetter(value = "quantity", nulls = Nulls.SKIP) + public Builder quantity(Optional quantity) { + this.quantity = quantity; + return this; + } + + public Builder quantity(String quantity) { + this.quantity = Optional.of(quantity); + return this; + } + + @JsonSetter(value = "memo", nulls = Nulls.SKIP) + public Builder memo(Optional memo) { + this.memo = memo; + return this; + } + + public Builder memo(String memo) { + this.memo = Optional.of(memo); + return this; + } + + @JsonSetter(value = "unit_price", nulls = Nulls.SKIP) + public Builder unitPrice(Optional unitPrice) { + this.unitPrice = unitPrice; + return this; + } + + public Builder unitPrice(String unitPrice) { + this.unitPrice = Optional.of(unitPrice); + return this; + } + + @JsonSetter(value = "tax_rate", nulls = Nulls.SKIP) + public Builder taxRate(Optional taxRate) { + this.taxRate = taxRate; + return this; + } + + public Builder taxRate(String taxRate) { + this.taxRate = Optional.of(taxRate); + return this; + } + + @JsonSetter(value = "total_line_amount", nulls = Nulls.SKIP) + public Builder totalLineAmount(Optional totalLineAmount) { + this.totalLineAmount = totalLineAmount; + return this; + } + + public Builder totalLineAmount(String totalLineAmount) { + this.totalLineAmount = Optional.of(totalLineAmount); + return this; + } + + @JsonSetter(value = "tracking_category", nulls = Nulls.SKIP) + public Builder trackingCategory(Optional trackingCategory) { + this.trackingCategory = trackingCategory; + return this; + } + + public Builder trackingCategory(String trackingCategory) { + this.trackingCategory = Optional.of(trackingCategory); + return this; + } + + @JsonSetter(value = "tracking_categories", nulls = Nulls.SKIP) + public Builder trackingCategories(Optional>> trackingCategories) { + this.trackingCategories = trackingCategories; + return this; + } + + public Builder trackingCategories(List> trackingCategories) { + this.trackingCategories = Optional.of(trackingCategories); + return this; + } + + @JsonSetter(value = "account", nulls = Nulls.SKIP) + public Builder account(Optional account) { + this.account = account; + return this; + } + + public Builder account(String account) { + this.account = Optional.of(account); + return this; + } + + @JsonSetter(value = "company", nulls = Nulls.SKIP) + public Builder company(Optional company) { + this.company = company; + return this; + } + + public Builder company(CreditNoteLineItemRequestCompany company) { + this.company = Optional.of(company); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public CreditNoteLineItemRequest build() { + return new CreditNoteLineItemRequest( + remoteId, + item, + name, + description, + quantity, + memo, + unitPrice, + taxRate, + totalLineAmount, + trackingCategory, + trackingCategories, + account, + company, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequestCompany.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequestCompany.java new file mode 100644 index 000000000..5142fcf9c --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequestCompany.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteLineItemRequestCompany.Deserializer.class) +public final class CreditNoteLineItemRequestCompany { + private final Object value; + + private final int type; + + private CreditNoteLineItemRequestCompany(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CompanyInfo) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteLineItemRequestCompany && equalTo((CreditNoteLineItemRequestCompany) other); + } + + private boolean equalTo(CreditNoteLineItemRequestCompany other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteLineItemRequestCompany of(String value) { + return new CreditNoteLineItemRequestCompany(value, 0); + } + + public static CreditNoteLineItemRequestCompany of(CompanyInfo value) { + return new CreditNoteLineItemRequestCompany(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CompanyInfo value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteLineItemRequestCompany.class); + } + + @java.lang.Override + public CreditNoteLineItemRequestCompany deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CompanyInfo.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequestItem.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequestItem.java new file mode 100644 index 000000000..8f7c5f372 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteLineItemRequestItem.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteLineItemRequestItem.Deserializer.class) +public final class CreditNoteLineItemRequestItem { + private final Object value; + + private final int type; + + private CreditNoteLineItemRequestItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Item) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteLineItemRequestItem && equalTo((CreditNoteLineItemRequestItem) other); + } + + private boolean equalTo(CreditNoteLineItemRequestItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteLineItemRequestItem of(String value) { + return new CreditNoteLineItemRequestItem(value, 0); + } + + public static CreditNoteLineItemRequestItem of(Item value) { + return new CreditNoteLineItemRequestItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Item value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteLineItemRequestItem.class); + } + + @java.lang.Override + public CreditNoteLineItemRequestItem deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Item.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequest.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequest.java new file mode 100644 index 000000000..116103b92 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequest.java @@ -0,0 +1,901 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = CreditNoteRequest.Builder.class) +public final class CreditNoteRequest { + private final Optional transactionDate; + + private final Optional status; + + private final Optional number; + + private final Optional contact; + + private final Optional company; + + private final Optional exchangeRate; + + private final Optional totalAmount; + + private final Optional remainingCredit; + + private final Optional inclusiveOfTax; + + private final Optional> lineItems; + + private final Optional>> trackingCategories; + + private final Optional currency; + + private final Optional>> payments; + + private final Optional>> appliedPayments; + + private final Optional accountingPeriod; + + private final Optional> appliedToLines; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private CreditNoteRequest( + Optional transactionDate, + Optional status, + Optional number, + Optional contact, + Optional company, + Optional exchangeRate, + Optional totalAmount, + Optional remainingCredit, + Optional inclusiveOfTax, + Optional> lineItems, + Optional>> trackingCategories, + Optional currency, + Optional>> payments, + Optional>> appliedPayments, + Optional accountingPeriod, + Optional> appliedToLines, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.transactionDate = transactionDate; + this.status = status; + this.number = number; + this.contact = contact; + this.company = company; + this.exchangeRate = exchangeRate; + this.totalAmount = totalAmount; + this.remainingCredit = remainingCredit; + this.inclusiveOfTax = inclusiveOfTax; + this.lineItems = lineItems; + this.trackingCategories = trackingCategories; + this.currency = currency; + this.payments = payments; + this.appliedPayments = appliedPayments; + this.accountingPeriod = accountingPeriod; + this.appliedToLines = appliedToLines; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The credit note's transaction date. + */ + @JsonProperty("transaction_date") + public Optional getTransactionDate() { + return transactionDate; + } + + /** + * @return The credit note's status. + *
            + *
          • SUBMITTED - SUBMITTED
          • + *
          • AUTHORIZED - AUTHORIZED
          • + *
          • PAID - PAID
          • + *
          + */ + @JsonProperty("status") + public Optional getStatus() { + return status; + } + + /** + * @return The credit note's number. + */ + @JsonProperty("number") + public Optional getNumber() { + return number; + } + + /** + * @return The credit note's contact. + */ + @JsonProperty("contact") + public Optional getContact() { + return contact; + } + + /** + * @return The company the credit note belongs to. + */ + @JsonProperty("company") + public Optional getCompany() { + return company; + } + + /** + * @return The credit note's exchange rate. + */ + @JsonProperty("exchange_rate") + public Optional getExchangeRate() { + return exchangeRate; + } + + /** + * @return The credit note's total amount. + */ + @JsonProperty("total_amount") + public Optional getTotalAmount() { + return totalAmount; + } + + /** + * @return The amount of value remaining in the credit note that the customer can use. + */ + @JsonProperty("remaining_credit") + public Optional getRemainingCredit() { + return remainingCredit; + } + + /** + * @return If the transaction is inclusive or exclusive of tax. True if inclusive, False if exclusive. + */ + @JsonProperty("inclusive_of_tax") + public Optional getInclusiveOfTax() { + return inclusiveOfTax; + } + + @JsonProperty("line_items") + public Optional> getLineItems() { + return lineItems; + } + + @JsonProperty("tracking_categories") + public Optional>> getTrackingCategories() { + return trackingCategories; + } + + /** + * @return The credit note's currency. + *
            + *
          • XUA - ADB Unit of Account
          • + *
          • AFN - Afghan Afghani
          • + *
          • AFA - Afghan Afghani (1927–2002)
          • + *
          • ALL - Albanian Lek
          • + *
          • ALK - Albanian Lek (1946–1965)
          • + *
          • DZD - Algerian Dinar
          • + *
          • ADP - Andorran Peseta
          • + *
          • AOA - Angolan Kwanza
          • + *
          • AOK - Angolan Kwanza (1977–1991)
          • + *
          • AON - Angolan New Kwanza (1990–2000)
          • + *
          • AOR - Angolan Readjusted Kwanza (1995–1999)
          • + *
          • ARA - Argentine Austral
          • + *
          • ARS - Argentine Peso
          • + *
          • ARM - Argentine Peso (1881–1970)
          • + *
          • ARP - Argentine Peso (1983–1985)
          • + *
          • ARL - Argentine Peso Ley (1970–1983)
          • + *
          • AMD - Armenian Dram
          • + *
          • AWG - Aruban Florin
          • + *
          • AUD - Australian Dollar
          • + *
          • ATS - Austrian Schilling
          • + *
          • AZN - Azerbaijani Manat
          • + *
          • AZM - Azerbaijani Manat (1993–2006)
          • + *
          • BSD - Bahamian Dollar
          • + *
          • BHD - Bahraini Dinar
          • + *
          • BDT - Bangladeshi Taka
          • + *
          • BBD - Barbadian Dollar
          • + *
          • BYN - Belarusian Ruble
          • + *
          • BYB - Belarusian Ruble (1994–1999)
          • + *
          • BYR - Belarusian Ruble (2000–2016)
          • + *
          • BEF - Belgian Franc
          • + *
          • BEC - Belgian Franc (convertible)
          • + *
          • BEL - Belgian Franc (financial)
          • + *
          • BZD - Belize Dollar
          • + *
          • BMD - Bermudan Dollar
          • + *
          • BTN - Bhutanese Ngultrum
          • + *
          • BOB - Bolivian Boliviano
          • + *
          • BOL - Bolivian Boliviano (1863–1963)
          • + *
          • BOV - Bolivian Mvdol
          • + *
          • BOP - Bolivian Peso
          • + *
          • BAM - Bosnia-Herzegovina Convertible Mark
          • + *
          • BAD - Bosnia-Herzegovina Dinar (1992–1994)
          • + *
          • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
          • + *
          • BWP - Botswanan Pula
          • + *
          • BRC - 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 Real
          • + *
          • GBP - British Pound
          • + *
          • BND - Brunei Dollar
          • + *
          • BGL - Bulgarian Hard Lev
          • + *
          • BGN - Bulgarian Lev
          • + *
          • BGO - Bulgarian Lev (1879–1952)
          • + *
          • BGM - Bulgarian Socialist Lev
          • + *
          • BUK - Burmese Kyat
          • + *
          • BIF - Burundian Franc
          • + *
          • XPF - CFP Franc
          • + *
          • KHR - Cambodian Riel
          • + *
          • CAD - Canadian Dollar
          • + *
          • CVE - Cape Verdean Escudo
          • + *
          • KYD - Cayman Islands Dollar
          • + *
          • XAF - Central African CFA Franc
          • + *
          • CLE - Chilean Escudo
          • + *
          • CLP - Chilean Peso
          • + *
          • CLF - Chilean Unit of Account (UF)
          • + *
          • CNX - Chinese People’s Bank Dollar
          • + *
          • CNY - Chinese Yuan
          • + *
          • CNH - Chinese Yuan (offshore)
          • + *
          • COP - Colombian Peso
          • + *
          • COU - Colombian Real Value Unit
          • + *
          • KMF - Comorian Franc
          • + *
          • CDF - Congolese Franc
          • + *
          • CRC - Costa Rican Colón
          • + *
          • HRD - Croatian Dinar
          • + *
          • HRK - Croatian Kuna
          • + *
          • CUC - Cuban Convertible Peso
          • + *
          • CUP - Cuban Peso
          • + *
          • CYP - Cypriot Pound
          • + *
          • CZK - Czech Koruna
          • + *
          • CSK - Czechoslovak Hard Koruna
          • + *
          • DKK - Danish Krone
          • + *
          • DJF - Djiboutian Franc
          • + *
          • DOP - Dominican Peso
          • + *
          • NLG - Dutch Guilder
          • + *
          • XCD - East Caribbean Dollar
          • + *
          • DDM - East German Mark
          • + *
          • ECS - Ecuadorian Sucre
          • + *
          • ECV - Ecuadorian Unit of Constant Value
          • + *
          • EGP - Egyptian Pound
          • + *
          • GQE - Equatorial Guinean Ekwele
          • + *
          • ERN - Eritrean Nakfa
          • + *
          • EEK - Estonian Kroon
          • + *
          • ETB - Ethiopian Birr
          • + *
          • EUR - Euro
          • + *
          • XBA - European Composite Unit
          • + *
          • XEU - European Currency Unit
          • + *
          • XBB - European Monetary Unit
          • + *
          • XBC - European Unit of Account (XBC)
          • + *
          • XBD - European Unit of Account (XBD)
          • + *
          • FKP - Falkland Islands Pound
          • + *
          • FJD - Fijian Dollar
          • + *
          • FIM - Finnish Markka
          • + *
          • FRF - French Franc
          • + *
          • XFO - French Gold Franc
          • + *
          • XFU - French UIC-Franc
          • + *
          • GMD - Gambian Dalasi
          • + *
          • GEK - Georgian Kupon Larit
          • + *
          • GEL - Georgian Lari
          • + *
          • DEM - German Mark
          • + *
          • GHS - Ghanaian Cedi
          • + *
          • GHC - Ghanaian Cedi (1979–2007)
          • + *
          • GIP - Gibraltar Pound
          • + *
          • XAU - Gold
          • + *
          • GRD - Greek Drachma
          • + *
          • GTQ - Guatemalan Quetzal
          • + *
          • GWP - Guinea-Bissau Peso
          • + *
          • GNF - Guinean Franc
          • + *
          • GNS - Guinean Syli
          • + *
          • GYD - Guyanaese Dollar
          • + *
          • HTG - Haitian Gourde
          • + *
          • HNL - Honduran Lempira
          • + *
          • HKD - Hong Kong Dollar
          • + *
          • HUF - Hungarian Forint
          • + *
          • IMP - IMP
          • + *
          • ISK - Icelandic Króna
          • + *
          • ISJ - Icelandic Króna (1918–1981)
          • + *
          • INR - Indian Rupee
          • + *
          • IDR - Indonesian Rupiah
          • + *
          • IRR - Iranian Rial
          • + *
          • IQD - Iraqi Dinar
          • + *
          • IEP - Irish Pound
          • + *
          • ILS - Israeli New Shekel
          • + *
          • ILP - Israeli Pound
          • + *
          • ILR - Israeli Shekel (1980–1985)
          • + *
          • ITL - Italian Lira
          • + *
          • JMD - Jamaican Dollar
          • + *
          • JPY - Japanese Yen
          • + *
          • JOD - Jordanian Dinar
          • + *
          • KZT - Kazakhstani Tenge
          • + *
          • KES - Kenyan Shilling
          • + *
          • KWD - Kuwaiti Dinar
          • + *
          • KGS - Kyrgystani Som
          • + *
          • LAK - Laotian Kip
          • + *
          • LVL - Latvian Lats
          • + *
          • LVR - Latvian Ruble
          • + *
          • LBP - Lebanese Pound
          • + *
          • LSL - Lesotho Loti
          • + *
          • LRD - Liberian Dollar
          • + *
          • LYD - Libyan Dinar
          • + *
          • LTL - Lithuanian Litas
          • + *
          • LTT - Lithuanian Talonas
          • + *
          • LUL - Luxembourg Financial Franc
          • + *
          • LUC - Luxembourgian Convertible Franc
          • + *
          • LUF - Luxembourgian Franc
          • + *
          • MOP - Macanese Pataca
          • + *
          • MKD - Macedonian Denar
          • + *
          • MKN - Macedonian Denar (1992–1993)
          • + *
          • MGA - Malagasy Ariary
          • + *
          • MGF - Malagasy Franc
          • + *
          • MWK - Malawian Kwacha
          • + *
          • MYR - Malaysian Ringgit
          • + *
          • MVR - Maldivian Rufiyaa
          • + *
          • MVP - Maldivian Rupee (1947–1981)
          • + *
          • MLF - Malian Franc
          • + *
          • MTL - Maltese Lira
          • + *
          • MTP - Maltese Pound
          • + *
          • MRU - Mauritanian Ouguiya
          • + *
          • MRO - Mauritanian Ouguiya (1973–2017)
          • + *
          • MUR - Mauritian Rupee
          • + *
          • MXV - Mexican Investment Unit
          • + *
          • MXN - Mexican Peso
          • + *
          • MXP - Mexican Silver Peso (1861–1992)
          • + *
          • MDC - Moldovan Cupon
          • + *
          • MDL - Moldovan Leu
          • + *
          • MCF - Monegasque Franc
          • + *
          • MNT - Mongolian Tugrik
          • + *
          • MAD - Moroccan Dirham
          • + *
          • MAF - Moroccan Franc
          • + *
          • MZE - Mozambican Escudo
          • + *
          • MZN - Mozambican Metical
          • + *
          • MZM - Mozambican Metical (1980–2006)
          • + *
          • MMK - Myanmar Kyat
          • + *
          • NAD - Namibian Dollar
          • + *
          • NPR - Nepalese Rupee
          • + *
          • ANG - Netherlands Antillean Guilder
          • + *
          • TWD - New Taiwan Dollar
          • + *
          • NZD - New Zealand Dollar
          • + *
          • NIO - Nicaraguan Córdoba
          • + *
          • NIC - Nicaraguan Córdoba (1988–1991)
          • + *
          • NGN - Nigerian Naira
          • + *
          • KPW - North Korean Won
          • + *
          • NOK - Norwegian Krone
          • + *
          • OMR - Omani Rial
          • + *
          • PKR - Pakistani Rupee
          • + *
          • XPD - Palladium
          • + *
          • PAB - Panamanian Balboa
          • + *
          • PGK - Papua New Guinean Kina
          • + *
          • PYG - Paraguayan Guarani
          • + *
          • PEI - Peruvian Inti
          • + *
          • PEN - Peruvian Sol
          • + *
          • PES - Peruvian Sol (1863–1965)
          • + *
          • PHP - Philippine Peso
          • + *
          • XPT - Platinum
          • + *
          • PLN - Polish Zloty
          • + *
          • PLZ - Polish Zloty (1950–1995)
          • + *
          • PTE - Portuguese Escudo
          • + *
          • GWE - Portuguese Guinea Escudo
          • + *
          • QAR - Qatari Rial
          • + *
          • XRE - RINET Funds
          • + *
          • RHD - Rhodesian Dollar
          • + *
          • RON - Romanian Leu
          • + *
          • ROL - Romanian Leu (1952–2006)
          • + *
          • RUB - Russian Ruble
          • + *
          • RUR - Russian Ruble (1991–1998)
          • + *
          • RWF - Rwandan Franc
          • + *
          • SVC - Salvadoran Colón
          • + *
          • WST - Samoan Tala
          • + *
          • SAR - Saudi Riyal
          • + *
          • RSD - Serbian Dinar
          • + *
          • CSD - Serbian Dinar (2002–2006)
          • + *
          • SCR - Seychellois Rupee
          • + *
          • SLL - Sierra Leonean Leone
          • + *
          • XAG - Silver
          • + *
          • SGD - Singapore Dollar
          • + *
          • SKK - Slovak Koruna
          • + *
          • SIT - Slovenian Tolar
          • + *
          • SBD - Solomon Islands Dollar
          • + *
          • SOS - Somali Shilling
          • + *
          • ZAR - South African Rand
          • + *
          • ZAL - South African Rand (financial)
          • + *
          • KRH - South Korean Hwan (1953–1962)
          • + *
          • KRW - South Korean Won
          • + *
          • KRO - South Korean Won (1945–1953)
          • + *
          • SSP - South Sudanese Pound
          • + *
          • SUR - Soviet Rouble
          • + *
          • ESP - Spanish Peseta
          • + *
          • ESA - Spanish Peseta (A account)
          • + *
          • ESB - Spanish Peseta (convertible account)
          • + *
          • XDR - Special Drawing Rights
          • + *
          • LKR - Sri Lankan Rupee
          • + *
          • SHP - St. Helena Pound
          • + *
          • XSU - Sucre
          • + *
          • SDD - Sudanese Dinar (1992–2007)
          • + *
          • SDG - Sudanese Pound
          • + *
          • SDP - Sudanese Pound (1957–1998)
          • + *
          • SRD - Surinamese Dollar
          • + *
          • SRG - Surinamese Guilder
          • + *
          • SZL - Swazi Lilangeni
          • + *
          • SEK - Swedish Krona
          • + *
          • CHF - Swiss Franc
          • + *
          • SYP - Syrian Pound
          • + *
          • STN - São Tomé & Príncipe Dobra
          • + *
          • STD - São Tomé & Príncipe Dobra (1977–2017)
          • + *
          • TVD - TVD
          • + *
          • TJR - Tajikistani Ruble
          • + *
          • TJS - Tajikistani Somoni
          • + *
          • TZS - Tanzanian Shilling
          • + *
          • XTS - Testing Currency Code
          • + *
          • THB - Thai Baht
          • + *
          • XXX - The codes assigned for transactions where no currency is involved
          • + *
          • TPE - Timorese Escudo
          • + *
          • TOP - Tongan Paʻanga
          • + *
          • TTD - Trinidad & Tobago Dollar
          • + *
          • TND - Tunisian Dinar
          • + *
          • TRY - Turkish Lira
          • + *
          • TRL - Turkish Lira (1922–2005)
          • + *
          • TMT - Turkmenistani Manat
          • + *
          • TMM - Turkmenistani Manat (1993–2009)
          • + *
          • USD - US Dollar
          • + *
          • USN - US Dollar (Next day)
          • + *
          • USS - US Dollar (Same day)
          • + *
          • UGX - Ugandan Shilling
          • + *
          • UGS - Ugandan Shilling (1966–1987)
          • + *
          • UAH - Ukrainian Hryvnia
          • + *
          • UAK - Ukrainian Karbovanets
          • + *
          • AED - United Arab Emirates Dirham
          • + *
          • UYW - Uruguayan Nominal Wage Index Unit
          • + *
          • UYU - Uruguayan Peso
          • + *
          • UYP - Uruguayan Peso (1975–1993)
          • + *
          • UYI - Uruguayan Peso (Indexed Units)
          • + *
          • UZS - Uzbekistani Som
          • + *
          • VUV - Vanuatu Vatu
          • + *
          • VES - Venezuelan Bolívar
          • + *
          • VEB - Venezuelan Bolívar (1871–2008)
          • + *
          • VEF - Venezuelan Bolívar (2008–2018)
          • + *
          • VND - Vietnamese Dong
          • + *
          • VNN - Vietnamese Dong (1978–1985)
          • + *
          • CHE - WIR Euro
          • + *
          • CHW - WIR Franc
          • + *
          • XOF - West African CFA Franc
          • + *
          • YDD - Yemeni Dinar
          • + *
          • YER - Yemeni Rial
          • + *
          • YUN - Yugoslavian Convertible Dinar (1990–1992)
          • + *
          • YUD - Yugoslavian Hard Dinar (1966–1990)
          • + *
          • YUM - Yugoslavian New Dinar (1994–2002)
          • + *
          • YUR - Yugoslavian Reformed Dinar (1992–1993)
          • + *
          • ZWN - ZWN
          • + *
          • ZRN - Zairean New Zaire (1993–1998)
          • + *
          • ZRZ - Zairean Zaire (1971–1993)
          • + *
          • ZMW - Zambian Kwacha
          • + *
          • ZMK - Zambian Kwacha (1968–2012)
          • + *
          • ZWD - Zimbabwean Dollar (1980–2008)
          • + *
          • ZWR - Zimbabwean Dollar (2008)
          • + *
          • ZWL - Zimbabwean Dollar (2009)
          • + *
          + */ + @JsonProperty("currency") + public Optional getCurrency() { + return currency; + } + + /** + * @return Array of Payment object IDs + */ + @JsonProperty("payments") + public Optional>> getPayments() { + return payments; + } + + /** + * @return A list of the Payment Applied to Lines common models related to a given Invoice, Credit Note, or Journal Entry. + */ + @JsonProperty("applied_payments") + public Optional>> getAppliedPayments() { + return appliedPayments; + } + + /** + * @return The accounting period that the CreditNote was generated in. + */ + @JsonProperty("accounting_period") + public Optional getAccountingPeriod() { + return accountingPeriod; + } + + /** + * @return A list of the CreditNote Applied to Lines common models related to a given Credit Note + */ + @JsonProperty("applied_to_lines") + public Optional> getAppliedToLines() { + return appliedToLines; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequest && equalTo((CreditNoteRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditNoteRequest other) { + return transactionDate.equals(other.transactionDate) + && status.equals(other.status) + && number.equals(other.number) + && contact.equals(other.contact) + && company.equals(other.company) + && exchangeRate.equals(other.exchangeRate) + && totalAmount.equals(other.totalAmount) + && remainingCredit.equals(other.remainingCredit) + && inclusiveOfTax.equals(other.inclusiveOfTax) + && lineItems.equals(other.lineItems) + && trackingCategories.equals(other.trackingCategories) + && currency.equals(other.currency) + && payments.equals(other.payments) + && appliedPayments.equals(other.appliedPayments) + && accountingPeriod.equals(other.accountingPeriod) + && appliedToLines.equals(other.appliedToLines) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.transactionDate, + this.status, + this.number, + this.contact, + this.company, + this.exchangeRate, + this.totalAmount, + this.remainingCredit, + this.inclusiveOfTax, + this.lineItems, + this.trackingCategories, + this.currency, + this.payments, + this.appliedPayments, + this.accountingPeriod, + this.appliedToLines, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional transactionDate = Optional.empty(); + + private Optional status = Optional.empty(); + + private Optional number = Optional.empty(); + + private Optional contact = Optional.empty(); + + private Optional company = Optional.empty(); + + private Optional exchangeRate = Optional.empty(); + + private Optional totalAmount = Optional.empty(); + + private Optional remainingCredit = Optional.empty(); + + private Optional inclusiveOfTax = Optional.empty(); + + private Optional> lineItems = Optional.empty(); + + private Optional>> trackingCategories = Optional.empty(); + + private Optional currency = Optional.empty(); + + private Optional>> payments = Optional.empty(); + + private Optional>> appliedPayments = Optional.empty(); + + private Optional accountingPeriod = Optional.empty(); + + private Optional> appliedToLines = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(CreditNoteRequest other) { + transactionDate(other.getTransactionDate()); + status(other.getStatus()); + number(other.getNumber()); + contact(other.getContact()); + company(other.getCompany()); + exchangeRate(other.getExchangeRate()); + totalAmount(other.getTotalAmount()); + remainingCredit(other.getRemainingCredit()); + inclusiveOfTax(other.getInclusiveOfTax()); + lineItems(other.getLineItems()); + trackingCategories(other.getTrackingCategories()); + currency(other.getCurrency()); + payments(other.getPayments()); + appliedPayments(other.getAppliedPayments()); + accountingPeriod(other.getAccountingPeriod()); + appliedToLines(other.getAppliedToLines()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "transaction_date", nulls = Nulls.SKIP) + public Builder transactionDate(Optional transactionDate) { + this.transactionDate = transactionDate; + return this; + } + + public Builder transactionDate(OffsetDateTime transactionDate) { + this.transactionDate = Optional.of(transactionDate); + return this; + } + + @JsonSetter(value = "status", nulls = Nulls.SKIP) + public Builder status(Optional status) { + this.status = status; + return this; + } + + public Builder status(CreditNoteRequestStatus status) { + this.status = Optional.of(status); + return this; + } + + @JsonSetter(value = "number", nulls = Nulls.SKIP) + public Builder number(Optional number) { + this.number = number; + return this; + } + + public Builder number(String number) { + this.number = Optional.of(number); + return this; + } + + @JsonSetter(value = "contact", nulls = Nulls.SKIP) + public Builder contact(Optional contact) { + this.contact = contact; + return this; + } + + public Builder contact(CreditNoteRequestContact contact) { + this.contact = Optional.of(contact); + return this; + } + + @JsonSetter(value = "company", nulls = Nulls.SKIP) + public Builder company(Optional company) { + this.company = company; + return this; + } + + public Builder company(CreditNoteRequestCompany company) { + this.company = Optional.of(company); + return this; + } + + @JsonSetter(value = "exchange_rate", nulls = Nulls.SKIP) + public Builder exchangeRate(Optional exchangeRate) { + this.exchangeRate = exchangeRate; + return this; + } + + public Builder exchangeRate(String exchangeRate) { + this.exchangeRate = Optional.of(exchangeRate); + return this; + } + + @JsonSetter(value = "total_amount", nulls = Nulls.SKIP) + public Builder totalAmount(Optional totalAmount) { + this.totalAmount = totalAmount; + return this; + } + + public Builder totalAmount(Double totalAmount) { + this.totalAmount = Optional.of(totalAmount); + return this; + } + + @JsonSetter(value = "remaining_credit", nulls = Nulls.SKIP) + public Builder remainingCredit(Optional remainingCredit) { + this.remainingCredit = remainingCredit; + return this; + } + + public Builder remainingCredit(Double remainingCredit) { + this.remainingCredit = Optional.of(remainingCredit); + return this; + } + + @JsonSetter(value = "inclusive_of_tax", nulls = Nulls.SKIP) + public Builder inclusiveOfTax(Optional inclusiveOfTax) { + this.inclusiveOfTax = inclusiveOfTax; + return this; + } + + public Builder inclusiveOfTax(Boolean inclusiveOfTax) { + this.inclusiveOfTax = Optional.of(inclusiveOfTax); + return this; + } + + @JsonSetter(value = "line_items", nulls = Nulls.SKIP) + public Builder lineItems(Optional> lineItems) { + this.lineItems = lineItems; + return this; + } + + public Builder lineItems(List lineItems) { + this.lineItems = Optional.of(lineItems); + return this; + } + + @JsonSetter(value = "tracking_categories", nulls = Nulls.SKIP) + public Builder trackingCategories( + Optional>> trackingCategories) { + this.trackingCategories = trackingCategories; + return this; + } + + public Builder trackingCategories(List> trackingCategories) { + this.trackingCategories = Optional.of(trackingCategories); + return this; + } + + @JsonSetter(value = "currency", nulls = Nulls.SKIP) + public Builder currency(Optional currency) { + this.currency = currency; + return this; + } + + public Builder currency(CreditNoteRequestCurrency currency) { + this.currency = Optional.of(currency); + return this; + } + + @JsonSetter(value = "payments", nulls = Nulls.SKIP) + public Builder payments(Optional>> payments) { + this.payments = payments; + return this; + } + + public Builder payments(List> payments) { + this.payments = Optional.of(payments); + return this; + } + + @JsonSetter(value = "applied_payments", nulls = Nulls.SKIP) + public Builder appliedPayments(Optional>> appliedPayments) { + this.appliedPayments = appliedPayments; + return this; + } + + public Builder appliedPayments(List> appliedPayments) { + this.appliedPayments = Optional.of(appliedPayments); + return this; + } + + @JsonSetter(value = "accounting_period", nulls = Nulls.SKIP) + public Builder accountingPeriod(Optional accountingPeriod) { + this.accountingPeriod = accountingPeriod; + return this; + } + + public Builder accountingPeriod(CreditNoteRequestAccountingPeriod accountingPeriod) { + this.accountingPeriod = Optional.of(accountingPeriod); + return this; + } + + @JsonSetter(value = "applied_to_lines", nulls = Nulls.SKIP) + public Builder appliedToLines(Optional> appliedToLines) { + this.appliedToLines = appliedToLines; + return this; + } + + public Builder appliedToLines(List appliedToLines) { + this.appliedToLines = Optional.of(appliedToLines); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public CreditNoteRequest build() { + return new CreditNoteRequest( + transactionDate, + status, + number, + contact, + company, + exchangeRate, + totalAmount, + remainingCredit, + inclusiveOfTax, + lineItems, + trackingCategories, + currency, + payments, + appliedPayments, + accountingPeriod, + appliedToLines, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestAccountingPeriod.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestAccountingPeriod.java new file mode 100644 index 000000000..4d9b61fc3 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestAccountingPeriod.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestAccountingPeriod.Deserializer.class) +public final class CreditNoteRequestAccountingPeriod { + private final Object value; + + private final int type; + + private CreditNoteRequestAccountingPeriod(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((AccountingPeriod) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestAccountingPeriod && equalTo((CreditNoteRequestAccountingPeriod) other); + } + + private boolean equalTo(CreditNoteRequestAccountingPeriod other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestAccountingPeriod of(String value) { + return new CreditNoteRequestAccountingPeriod(value, 0); + } + + public static CreditNoteRequestAccountingPeriod of(AccountingPeriod value) { + return new CreditNoteRequestAccountingPeriod(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(AccountingPeriod value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestAccountingPeriod.class); + } + + @java.lang.Override + public CreditNoteRequestAccountingPeriod deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, AccountingPeriod.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.java new file mode 100644 index 000000000..69b32ee27 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestAppliedPaymentsItem.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestAppliedPaymentsItem.Deserializer.class) +public final class CreditNoteRequestAppliedPaymentsItem { + private final Object value; + + private final int type; + + private CreditNoteRequestAppliedPaymentsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((PaymentLineItem) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestAppliedPaymentsItem + && equalTo((CreditNoteRequestAppliedPaymentsItem) other); + } + + private boolean equalTo(CreditNoteRequestAppliedPaymentsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestAppliedPaymentsItem of(String value) { + return new CreditNoteRequestAppliedPaymentsItem(value, 0); + } + + public static CreditNoteRequestAppliedPaymentsItem of(PaymentLineItem value) { + return new CreditNoteRequestAppliedPaymentsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(PaymentLineItem value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestAppliedPaymentsItem.class); + } + + @java.lang.Override + public CreditNoteRequestAppliedPaymentsItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, PaymentLineItem.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestCompany.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestCompany.java new file mode 100644 index 000000000..8ea49697b --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestCompany.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestCompany.Deserializer.class) +public final class CreditNoteRequestCompany { + private final Object value; + + private final int type; + + private CreditNoteRequestCompany(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CompanyInfo) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestCompany && equalTo((CreditNoteRequestCompany) other); + } + + private boolean equalTo(CreditNoteRequestCompany other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestCompany of(String value) { + return new CreditNoteRequestCompany(value, 0); + } + + public static CreditNoteRequestCompany of(CompanyInfo value) { + return new CreditNoteRequestCompany(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CompanyInfo value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestCompany.class); + } + + @java.lang.Override + public CreditNoteRequestCompany deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CompanyInfo.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestContact.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestContact.java new file mode 100644 index 000000000..eed04ae36 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestContact.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestContact.Deserializer.class) +public final class CreditNoteRequestContact { + private final Object value; + + private final int type; + + private CreditNoteRequestContact(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Contact) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestContact && equalTo((CreditNoteRequestContact) other); + } + + private boolean equalTo(CreditNoteRequestContact other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestContact of(String value) { + return new CreditNoteRequestContact(value, 0); + } + + public static CreditNoteRequestContact of(Contact value) { + return new CreditNoteRequestContact(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Contact value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestContact.class); + } + + @java.lang.Override + public CreditNoteRequestContact deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Contact.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestCurrency.java new file mode 100644 index 000000000..f6e0d1b6e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestCurrency.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestCurrency.Deserializer.class) +public final class CreditNoteRequestCurrency { + private final Object value; + + private final int type; + + private CreditNoteRequestCurrency(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((TransactionCurrencyEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestCurrency && equalTo((CreditNoteRequestCurrency) other); + } + + private boolean equalTo(CreditNoteRequestCurrency other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestCurrency of(TransactionCurrencyEnum value) { + return new CreditNoteRequestCurrency(value, 0); + } + + public static CreditNoteRequestCurrency of(String value) { + return new CreditNoteRequestCurrency(value, 1); + } + + public interface Visitor { + T visit(TransactionCurrencyEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestCurrency.class); + } + + @java.lang.Override + public CreditNoteRequestCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestLineItemsItem.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestLineItemsItem.java new file mode 100644 index 000000000..e9748c2fb --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestLineItemsItem.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestLineItemsItem.Deserializer.class) +public final class CreditNoteRequestLineItemsItem { + private final Object value; + + private final int type; + + private CreditNoteRequestLineItemsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CreditNoteLineItemRequest) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestLineItemsItem && equalTo((CreditNoteRequestLineItemsItem) other); + } + + private boolean equalTo(CreditNoteRequestLineItemsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestLineItemsItem of(String value) { + return new CreditNoteRequestLineItemsItem(value, 0); + } + + public static CreditNoteRequestLineItemsItem of(CreditNoteLineItemRequest value) { + return new CreditNoteRequestLineItemsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CreditNoteLineItemRequest value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestLineItemsItem.class); + } + + @java.lang.Override + public CreditNoteRequestLineItemsItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CreditNoteLineItemRequest.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestPaymentsItem.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestPaymentsItem.java new file mode 100644 index 000000000..b613e81b7 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestPaymentsItem.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestPaymentsItem.Deserializer.class) +public final class CreditNoteRequestPaymentsItem { + private final Object value; + + private final int type; + + private CreditNoteRequestPaymentsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Payment) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestPaymentsItem && equalTo((CreditNoteRequestPaymentsItem) other); + } + + private boolean equalTo(CreditNoteRequestPaymentsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestPaymentsItem of(String value) { + return new CreditNoteRequestPaymentsItem(value, 0); + } + + public static CreditNoteRequestPaymentsItem of(Payment value) { + return new CreditNoteRequestPaymentsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Payment value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestPaymentsItem.class); + } + + @java.lang.Override + public CreditNoteRequestPaymentsItem deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Payment.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestStatus.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestStatus.java new file mode 100644 index 000000000..33cd85020 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestStatus.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestStatus.Deserializer.class) +public final class CreditNoteRequestStatus { + private final Object value; + + private final int type; + + private CreditNoteRequestStatus(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((CreditNoteStatusEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestStatus && equalTo((CreditNoteRequestStatus) other); + } + + private boolean equalTo(CreditNoteRequestStatus other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestStatus of(CreditNoteStatusEnum value) { + return new CreditNoteRequestStatus(value, 0); + } + + public static CreditNoteRequestStatus of(String value) { + return new CreditNoteRequestStatus(value, 1); + } + + public interface Visitor { + T visit(CreditNoteStatusEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestStatus.class); + } + + @java.lang.Override + public CreditNoteRequestStatus deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CreditNoteStatusEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestTrackingCategoriesItem.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestTrackingCategoriesItem.java new file mode 100644 index 000000000..c163388b9 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteRequestTrackingCategoriesItem.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CreditNoteRequestTrackingCategoriesItem.Deserializer.class) +public final class CreditNoteRequestTrackingCategoriesItem { + private final Object value; + + private final int type; + + private CreditNoteRequestTrackingCategoriesItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((TrackingCategory) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteRequestTrackingCategoriesItem + && equalTo((CreditNoteRequestTrackingCategoriesItem) other); + } + + private boolean equalTo(CreditNoteRequestTrackingCategoriesItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CreditNoteRequestTrackingCategoriesItem of(String value) { + return new CreditNoteRequestTrackingCategoriesItem(value, 0); + } + + public static CreditNoteRequestTrackingCategoriesItem of(TrackingCategory value) { + return new CreditNoteRequestTrackingCategoriesItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(TrackingCategory value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CreditNoteRequestTrackingCategoriesItem.class); + } + + @java.lang.Override + public CreditNoteRequestTrackingCategoriesItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TrackingCategory.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditNoteResponse.java b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteResponse.java new file mode 100644 index 000000000..559680daf --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditNoteResponse.java @@ -0,0 +1,215 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = CreditNoteResponse.Builder.class) +public final class CreditNoteResponse { + private final CreditNote model; + + private final List warnings; + + private final List errors; + + private final Optional> logs; + + private final Map additionalProperties; + + private CreditNoteResponse( + CreditNote model, + List warnings, + List errors, + Optional> logs, + Map additionalProperties) { + this.model = model; + this.warnings = warnings; + this.errors = errors; + this.logs = logs; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("model") + public CreditNote getModel() { + return model; + } + + @JsonProperty("warnings") + public List getWarnings() { + return warnings; + } + + @JsonProperty("errors") + public List getErrors() { + return errors; + } + + @JsonProperty("logs") + public Optional> getLogs() { + return logs; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditNoteResponse && equalTo((CreditNoteResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditNoteResponse other) { + return model.equals(other.model) + && warnings.equals(other.warnings) + && errors.equals(other.errors) + && logs.equals(other.logs); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.model, this.warnings, this.errors, this.logs); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(CreditNote model); + + Builder from(CreditNoteResponse other); + } + + public interface _FinalStage { + CreditNoteResponse build(); + + _FinalStage warnings(List warnings); + + _FinalStage addWarnings(WarningValidationProblem warnings); + + _FinalStage addAllWarnings(List warnings); + + _FinalStage errors(List errors); + + _FinalStage addErrors(ErrorValidationProblem errors); + + _FinalStage addAllErrors(List errors); + + _FinalStage logs(Optional> logs); + + _FinalStage logs(List logs); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private CreditNote model; + + private Optional> logs = Optional.empty(); + + private List errors = new ArrayList<>(); + + private List warnings = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(CreditNoteResponse other) { + model(other.getModel()); + warnings(other.getWarnings()); + errors(other.getErrors()); + logs(other.getLogs()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(CreditNote model) { + this.model = model; + return this; + } + + @java.lang.Override + public _FinalStage logs(List logs) { + this.logs = Optional.of(logs); + return this; + } + + @java.lang.Override + @JsonSetter(value = "logs", nulls = Nulls.SKIP) + public _FinalStage logs(Optional> logs) { + this.logs = logs; + return this; + } + + @java.lang.Override + public _FinalStage addAllErrors(List errors) { + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addErrors(ErrorValidationProblem errors) { + this.errors.add(errors); + return this; + } + + @java.lang.Override + @JsonSetter(value = "errors", nulls = Nulls.SKIP) + public _FinalStage errors(List errors) { + this.errors.clear(); + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addAllWarnings(List warnings) { + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public _FinalStage addWarnings(WarningValidationProblem warnings) { + this.warnings.add(warnings); + return this; + } + + @java.lang.Override + @JsonSetter(value = "warnings", nulls = Nulls.SKIP) + public _FinalStage warnings(List warnings) { + this.warnings.clear(); + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public CreditNoteResponse build() { + return new CreditNoteResponse(model, warnings, errors, logs, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/CreditOrDebitEnum.java b/src/main/java/com/merge/api/resources/accounting/types/CreditOrDebitEnum.java new file mode 100644 index 000000000..f8284239d --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/CreditOrDebitEnum.java @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum CreditOrDebitEnum { + CREDIT("CREDIT"), + + DEBIT("DEBIT"); + + private final String value; + + CreditOrDebitEnum(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/Employee.java b/src/main/java/com/merge/api/resources/accounting/types/Employee.java new file mode 100644 index 000000000..5eeeb417f --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/Employee.java @@ -0,0 +1,612 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = Employee.Builder.class) +public final class Employee { + private final Optional id; + + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional firstName; + + private final Optional lastName; + + private final Optional isContractor; + + private final Optional employeeNumber; + + private final Optional emailAddress; + + private final Optional company; + + private final EmployeeStatus status; + + private final Optional remoteWasDeleted; + + private final Optional> fieldMappings; + + private final Optional> remoteData; + + private final Map additionalProperties; + + private Employee( + Optional id, + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional firstName, + Optional lastName, + Optional isContractor, + Optional employeeNumber, + Optional emailAddress, + Optional company, + EmployeeStatus status, + Optional remoteWasDeleted, + Optional> fieldMappings, + Optional> remoteData, + Map additionalProperties) { + this.id = id; + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.firstName = firstName; + this.lastName = lastName; + this.isContractor = isContractor; + this.employeeNumber = employeeNumber; + this.emailAddress = emailAddress; + this.company = company; + this.status = status; + this.remoteWasDeleted = remoteWasDeleted; + this.fieldMappings = fieldMappings; + this.remoteData = remoteData; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + /** + * @return The employee's first name. + */ + @JsonProperty("first_name") + public Optional getFirstName() { + return firstName; + } + + /** + * @return The employee's last name. + */ + @JsonProperty("last_name") + public Optional getLastName() { + return lastName; + } + + /** + * @return True if the employee is a contractor, False if not. + */ + @JsonProperty("is_contractor") + public Optional getIsContractor() { + return isContractor; + } + + /** + * @return The employee's internal identification number. + */ + @JsonProperty("employee_number") + public Optional getEmployeeNumber() { + return employeeNumber; + } + + /** + * @return The employee's email address. + */ + @JsonProperty("email_address") + public Optional getEmailAddress() { + return emailAddress; + } + + /** + * @return The subsidiary that the employee belongs to. + */ + @JsonProperty("company") + public Optional getCompany() { + return company; + } + + /** + * @return The employee's status in the accounting system. + *
            + *
          • ACTIVE - ACTIVE
          • + *
          • INACTIVE - INACTIVE
          • + *
          + */ + @JsonProperty("status") + public EmployeeStatus getStatus() { + return status; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @JsonProperty("field_mappings") + public Optional> getFieldMappings() { + return fieldMappings; + } + + @JsonProperty("remote_data") + public Optional> getRemoteData() { + return remoteData; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof Employee && equalTo((Employee) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(Employee other) { + return id.equals(other.id) + && remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && firstName.equals(other.firstName) + && lastName.equals(other.lastName) + && isContractor.equals(other.isContractor) + && employeeNumber.equals(other.employeeNumber) + && emailAddress.equals(other.emailAddress) + && company.equals(other.company) + && status.equals(other.status) + && remoteWasDeleted.equals(other.remoteWasDeleted) + && fieldMappings.equals(other.fieldMappings) + && remoteData.equals(other.remoteData); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.remoteId, + this.createdAt, + this.modifiedAt, + this.firstName, + this.lastName, + this.isContractor, + this.employeeNumber, + this.emailAddress, + this.company, + this.status, + this.remoteWasDeleted, + this.fieldMappings, + this.remoteData); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static StatusStage builder() { + return new Builder(); + } + + public interface StatusStage { + _FinalStage status(EmployeeStatus status); + + Builder from(Employee other); + } + + public interface _FinalStage { + Employee build(); + + _FinalStage id(Optional id); + + _FinalStage id(String id); + + _FinalStage remoteId(Optional remoteId); + + _FinalStage remoteId(String remoteId); + + _FinalStage createdAt(Optional createdAt); + + _FinalStage createdAt(OffsetDateTime createdAt); + + _FinalStage modifiedAt(Optional modifiedAt); + + _FinalStage modifiedAt(OffsetDateTime modifiedAt); + + _FinalStage firstName(Optional firstName); + + _FinalStage firstName(String firstName); + + _FinalStage lastName(Optional lastName); + + _FinalStage lastName(String lastName); + + _FinalStage isContractor(Optional isContractor); + + _FinalStage isContractor(Boolean isContractor); + + _FinalStage employeeNumber(Optional employeeNumber); + + _FinalStage employeeNumber(String employeeNumber); + + _FinalStage emailAddress(Optional emailAddress); + + _FinalStage emailAddress(String emailAddress); + + _FinalStage company(Optional company); + + _FinalStage company(EmployeeCompany company); + + _FinalStage remoteWasDeleted(Optional remoteWasDeleted); + + _FinalStage remoteWasDeleted(Boolean remoteWasDeleted); + + _FinalStage fieldMappings(Optional> fieldMappings); + + _FinalStage fieldMappings(Map fieldMappings); + + _FinalStage remoteData(Optional> remoteData); + + _FinalStage remoteData(List remoteData); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements StatusStage, _FinalStage { + private EmployeeStatus status; + + private Optional> remoteData = Optional.empty(); + + private Optional> fieldMappings = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + private Optional company = Optional.empty(); + + private Optional emailAddress = Optional.empty(); + + private Optional employeeNumber = Optional.empty(); + + private Optional isContractor = Optional.empty(); + + private Optional lastName = Optional.empty(); + + private Optional firstName = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + private Optional id = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(Employee other) { + id(other.getId()); + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + firstName(other.getFirstName()); + lastName(other.getLastName()); + isContractor(other.getIsContractor()); + employeeNumber(other.getEmployeeNumber()); + emailAddress(other.getEmailAddress()); + company(other.getCompany()); + status(other.getStatus()); + remoteWasDeleted(other.getRemoteWasDeleted()); + fieldMappings(other.getFieldMappings()); + remoteData(other.getRemoteData()); + return this; + } + + /** + *

          The employee's status in the accounting system.

          + *
            + *
          • ACTIVE - ACTIVE
          • + *
          • INACTIVE - INACTIVE
          • + *
          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("status") + public _FinalStage status(EmployeeStatus status) { + this.status = status; + return this; + } + + @java.lang.Override + public _FinalStage remoteData(List remoteData) { + this.remoteData = Optional.of(remoteData); + return this; + } + + @java.lang.Override + @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) + public _FinalStage remoteData(Optional> remoteData) { + this.remoteData = remoteData; + return this; + } + + @java.lang.Override + public _FinalStage fieldMappings(Map fieldMappings) { + this.fieldMappings = Optional.of(fieldMappings); + return this; + } + + @java.lang.Override + @JsonSetter(value = "field_mappings", nulls = Nulls.SKIP) + public _FinalStage fieldMappings(Optional> fieldMappings) { + this.fieldMappings = fieldMappings; + return this; + } + + /** + *

          Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + @java.lang.Override + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public _FinalStage remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + /** + *

          The subsidiary that the employee belongs to.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage company(EmployeeCompany company) { + this.company = Optional.of(company); + return this; + } + + @java.lang.Override + @JsonSetter(value = "company", nulls = Nulls.SKIP) + public _FinalStage company(Optional company) { + this.company = company; + return this; + } + + /** + *

          The employee's email address.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage emailAddress(String emailAddress) { + this.emailAddress = Optional.of(emailAddress); + return this; + } + + @java.lang.Override + @JsonSetter(value = "email_address", nulls = Nulls.SKIP) + public _FinalStage emailAddress(Optional emailAddress) { + this.emailAddress = emailAddress; + return this; + } + + /** + *

          The employee's internal identification number.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage employeeNumber(String employeeNumber) { + this.employeeNumber = Optional.of(employeeNumber); + return this; + } + + @java.lang.Override + @JsonSetter(value = "employee_number", nulls = Nulls.SKIP) + public _FinalStage employeeNumber(Optional employeeNumber) { + this.employeeNumber = employeeNumber; + return this; + } + + /** + *

          True if the employee is a contractor, False if not.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage isContractor(Boolean isContractor) { + this.isContractor = Optional.of(isContractor); + return this; + } + + @java.lang.Override + @JsonSetter(value = "is_contractor", nulls = Nulls.SKIP) + public _FinalStage isContractor(Optional isContractor) { + this.isContractor = isContractor; + return this; + } + + /** + *

          The employee's last name.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage lastName(String lastName) { + this.lastName = Optional.of(lastName); + return this; + } + + @java.lang.Override + @JsonSetter(value = "last_name", nulls = Nulls.SKIP) + public _FinalStage lastName(Optional lastName) { + this.lastName = lastName; + return this; + } + + /** + *

          The employee's first name.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage firstName(String firstName) { + this.firstName = Optional.of(firstName); + return this; + } + + @java.lang.Override + @JsonSetter(value = "first_name", nulls = Nulls.SKIP) + public _FinalStage firstName(Optional firstName) { + this.firstName = firstName; + return this; + } + + /** + *

          The datetime that this object was modified by Merge.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public _FinalStage modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + /** + *

          The datetime that this object was created by Merge.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public _FinalStage createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + *

          The third-party API ID of the matching object.

          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public _FinalStage remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + @java.lang.Override + public _FinalStage id(String id) { + this.id = Optional.of(id); + return this; + } + + @java.lang.Override + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public _FinalStage id(Optional id) { + this.id = id; + return this; + } + + @java.lang.Override + public Employee build() { + return new Employee( + id, + remoteId, + createdAt, + modifiedAt, + firstName, + lastName, + isContractor, + employeeNumber, + emailAddress, + company, + status, + remoteWasDeleted, + fieldMappings, + remoteData, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/EmployeeCompany.java b/src/main/java/com/merge/api/resources/accounting/types/EmployeeCompany.java new file mode 100644 index 000000000..4682e5aa7 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/EmployeeCompany.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = EmployeeCompany.Deserializer.class) +public final class EmployeeCompany { + private final Object value; + + private final int type; + + private EmployeeCompany(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((JsonNode) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof EmployeeCompany && equalTo((EmployeeCompany) other); + } + + private boolean equalTo(EmployeeCompany other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static EmployeeCompany of(String value) { + return new EmployeeCompany(value, 0); + } + + public static EmployeeCompany of(JsonNode value) { + return new EmployeeCompany(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(JsonNode value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(EmployeeCompany.class); + } + + @java.lang.Override + public EmployeeCompany deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, JsonNode.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/EmployeeStatus.java b/src/main/java/com/merge/api/resources/accounting/types/EmployeeStatus.java new file mode 100644 index 000000000..acc7f7206 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/EmployeeStatus.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = EmployeeStatus.Deserializer.class) +public final class EmployeeStatus { + private final Object value; + + private final int type; + + private EmployeeStatus(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((Status895Enum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof EmployeeStatus && equalTo((EmployeeStatus) other); + } + + private boolean equalTo(EmployeeStatus other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static EmployeeStatus of(Status895Enum value) { + return new EmployeeStatus(value, 0); + } + + public static EmployeeStatus of(String value) { + return new EmployeeStatus(value, 1); + } + + public interface Visitor { + T visit(Status895Enum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(EmployeeStatus.class); + } + + @java.lang.Override + public EmployeeStatus deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Status895Enum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/EventTypeEnum.java b/src/main/java/com/merge/api/resources/accounting/types/EventTypeEnum.java index 892686575..974340713 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/EventTypeEnum.java +++ b/src/main/java/com/merge/api/resources/accounting/types/EventTypeEnum.java @@ -68,6 +68,12 @@ public enum EventTypeEnum { DELETED_LINKED_ACCOUNT_FIELD_MAPPING("DELETED_LINKED_ACCOUNT_FIELD_MAPPING"), + CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + FORCED_LINKED_ACCOUNT_RESYNC("FORCED_LINKED_ACCOUNT_RESYNC"), MUTED_ISSUE("MUTED_ISSUE"), diff --git a/src/main/java/com/merge/api/resources/accounting/types/Expense.java b/src/main/java/com/merge/api/resources/accounting/types/Expense.java index fc1c333e6..cf7588f81 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/Expense.java +++ b/src/main/java/com/merge/api/resources/accounting/types/Expense.java @@ -53,6 +53,8 @@ public final class Expense { private final Optional company; + private final Optional employee; + private final Optional memo; private final Optional> lines; @@ -87,6 +89,7 @@ private Expense( Optional exchangeRate, Optional inclusiveOfTax, Optional company, + Optional employee, Optional memo, Optional> lines, Optional>> trackingCategories, @@ -111,6 +114,7 @@ private Expense( this.exchangeRate = exchangeRate; this.inclusiveOfTax = inclusiveOfTax; this.company = company; + this.employee = employee; this.memo = memo; this.lines = lines; this.trackingCategories = trackingCategories; @@ -547,6 +551,14 @@ public Optional getCompany() { return company; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The expense's private note. */ @@ -623,6 +635,7 @@ private boolean equalTo(Expense other) { && exchangeRate.equals(other.exchangeRate) && inclusiveOfTax.equals(other.inclusiveOfTax) && company.equals(other.company) + && employee.equals(other.employee) && memo.equals(other.memo) && lines.equals(other.lines) && trackingCategories.equals(other.trackingCategories) @@ -651,6 +664,7 @@ public int hashCode() { this.exchangeRate, this.inclusiveOfTax, this.company, + this.employee, this.memo, this.lines, this.trackingCategories, @@ -702,6 +716,8 @@ public static final class Builder { private Optional company = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional memo = Optional.empty(); private Optional> lines = Optional.empty(); @@ -739,6 +755,7 @@ public Builder from(Expense other) { exchangeRate(other.getExchangeRate()); inclusiveOfTax(other.getInclusiveOfTax()); company(other.getCompany()); + employee(other.getEmployee()); memo(other.getMemo()); lines(other.getLines()); trackingCategories(other.getTrackingCategories()); @@ -915,6 +932,17 @@ public Builder company(ExpenseCompany company) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(ExpenseEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "memo", nulls = Nulls.SKIP) public Builder memo(Optional memo) { this.memo = memo; @@ -1020,6 +1048,7 @@ public Expense build() { exchangeRate, inclusiveOfTax, company, + employee, memo, lines, trackingCategories, diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseCurrency.java index 6dde77eec..cb524cfb5 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExpenseCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static ExpenseCurrency of(CurrencyEnum value) { + public static ExpenseCurrency of(TransactionCurrencyEnum value) { return new ExpenseCurrency(value, 0); } @@ -67,7 +67,7 @@ public static ExpenseCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public ExpenseCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseEmployee.java new file mode 100644 index 000000000..3fb529ae1 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = ExpenseEmployee.Deserializer.class) +public final class ExpenseEmployee { + private final Object value; + + private final int type; + + private ExpenseEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ExpenseEmployee && equalTo((ExpenseEmployee) other); + } + + private boolean equalTo(ExpenseEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static ExpenseEmployee of(String value) { + return new ExpenseEmployee(value, 0); + } + + public static ExpenseEmployee of(Employee value) { + return new ExpenseEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(ExpenseEmployee.class); + } + + @java.lang.Override + public ExpenseEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLine.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLine.java index 36e91c127..1a75b564d 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLine.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLine.java @@ -40,6 +40,8 @@ public final class ExpenseLine { private final Optional company; + private final Optional employee; + private final Optional currency; private final Optional account; @@ -66,6 +68,7 @@ private ExpenseLine( Optional trackingCategory, Optional>> trackingCategories, Optional company, + Optional employee, Optional currency, Optional account, Optional contact, @@ -83,6 +86,7 @@ private ExpenseLine( this.trackingCategory = trackingCategory; this.trackingCategories = trackingCategories; this.company = company; + this.employee = employee; this.currency = currency; this.account = account; this.contact = contact; @@ -152,13 +156,21 @@ public Optional>> getTrackingCa } /** - * @return The company the line belongs to. + * @return The company the expense belongs to. */ @JsonProperty("company") public Optional getCompany() { return company; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The expense line item's currency. *
            @@ -544,6 +556,7 @@ private boolean equalTo(ExpenseLine other) { && trackingCategory.equals(other.trackingCategory) && trackingCategories.equals(other.trackingCategories) && company.equals(other.company) + && employee.equals(other.employee) && currency.equals(other.currency) && account.equals(other.account) && contact.equals(other.contact) @@ -565,6 +578,7 @@ public int hashCode() { this.trackingCategory, this.trackingCategories, this.company, + this.employee, this.currency, this.account, this.contact, @@ -603,6 +617,8 @@ public static final class Builder { private Optional company = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional currency = Optional.empty(); private Optional account = Optional.empty(); @@ -632,6 +648,7 @@ public Builder from(ExpenseLine other) { trackingCategory(other.getTrackingCategory()); trackingCategories(other.getTrackingCategories()); company(other.getCompany()); + employee(other.getEmployee()); currency(other.getCurrency()); account(other.getAccount()); contact(other.getContact()); @@ -742,6 +759,17 @@ public Builder company(String company) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(ExpenseLineEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "currency", nulls = Nulls.SKIP) public Builder currency(Optional currency) { this.currency = currency; @@ -830,6 +858,7 @@ public ExpenseLine build() { trackingCategory, trackingCategories, company, + employee, currency, account, contact, diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineCurrency.java index 6cdd8353d..9af6a80f4 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static ExpenseLineCurrency of(CurrencyEnum value) { + public static ExpenseLineCurrency of(TransactionCurrencyEnum value) { return new ExpenseLineCurrency(value, 0); } @@ -67,7 +67,7 @@ public static ExpenseLineCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public ExpenseLineCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineEmployee.java new file mode 100644 index 000000000..31a66e744 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = ExpenseLineEmployee.Deserializer.class) +public final class ExpenseLineEmployee { + private final Object value; + + private final int type; + + private ExpenseLineEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ExpenseLineEmployee && equalTo((ExpenseLineEmployee) other); + } + + private boolean equalTo(ExpenseLineEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static ExpenseLineEmployee of(String value) { + return new ExpenseLineEmployee(value, 0); + } + + public static ExpenseLineEmployee of(Employee value) { + return new ExpenseLineEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(ExpenseLineEmployee.class); + } + + @java.lang.Override + public ExpenseLineEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequest.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequest.java index a6c4200ba..200c7ef62 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequest.java @@ -34,6 +34,8 @@ public final class ExpenseLineRequest { private final Optional company; + private final Optional employee; + private final Optional currency; private final Optional account; @@ -61,6 +63,7 @@ private ExpenseLineRequest( Optional trackingCategory, Optional>> trackingCategories, Optional company, + Optional employee, Optional currency, Optional account, Optional contact, @@ -77,6 +80,7 @@ private ExpenseLineRequest( this.trackingCategory = trackingCategory; this.trackingCategories = trackingCategories; this.company = company; + this.employee = employee; this.currency = currency; this.account = account; this.contact = contact; @@ -127,13 +131,21 @@ public Optional>> getTra } /** - * @return The company the line belongs to. + * @return The company the expense belongs to. */ @JsonProperty("company") public Optional getCompany() { return company; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The expense line item's currency. *
              @@ -523,6 +535,7 @@ private boolean equalTo(ExpenseLineRequest other) { && trackingCategory.equals(other.trackingCategory) && trackingCategories.equals(other.trackingCategories) && company.equals(other.company) + && employee.equals(other.employee) && currency.equals(other.currency) && account.equals(other.account) && contact.equals(other.contact) @@ -543,6 +556,7 @@ public int hashCode() { this.trackingCategory, this.trackingCategories, this.company, + this.employee, this.currency, this.account, this.contact, @@ -578,6 +592,8 @@ public static final class Builder { private Optional company = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional currency = Optional.empty(); private Optional account = Optional.empty(); @@ -608,6 +624,7 @@ public Builder from(ExpenseLineRequest other) { trackingCategory(other.getTrackingCategory()); trackingCategories(other.getTrackingCategories()); company(other.getCompany()); + employee(other.getEmployee()); currency(other.getCurrency()); account(other.getAccount()); contact(other.getContact()); @@ -687,6 +704,17 @@ public Builder company(String company) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(ExpenseLineRequestEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "currency", nulls = Nulls.SKIP) public Builder currency(Optional currency) { this.currency = currency; @@ -794,6 +822,7 @@ public ExpenseLineRequest build() { trackingCategory, trackingCategories, company, + employee, currency, account, contact, diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequestCurrency.java index 8aaa5cc14..0e224ec01 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseLineRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static ExpenseLineRequestCurrency of(CurrencyEnum value) { + public static ExpenseLineRequestCurrency of(TransactionCurrencyEnum value) { return new ExpenseLineRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static ExpenseLineRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ExpenseLineRequestEmployee && equalTo((ExpenseLineRequestEmployee) other); + } + + private boolean equalTo(ExpenseLineRequestEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static ExpenseLineRequestEmployee of(String value) { + return new ExpenseLineRequestEmployee(value, 0); + } + + public static ExpenseLineRequestEmployee of(Employee value) { + return new ExpenseLineRequestEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(ExpenseLineRequestEmployee.class); + } + + @java.lang.Override + public ExpenseLineRequestEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequest.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequest.java index be19433e4..f3862e2c0 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequest.java @@ -43,6 +43,8 @@ public final class ExpenseRequest { private final Optional company; + private final Optional employee; + private final Optional memo; private final Optional> lines; @@ -70,6 +72,7 @@ private ExpenseRequest( Optional exchangeRate, Optional inclusiveOfTax, Optional company, + Optional employee, Optional memo, Optional> lines, Optional>> trackingCategories, @@ -88,6 +91,7 @@ private ExpenseRequest( this.exchangeRate = exchangeRate; this.inclusiveOfTax = inclusiveOfTax; this.company = company; + this.employee = employee; this.memo = memo; this.lines = lines; this.trackingCategories = trackingCategories; @@ -486,6 +490,14 @@ public Optional getCompany() { return company; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The expense's private note. */ @@ -549,6 +561,7 @@ private boolean equalTo(ExpenseRequest other) { && exchangeRate.equals(other.exchangeRate) && inclusiveOfTax.equals(other.inclusiveOfTax) && company.equals(other.company) + && employee.equals(other.employee) && memo.equals(other.memo) && lines.equals(other.lines) && trackingCategories.equals(other.trackingCategories) @@ -571,6 +584,7 @@ public int hashCode() { this.exchangeRate, this.inclusiveOfTax, this.company, + this.employee, this.memo, this.lines, this.trackingCategories, @@ -611,6 +625,8 @@ public static final class Builder { private Optional company = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional memo = Optional.empty(); private Optional> lines = Optional.empty(); @@ -641,6 +657,7 @@ public Builder from(ExpenseRequest other) { exchangeRate(other.getExchangeRate()); inclusiveOfTax(other.getInclusiveOfTax()); company(other.getCompany()); + employee(other.getEmployee()); memo(other.getMemo()); lines(other.getLines()); trackingCategories(other.getTrackingCategories()); @@ -761,6 +778,17 @@ public Builder company(ExpenseRequestCompany company) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(ExpenseRequestEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "memo", nulls = Nulls.SKIP) public Builder memo(Optional memo) { this.memo = memo; @@ -851,6 +879,7 @@ public ExpenseRequest build() { exchangeRate, inclusiveOfTax, company, + employee, memo, lines, trackingCategories, diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequestCurrency.java index 7222617bc..9c6b78e18 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static ExpenseRequestCurrency of(CurrencyEnum value) { + public static ExpenseRequestCurrency of(TransactionCurrencyEnum value) { return new ExpenseRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static ExpenseRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer public ExpenseRequestCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequestEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequestEmployee.java new file mode 100644 index 000000000..fc8874a6a --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/ExpenseRequestEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = ExpenseRequestEmployee.Deserializer.class) +public final class ExpenseRequestEmployee { + private final Object value; + + private final int type; + + private ExpenseRequestEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ExpenseRequestEmployee && equalTo((ExpenseRequestEmployee) other); + } + + private boolean equalTo(ExpenseRequestEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static ExpenseRequestEmployee of(String value) { + return new ExpenseRequestEmployee(value, 0); + } + + public static ExpenseRequestEmployee of(Employee value) { + return new ExpenseRequestEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(ExpenseRequestEmployee.class); + } + + @java.lang.Override + public ExpenseRequestEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/ExternalTargetFieldApiResponse.java b/src/main/java/com/merge/api/resources/accounting/types/ExternalTargetFieldApiResponse.java index 00d795bdd..e249dc88f 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/ExternalTargetFieldApiResponse.java +++ b/src/main/java/com/merge/api/resources/accounting/types/ExternalTargetFieldApiResponse.java @@ -63,6 +63,8 @@ public final class ExternalTargetFieldApiResponse { private final Optional> bankFeedAccount; + private final Optional> employee; + private final Map additionalProperties; private ExternalTargetFieldApiResponse( @@ -87,6 +89,7 @@ private ExternalTargetFieldApiResponse( Optional> accountingPeriod, Optional> generalLedgerTransaction, Optional> bankFeedAccount, + Optional> employee, Map additionalProperties) { this.account = account; this.accountingAttachment = accountingAttachment; @@ -109,6 +112,7 @@ private ExternalTargetFieldApiResponse( this.accountingPeriod = accountingPeriod; this.generalLedgerTransaction = generalLedgerTransaction; this.bankFeedAccount = bankFeedAccount; + this.employee = employee; this.additionalProperties = additionalProperties; } @@ -217,6 +221,11 @@ public Optional> getBankFeedAccount() { return bankFeedAccount; } + @JsonProperty("Employee") + public Optional> getEmployee() { + return employee; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -249,7 +258,8 @@ private boolean equalTo(ExternalTargetFieldApiResponse other) { && transaction.equals(other.transaction) && accountingPeriod.equals(other.accountingPeriod) && generalLedgerTransaction.equals(other.generalLedgerTransaction) - && bankFeedAccount.equals(other.bankFeedAccount); + && bankFeedAccount.equals(other.bankFeedAccount) + && employee.equals(other.employee); } @java.lang.Override @@ -275,7 +285,8 @@ public int hashCode() { this.transaction, this.accountingPeriod, this.generalLedgerTransaction, - this.bankFeedAccount); + this.bankFeedAccount, + this.employee); } @java.lang.Override @@ -331,6 +342,8 @@ public static final class Builder { private Optional> bankFeedAccount = Optional.empty(); + private Optional> employee = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -358,6 +371,7 @@ public Builder from(ExternalTargetFieldApiResponse other) { accountingPeriod(other.getAccountingPeriod()); generalLedgerTransaction(other.getGeneralLedgerTransaction()); bankFeedAccount(other.getBankFeedAccount()); + employee(other.getEmployee()); return this; } @@ -592,6 +606,17 @@ public Builder bankFeedAccount(List bankFeedAccount) { return this; } + @JsonSetter(value = "Employee", nulls = Nulls.SKIP) + public Builder employee(Optional> employee) { + this.employee = employee; + return this; + } + + public Builder employee(List employee) { + this.employee = Optional.of(employee); + return this; + } + public ExternalTargetFieldApiResponse build() { return new ExternalTargetFieldApiResponse( account, @@ -615,6 +640,7 @@ public ExternalTargetFieldApiResponse build() { accountingPeriod, generalLedgerTransaction, bankFeedAccount, + employee, additionalProperties); } } diff --git a/src/main/java/com/merge/api/resources/accounting/types/AccountingPeriodStatusEnum.java b/src/main/java/com/merge/api/resources/accounting/types/FeedStatusEnum.java similarity index 81% rename from src/main/java/com/merge/api/resources/accounting/types/AccountingPeriodStatusEnum.java rename to src/main/java/com/merge/api/resources/accounting/types/FeedStatusEnum.java index 84575789c..71d6d9e80 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/AccountingPeriodStatusEnum.java +++ b/src/main/java/com/merge/api/resources/accounting/types/FeedStatusEnum.java @@ -5,14 +5,14 @@ import com.fasterxml.jackson.annotation.JsonValue; -public enum AccountingPeriodStatusEnum { +public enum FeedStatusEnum { ACTIVE("ACTIVE"), INACTIVE("INACTIVE"); private final String value; - AccountingPeriodStatusEnum(String value) { + FeedStatusEnum(String value) { this.value = value; } diff --git a/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceRemoteField.java b/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceRemoteField.java index a9a349fa2..d0f4f3cb4 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceRemoteField.java +++ b/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceRemoteField.java @@ -14,24 +14,24 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldMappingApiInstanceRemoteField.Builder.class) public final class FieldMappingApiInstanceRemoteField { - private final String remoteKeyName; + private final Optional remoteKeyName; - private final Map schema; + private final Optional> schema; private final FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; private final Map additionalProperties; private FieldMappingApiInstanceRemoteField( - String remoteKeyName, - Map schema, + Optional remoteKeyName, + Optional> schema, FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo, Map additionalProperties) { this.remoteKeyName = remoteKeyName; @@ -41,12 +41,12 @@ private FieldMappingApiInstanceRemoteField( } @JsonProperty("remote_key_name") - public String getRemoteKeyName() { + public Optional getRemoteKeyName() { return remoteKeyName; } @JsonProperty("schema") - public Map getSchema() { + public Optional> getSchema() { return schema; } @@ -83,37 +83,35 @@ public String toString() { return ObjectMappers.stringify(this); } - public static RemoteKeyNameStage builder() { + public static RemoteEndpointInfoStage builder() { return new Builder(); } - public interface RemoteKeyNameStage { - RemoteEndpointInfoStage remoteKeyName(String remoteKeyName); - - Builder from(FieldMappingApiInstanceRemoteField other); - } - public interface RemoteEndpointInfoStage { _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo); + + Builder from(FieldMappingApiInstanceRemoteField other); } public interface _FinalStage { FieldMappingApiInstanceRemoteField build(); - _FinalStage schema(Map schema); + _FinalStage remoteKeyName(Optional remoteKeyName); + + _FinalStage remoteKeyName(String remoteKeyName); - _FinalStage putAllSchema(Map schema); + _FinalStage schema(Optional> schema); - _FinalStage schema(String key, JsonNode value); + _FinalStage schema(Map schema); } @JsonIgnoreProperties(ignoreUnknown = true) - public static final class Builder implements RemoteKeyNameStage, RemoteEndpointInfoStage, _FinalStage { - private String remoteKeyName; - + public static final class Builder implements RemoteEndpointInfoStage, _FinalStage { private FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; - private Map schema = new LinkedHashMap<>(); + private Optional> schema = Optional.empty(); + + private Optional remoteKeyName = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -129,36 +127,35 @@ public Builder from(FieldMappingApiInstanceRemoteField other) { } @java.lang.Override - @JsonSetter("remote_key_name") - public RemoteEndpointInfoStage remoteKeyName(String remoteKeyName) { - this.remoteKeyName = remoteKeyName; + @JsonSetter("remote_endpoint_info") + public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { + this.remoteEndpointInfo = remoteEndpointInfo; return this; } @java.lang.Override - @JsonSetter("remote_endpoint_info") - public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { - this.remoteEndpointInfo = remoteEndpointInfo; + public _FinalStage schema(Map schema) { + this.schema = Optional.of(schema); return this; } @java.lang.Override - public _FinalStage schema(String key, JsonNode value) { - this.schema.put(key, value); + @JsonSetter(value = "schema", nulls = Nulls.SKIP) + public _FinalStage schema(Optional> schema) { + this.schema = schema; return this; } @java.lang.Override - public _FinalStage putAllSchema(Map schema) { - this.schema.putAll(schema); + public _FinalStage remoteKeyName(String remoteKeyName) { + this.remoteKeyName = Optional.of(remoteKeyName); return this; } @java.lang.Override - @JsonSetter(value = "schema", nulls = Nulls.SKIP) - public _FinalStage schema(Map schema) { - this.schema.clear(); - this.schema.putAll(schema); + @JsonSetter(value = "remote_key_name", nulls = Nulls.SKIP) + public _FinalStage remoteKeyName(Optional remoteKeyName) { + this.remoteKeyName = remoteKeyName; return this; } diff --git a/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceResponse.java b/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceResponse.java index b9f5169c4..d79c61435 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceResponse.java +++ b/src/main/java/com/merge/api/resources/accounting/types/FieldMappingApiInstanceResponse.java @@ -63,6 +63,8 @@ public final class FieldMappingApiInstanceResponse { private final Optional> bankFeedAccount; + private final Optional> employee; + private final Map additionalProperties; private FieldMappingApiInstanceResponse( @@ -87,6 +89,7 @@ private FieldMappingApiInstanceResponse( Optional> accountingPeriod, Optional> generalLedgerTransaction, Optional> bankFeedAccount, + Optional> employee, Map additionalProperties) { this.account = account; this.accountingAttachment = accountingAttachment; @@ -109,6 +112,7 @@ private FieldMappingApiInstanceResponse( this.accountingPeriod = accountingPeriod; this.generalLedgerTransaction = generalLedgerTransaction; this.bankFeedAccount = bankFeedAccount; + this.employee = employee; this.additionalProperties = additionalProperties; } @@ -217,6 +221,11 @@ public Optional> getBankFeedAccount() { return bankFeedAccount; } + @JsonProperty("Employee") + public Optional> getEmployee() { + return employee; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -249,7 +258,8 @@ private boolean equalTo(FieldMappingApiInstanceResponse other) { && transaction.equals(other.transaction) && accountingPeriod.equals(other.accountingPeriod) && generalLedgerTransaction.equals(other.generalLedgerTransaction) - && bankFeedAccount.equals(other.bankFeedAccount); + && bankFeedAccount.equals(other.bankFeedAccount) + && employee.equals(other.employee); } @java.lang.Override @@ -275,7 +285,8 @@ public int hashCode() { this.transaction, this.accountingPeriod, this.generalLedgerTransaction, - this.bankFeedAccount); + this.bankFeedAccount, + this.employee); } @java.lang.Override @@ -331,6 +342,8 @@ public static final class Builder { private Optional> bankFeedAccount = Optional.empty(); + private Optional> employee = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -358,6 +371,7 @@ public Builder from(FieldMappingApiInstanceResponse other) { accountingPeriod(other.getAccountingPeriod()); generalLedgerTransaction(other.getGeneralLedgerTransaction()); bankFeedAccount(other.getBankFeedAccount()); + employee(other.getEmployee()); return this; } @@ -592,6 +606,17 @@ public Builder bankFeedAccount(List bankFeedAccount) { return this; } + @JsonSetter(value = "Employee", nulls = Nulls.SKIP) + public Builder employee(Optional> employee) { + this.employee = employee; + return this; + } + + public Builder employee(List employee) { + this.employee = Optional.of(employee); + return this; + } + public FieldMappingApiInstanceResponse build() { return new FieldMappingApiInstanceResponse( account, @@ -615,6 +640,7 @@ public FieldMappingApiInstanceResponse build() { accountingPeriod, generalLedgerTransaction, bankFeedAccount, + employee, additionalProperties); } } diff --git a/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializer.java b/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializer.java index c99edda2c..84de156a9 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializer.java +++ b/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializer.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializer.Builder.class) public final class FieldPermissionDeserializer { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializer( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -59,12 +59,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializer other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -78,9 +78,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -88,35 +88,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializer other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializer build() { - return new FieldPermissionDeserializer(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializer(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializerRequest.java b/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializerRequest.java index 61969a302..c32ae5a82 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializerRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/types/FieldPermissionDeserializerRequest.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializerRequest.Builder.class) public final class FieldPermissionDeserializerRequest { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializerRequest( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -60,12 +60,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializerRequest other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -79,9 +79,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -89,35 +89,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializerRequest other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializerRequest build() { - return new FieldPermissionDeserializerRequest(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializerRequest(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransaction.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransaction.java new file mode 100644 index 000000000..3707db994 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransaction.java @@ -0,0 +1,550 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = GeneralLedgerTransaction.Builder.class) +public final class GeneralLedgerTransaction { + private final Optional id; + + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional underlyingTransactionRemoteId; + + private final Optional underlyingTransactionType; + + private final Optional accountingPeriod; + + private final Optional company; + + private final Optional remoteUpdatedAt; + + private final Optional remoteCreatedAt; + + private final Optional>> trackingCategories; + + private final Optional postingDate; + + private final Optional> + generalLedgerTransactionLines; + + private final Optional remoteWasDeleted; + + private final Optional> fieldMappings; + + private final Optional> remoteData; + + private final Map additionalProperties; + + private GeneralLedgerTransaction( + Optional id, + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional underlyingTransactionRemoteId, + Optional underlyingTransactionType, + Optional accountingPeriod, + Optional company, + Optional remoteUpdatedAt, + Optional remoteCreatedAt, + Optional>> trackingCategories, + Optional postingDate, + Optional> generalLedgerTransactionLines, + Optional remoteWasDeleted, + Optional> fieldMappings, + Optional> remoteData, + Map additionalProperties) { + this.id = id; + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.underlyingTransactionRemoteId = underlyingTransactionRemoteId; + this.underlyingTransactionType = underlyingTransactionType; + this.accountingPeriod = accountingPeriod; + this.company = company; + this.remoteUpdatedAt = remoteUpdatedAt; + this.remoteCreatedAt = remoteCreatedAt; + this.trackingCategories = trackingCategories; + this.postingDate = postingDate; + this.generalLedgerTransactionLines = generalLedgerTransactionLines; + this.remoteWasDeleted = remoteWasDeleted; + this.fieldMappings = fieldMappings; + this.remoteData = remoteData; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + /** + * @return The third party remote ID of the underlying transaction. + */ + @JsonProperty("underlying_transaction_remote_id") + public Optional getUnderlyingTransactionRemoteId() { + return underlyingTransactionRemoteId; + } + + /** + * @return The type of the underlying transaction. + *
                + *
              • INVOICE - INVOICE
              • + *
              • EXPENSE - EXPENSE
              • + *
              • TRANSACTION - TRANSACTION
              • + *
              • JOURNAL_ENTRY - JOURNAL_ENTRY
              • + *
              • PAYMENT - PAYMENT
              • + *
              • VENDOR_CREDIT - VENDOR_CREDIT
              • + *
              • CREDIT_NOTE - CREDIT_NOTE
              • + *
              + */ + @JsonProperty("underlying_transaction_type") + public Optional getUnderlyingTransactionType() { + return underlyingTransactionType; + } + + /** + * @return The accounting period that the GeneralLedgerTransaction was generated in. + */ + @JsonProperty("accounting_period") + public Optional getAccountingPeriod() { + return accountingPeriod; + } + + /** + * @return The company the GeneralLedgerTransaction belongs to. + */ + @JsonProperty("company") + public Optional getCompany() { + return company; + } + + /** + * @return When the third party's GeneralLedgerTransaction entry was updated. + */ + @JsonProperty("remote_updated_at") + public Optional getRemoteUpdatedAt() { + return remoteUpdatedAt; + } + + /** + * @return When the third party's GeneralLedgerTransaction entry was created. + */ + @JsonProperty("remote_created_at") + public Optional getRemoteCreatedAt() { + return remoteCreatedAt; + } + + @JsonProperty("tracking_categories") + public Optional>> getTrackingCategories() { + return trackingCategories; + } + + /** + * @return The date that the transaction was posted to the general ledger. + */ + @JsonProperty("posting_date") + public Optional getPostingDate() { + return postingDate; + } + + /** + * @return A list of “General Ledger Transaction Applied to Lines” objects. + */ + @JsonProperty("general_ledger_transaction_lines") + public Optional> + getGeneralLedgerTransactionLines() { + return generalLedgerTransactionLines; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @JsonProperty("field_mappings") + public Optional> getFieldMappings() { + return fieldMappings; + } + + @JsonProperty("remote_data") + public Optional> getRemoteData() { + return remoteData; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransaction && equalTo((GeneralLedgerTransaction) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GeneralLedgerTransaction other) { + return id.equals(other.id) + && remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && underlyingTransactionRemoteId.equals(other.underlyingTransactionRemoteId) + && underlyingTransactionType.equals(other.underlyingTransactionType) + && accountingPeriod.equals(other.accountingPeriod) + && company.equals(other.company) + && remoteUpdatedAt.equals(other.remoteUpdatedAt) + && remoteCreatedAt.equals(other.remoteCreatedAt) + && trackingCategories.equals(other.trackingCategories) + && postingDate.equals(other.postingDate) + && generalLedgerTransactionLines.equals(other.generalLedgerTransactionLines) + && remoteWasDeleted.equals(other.remoteWasDeleted) + && fieldMappings.equals(other.fieldMappings) + && remoteData.equals(other.remoteData); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.remoteId, + this.createdAt, + this.modifiedAt, + this.underlyingTransactionRemoteId, + this.underlyingTransactionType, + this.accountingPeriod, + this.company, + this.remoteUpdatedAt, + this.remoteCreatedAt, + this.trackingCategories, + this.postingDate, + this.generalLedgerTransactionLines, + this.remoteWasDeleted, + this.fieldMappings, + this.remoteData); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional id = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional underlyingTransactionRemoteId = Optional.empty(); + + private Optional underlyingTransactionType = + Optional.empty(); + + private Optional accountingPeriod = Optional.empty(); + + private Optional company = Optional.empty(); + + private Optional remoteUpdatedAt = Optional.empty(); + + private Optional remoteCreatedAt = Optional.empty(); + + private Optional>> trackingCategories = + Optional.empty(); + + private Optional postingDate = Optional.empty(); + + private Optional> + generalLedgerTransactionLines = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + private Optional> fieldMappings = Optional.empty(); + + private Optional> remoteData = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GeneralLedgerTransaction other) { + id(other.getId()); + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + underlyingTransactionRemoteId(other.getUnderlyingTransactionRemoteId()); + underlyingTransactionType(other.getUnderlyingTransactionType()); + accountingPeriod(other.getAccountingPeriod()); + company(other.getCompany()); + remoteUpdatedAt(other.getRemoteUpdatedAt()); + remoteCreatedAt(other.getRemoteCreatedAt()); + trackingCategories(other.getTrackingCategories()); + postingDate(other.getPostingDate()); + generalLedgerTransactionLines(other.getGeneralLedgerTransactionLines()); + remoteWasDeleted(other.getRemoteWasDeleted()); + fieldMappings(other.getFieldMappings()); + remoteData(other.getRemoteData()); + return this; + } + + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public Builder id(Optional id) { + this.id = id; + return this; + } + + public Builder id(String id) { + this.id = Optional.of(id); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "underlying_transaction_remote_id", nulls = Nulls.SKIP) + public Builder underlyingTransactionRemoteId(Optional underlyingTransactionRemoteId) { + this.underlyingTransactionRemoteId = underlyingTransactionRemoteId; + return this; + } + + public Builder underlyingTransactionRemoteId(String underlyingTransactionRemoteId) { + this.underlyingTransactionRemoteId = Optional.of(underlyingTransactionRemoteId); + return this; + } + + @JsonSetter(value = "underlying_transaction_type", nulls = Nulls.SKIP) + public Builder underlyingTransactionType( + Optional underlyingTransactionType) { + this.underlyingTransactionType = underlyingTransactionType; + return this; + } + + public Builder underlyingTransactionType( + GeneralLedgerTransactionUnderlyingTransactionType underlyingTransactionType) { + this.underlyingTransactionType = Optional.of(underlyingTransactionType); + return this; + } + + @JsonSetter(value = "accounting_period", nulls = Nulls.SKIP) + public Builder accountingPeriod(Optional accountingPeriod) { + this.accountingPeriod = accountingPeriod; + return this; + } + + public Builder accountingPeriod(GeneralLedgerTransactionAccountingPeriod accountingPeriod) { + this.accountingPeriod = Optional.of(accountingPeriod); + return this; + } + + @JsonSetter(value = "company", nulls = Nulls.SKIP) + public Builder company(Optional company) { + this.company = company; + return this; + } + + public Builder company(GeneralLedgerTransactionCompany company) { + this.company = Optional.of(company); + return this; + } + + @JsonSetter(value = "remote_updated_at", nulls = Nulls.SKIP) + public Builder remoteUpdatedAt(Optional remoteUpdatedAt) { + this.remoteUpdatedAt = remoteUpdatedAt; + return this; + } + + public Builder remoteUpdatedAt(OffsetDateTime remoteUpdatedAt) { + this.remoteUpdatedAt = Optional.of(remoteUpdatedAt); + return this; + } + + @JsonSetter(value = "remote_created_at", nulls = Nulls.SKIP) + public Builder remoteCreatedAt(Optional remoteCreatedAt) { + this.remoteCreatedAt = remoteCreatedAt; + return this; + } + + public Builder remoteCreatedAt(OffsetDateTime remoteCreatedAt) { + this.remoteCreatedAt = Optional.of(remoteCreatedAt); + return this; + } + + @JsonSetter(value = "tracking_categories", nulls = Nulls.SKIP) + public Builder trackingCategories( + Optional>> trackingCategories) { + this.trackingCategories = trackingCategories; + return this; + } + + public Builder trackingCategories( + List> trackingCategories) { + this.trackingCategories = Optional.of(trackingCategories); + return this; + } + + @JsonSetter(value = "posting_date", nulls = Nulls.SKIP) + public Builder postingDate(Optional postingDate) { + this.postingDate = postingDate; + return this; + } + + public Builder postingDate(OffsetDateTime postingDate) { + this.postingDate = Optional.of(postingDate); + return this; + } + + @JsonSetter(value = "general_ledger_transaction_lines", nulls = Nulls.SKIP) + public Builder generalLedgerTransactionLines( + Optional> + generalLedgerTransactionLines) { + this.generalLedgerTransactionLines = generalLedgerTransactionLines; + return this; + } + + public Builder generalLedgerTransactionLines( + List generalLedgerTransactionLines) { + this.generalLedgerTransactionLines = Optional.of(generalLedgerTransactionLines); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + @JsonSetter(value = "field_mappings", nulls = Nulls.SKIP) + public Builder fieldMappings(Optional> fieldMappings) { + this.fieldMappings = fieldMappings; + return this; + } + + public Builder fieldMappings(Map fieldMappings) { + this.fieldMappings = Optional.of(fieldMappings); + return this; + } + + @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) + public Builder remoteData(Optional> remoteData) { + this.remoteData = remoteData; + return this; + } + + public Builder remoteData(List remoteData) { + this.remoteData = Optional.of(remoteData); + return this; + } + + public GeneralLedgerTransaction build() { + return new GeneralLedgerTransaction( + id, + remoteId, + createdAt, + modifiedAt, + underlyingTransactionRemoteId, + underlyingTransactionType, + accountingPeriod, + company, + remoteUpdatedAt, + remoteCreatedAt, + trackingCategories, + postingDate, + generalLedgerTransactionLines, + remoteWasDeleted, + fieldMappings, + remoteData, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionAccountingPeriod.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionAccountingPeriod.java new file mode 100644 index 000000000..585b60170 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionAccountingPeriod.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionAccountingPeriod.Deserializer.class) +public final class GeneralLedgerTransactionAccountingPeriod { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionAccountingPeriod(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((AccountingPeriod) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionAccountingPeriod + && equalTo((GeneralLedgerTransactionAccountingPeriod) other); + } + + private boolean equalTo(GeneralLedgerTransactionAccountingPeriod other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionAccountingPeriod of(String value) { + return new GeneralLedgerTransactionAccountingPeriod(value, 0); + } + + public static GeneralLedgerTransactionAccountingPeriod of(AccountingPeriod value) { + return new GeneralLedgerTransactionAccountingPeriod(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(AccountingPeriod value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionAccountingPeriod.class); + } + + @java.lang.Override + public GeneralLedgerTransactionAccountingPeriod deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, AccountingPeriod.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionCompany.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionCompany.java new file mode 100644 index 000000000..2b2595341 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionCompany.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionCompany.Deserializer.class) +public final class GeneralLedgerTransactionCompany { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionCompany(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CompanyInfo) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionCompany && equalTo((GeneralLedgerTransactionCompany) other); + } + + private boolean equalTo(GeneralLedgerTransactionCompany other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionCompany of(String value) { + return new GeneralLedgerTransactionCompany(value, 0); + } + + public static GeneralLedgerTransactionCompany of(CompanyInfo value) { + return new GeneralLedgerTransactionCompany(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CompanyInfo value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionCompany.class); + } + + @java.lang.Override + public GeneralLedgerTransactionCompany deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CompanyInfo.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionGeneralLedgerTransactionLinesItem.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionGeneralLedgerTransactionLinesItem.java new file mode 100644 index 000000000..5e71686ae --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionGeneralLedgerTransactionLinesItem.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionGeneralLedgerTransactionLinesItem.Deserializer.class) +public final class GeneralLedgerTransactionGeneralLedgerTransactionLinesItem { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionGeneralLedgerTransactionLinesItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((GeneralLedgerTransactionLine) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionGeneralLedgerTransactionLinesItem + && equalTo((GeneralLedgerTransactionGeneralLedgerTransactionLinesItem) other); + } + + private boolean equalTo(GeneralLedgerTransactionGeneralLedgerTransactionLinesItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionGeneralLedgerTransactionLinesItem of(String value) { + return new GeneralLedgerTransactionGeneralLedgerTransactionLinesItem(value, 0); + } + + public static GeneralLedgerTransactionGeneralLedgerTransactionLinesItem of(GeneralLedgerTransactionLine value) { + return new GeneralLedgerTransactionGeneralLedgerTransactionLinesItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(GeneralLedgerTransactionLine value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionGeneralLedgerTransactionLinesItem.class); + } + + @java.lang.Override + public GeneralLedgerTransactionGeneralLedgerTransactionLinesItem deserialize( + JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, GeneralLedgerTransactionLine.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLine.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLine.java new file mode 100644 index 000000000..c929ae28a --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLine.java @@ -0,0 +1,2002 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = GeneralLedgerTransactionLine.Builder.class) +public final class GeneralLedgerTransactionLine { + private final Optional id; + + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional account; + + private final Optional company; + + private final Optional employee; + + private final Optional contact; + + private final Optional baseCurrency; + + private final Optional transactionCurrency; + + private final Optional exchangeRate; + + private final Optional description; + + private final Optional> trackingCategories; + + private final String debitAmount; + + private final String creditAmount; + + private final Optional item; + + private final String foreignDebitAmount; + + private final String foreignCreditAmount; + + private final Optional remoteWasDeleted; + + private final Optional> fieldMappings; + + private final Map additionalProperties; + + private GeneralLedgerTransactionLine( + Optional id, + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional account, + Optional company, + Optional employee, + Optional contact, + Optional baseCurrency, + Optional transactionCurrency, + Optional exchangeRate, + Optional description, + Optional> trackingCategories, + String debitAmount, + String creditAmount, + Optional item, + String foreignDebitAmount, + String foreignCreditAmount, + Optional remoteWasDeleted, + Optional> fieldMappings, + Map additionalProperties) { + this.id = id; + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.account = account; + this.company = company; + this.employee = employee; + this.contact = contact; + this.baseCurrency = baseCurrency; + this.transactionCurrency = transactionCurrency; + this.exchangeRate = exchangeRate; + this.description = description; + this.trackingCategories = trackingCategories; + this.debitAmount = debitAmount; + this.creditAmount = creditAmount; + this.item = item; + this.foreignDebitAmount = foreignDebitAmount; + this.foreignCreditAmount = foreignCreditAmount; + this.remoteWasDeleted = remoteWasDeleted; + this.fieldMappings = fieldMappings; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + @JsonProperty("account") + public Optional getAccount() { + return account; + } + + /** + * @return The company the GeneralLedgerTransaction belongs to. + */ + @JsonProperty("company") + public Optional getCompany() { + return company; + } + + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + + @JsonProperty("contact") + public Optional getContact() { + return contact; + } + + /** + * @return The base currency of the transaction + *
                + *
              • XUA - ADB Unit of Account
              • + *
              • AFN - Afghan Afghani
              • + *
              • AFA - Afghan Afghani (1927–2002)
              • + *
              • ALL - Albanian Lek
              • + *
              • ALK - Albanian Lek (1946–1965)
              • + *
              • DZD - Algerian Dinar
              • + *
              • ADP - Andorran Peseta
              • + *
              • AOA - Angolan Kwanza
              • + *
              • AOK - Angolan Kwanza (1977–1991)
              • + *
              • AON - Angolan New Kwanza (1990–2000)
              • + *
              • AOR - Angolan Readjusted Kwanza (1995–1999)
              • + *
              • ARA - Argentine Austral
              • + *
              • ARS - Argentine Peso
              • + *
              • ARM - Argentine Peso (1881–1970)
              • + *
              • ARP - Argentine Peso (1983–1985)
              • + *
              • ARL - Argentine Peso Ley (1970–1983)
              • + *
              • AMD - Armenian Dram
              • + *
              • AWG - Aruban Florin
              • + *
              • AUD - Australian Dollar
              • + *
              • ATS - Austrian Schilling
              • + *
              • AZN - Azerbaijani Manat
              • + *
              • AZM - Azerbaijani Manat (1993–2006)
              • + *
              • BSD - Bahamian Dollar
              • + *
              • BHD - Bahraini Dinar
              • + *
              • BDT - Bangladeshi Taka
              • + *
              • BBD - Barbadian Dollar
              • + *
              • BYN - Belarusian Ruble
              • + *
              • BYB - Belarusian Ruble (1994–1999)
              • + *
              • BYR - Belarusian Ruble (2000–2016)
              • + *
              • BEF - Belgian Franc
              • + *
              • BEC - Belgian Franc (convertible)
              • + *
              • BEL - Belgian Franc (financial)
              • + *
              • BZD - Belize Dollar
              • + *
              • BMD - Bermudan Dollar
              • + *
              • BTN - Bhutanese Ngultrum
              • + *
              • BOB - Bolivian Boliviano
              • + *
              • BOL - Bolivian Boliviano (1863–1963)
              • + *
              • BOV - Bolivian Mvdol
              • + *
              • BOP - Bolivian Peso
              • + *
              • BAM - Bosnia-Herzegovina Convertible Mark
              • + *
              • BAD - Bosnia-Herzegovina Dinar (1992–1994)
              • + *
              • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
              • + *
              • BWP - Botswanan Pula
              • + *
              • BRC - 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 Real
              • + *
              • GBP - British Pound
              • + *
              • BND - Brunei Dollar
              • + *
              • BGL - Bulgarian Hard Lev
              • + *
              • BGN - Bulgarian Lev
              • + *
              • BGO - Bulgarian Lev (1879–1952)
              • + *
              • BGM - Bulgarian Socialist Lev
              • + *
              • BUK - Burmese Kyat
              • + *
              • BIF - Burundian Franc
              • + *
              • XPF - CFP Franc
              • + *
              • KHR - Cambodian Riel
              • + *
              • CAD - Canadian Dollar
              • + *
              • CVE - Cape Verdean Escudo
              • + *
              • KYD - Cayman Islands Dollar
              • + *
              • XAF - Central African CFA Franc
              • + *
              • CLE - Chilean Escudo
              • + *
              • CLP - Chilean Peso
              • + *
              • CLF - Chilean Unit of Account (UF)
              • + *
              • CNX - Chinese People’s Bank Dollar
              • + *
              • CNY - Chinese Yuan
              • + *
              • CNH - Chinese Yuan (offshore)
              • + *
              • COP - Colombian Peso
              • + *
              • COU - Colombian Real Value Unit
              • + *
              • KMF - Comorian Franc
              • + *
              • CDF - Congolese Franc
              • + *
              • CRC - Costa Rican Colón
              • + *
              • HRD - Croatian Dinar
              • + *
              • HRK - Croatian Kuna
              • + *
              • CUC - Cuban Convertible Peso
              • + *
              • CUP - Cuban Peso
              • + *
              • CYP - Cypriot Pound
              • + *
              • CZK - Czech Koruna
              • + *
              • CSK - Czechoslovak Hard Koruna
              • + *
              • DKK - Danish Krone
              • + *
              • DJF - Djiboutian Franc
              • + *
              • DOP - Dominican Peso
              • + *
              • NLG - Dutch Guilder
              • + *
              • XCD - East Caribbean Dollar
              • + *
              • DDM - East German Mark
              • + *
              • ECS - Ecuadorian Sucre
              • + *
              • ECV - Ecuadorian Unit of Constant Value
              • + *
              • EGP - Egyptian Pound
              • + *
              • GQE - Equatorial Guinean Ekwele
              • + *
              • ERN - Eritrean Nakfa
              • + *
              • EEK - Estonian Kroon
              • + *
              • ETB - Ethiopian Birr
              • + *
              • EUR - Euro
              • + *
              • XBA - European Composite Unit
              • + *
              • XEU - European Currency Unit
              • + *
              • XBB - European Monetary Unit
              • + *
              • XBC - European Unit of Account (XBC)
              • + *
              • XBD - European Unit of Account (XBD)
              • + *
              • FKP - Falkland Islands Pound
              • + *
              • FJD - Fijian Dollar
              • + *
              • FIM - Finnish Markka
              • + *
              • FRF - French Franc
              • + *
              • XFO - French Gold Franc
              • + *
              • XFU - French UIC-Franc
              • + *
              • GMD - Gambian Dalasi
              • + *
              • GEK - Georgian Kupon Larit
              • + *
              • GEL - Georgian Lari
              • + *
              • DEM - German Mark
              • + *
              • GHS - Ghanaian Cedi
              • + *
              • GHC - Ghanaian Cedi (1979–2007)
              • + *
              • GIP - Gibraltar Pound
              • + *
              • XAU - Gold
              • + *
              • GRD - Greek Drachma
              • + *
              • GTQ - Guatemalan Quetzal
              • + *
              • GWP - Guinea-Bissau Peso
              • + *
              • GNF - Guinean Franc
              • + *
              • GNS - Guinean Syli
              • + *
              • GYD - Guyanaese Dollar
              • + *
              • HTG - Haitian Gourde
              • + *
              • HNL - Honduran Lempira
              • + *
              • HKD - Hong Kong Dollar
              • + *
              • HUF - Hungarian Forint
              • + *
              • IMP - IMP
              • + *
              • ISK - Icelandic Króna
              • + *
              • ISJ - Icelandic Króna (1918–1981)
              • + *
              • INR - Indian Rupee
              • + *
              • IDR - Indonesian Rupiah
              • + *
              • IRR - Iranian Rial
              • + *
              • IQD - Iraqi Dinar
              • + *
              • IEP - Irish Pound
              • + *
              • ILS - Israeli New Shekel
              • + *
              • ILP - Israeli Pound
              • + *
              • ILR - Israeli Shekel (1980–1985)
              • + *
              • ITL - Italian Lira
              • + *
              • JMD - Jamaican Dollar
              • + *
              • JPY - Japanese Yen
              • + *
              • JOD - Jordanian Dinar
              • + *
              • KZT - Kazakhstani Tenge
              • + *
              • KES - Kenyan Shilling
              • + *
              • KWD - Kuwaiti Dinar
              • + *
              • KGS - Kyrgystani Som
              • + *
              • LAK - Laotian Kip
              • + *
              • LVL - Latvian Lats
              • + *
              • LVR - Latvian Ruble
              • + *
              • LBP - Lebanese Pound
              • + *
              • LSL - Lesotho Loti
              • + *
              • LRD - Liberian Dollar
              • + *
              • LYD - Libyan Dinar
              • + *
              • LTL - Lithuanian Litas
              • + *
              • LTT - Lithuanian Talonas
              • + *
              • LUL - Luxembourg Financial Franc
              • + *
              • LUC - Luxembourgian Convertible Franc
              • + *
              • LUF - Luxembourgian Franc
              • + *
              • MOP - Macanese Pataca
              • + *
              • MKD - Macedonian Denar
              • + *
              • MKN - Macedonian Denar (1992–1993)
              • + *
              • MGA - Malagasy Ariary
              • + *
              • MGF - Malagasy Franc
              • + *
              • MWK - Malawian Kwacha
              • + *
              • MYR - Malaysian Ringgit
              • + *
              • MVR - Maldivian Rufiyaa
              • + *
              • MVP - Maldivian Rupee (1947–1981)
              • + *
              • MLF - Malian Franc
              • + *
              • MTL - Maltese Lira
              • + *
              • MTP - Maltese Pound
              • + *
              • MRU - Mauritanian Ouguiya
              • + *
              • MRO - Mauritanian Ouguiya (1973–2017)
              • + *
              • MUR - Mauritian Rupee
              • + *
              • MXV - Mexican Investment Unit
              • + *
              • MXN - Mexican Peso
              • + *
              • MXP - Mexican Silver Peso (1861–1992)
              • + *
              • MDC - Moldovan Cupon
              • + *
              • MDL - Moldovan Leu
              • + *
              • MCF - Monegasque Franc
              • + *
              • MNT - Mongolian Tugrik
              • + *
              • MAD - Moroccan Dirham
              • + *
              • MAF - Moroccan Franc
              • + *
              • MZE - Mozambican Escudo
              • + *
              • MZN - Mozambican Metical
              • + *
              • MZM - Mozambican Metical (1980–2006)
              • + *
              • MMK - Myanmar Kyat
              • + *
              • NAD - Namibian Dollar
              • + *
              • NPR - Nepalese Rupee
              • + *
              • ANG - Netherlands Antillean Guilder
              • + *
              • TWD - New Taiwan Dollar
              • + *
              • NZD - New Zealand Dollar
              • + *
              • NIO - Nicaraguan Córdoba
              • + *
              • NIC - Nicaraguan Córdoba (1988–1991)
              • + *
              • NGN - Nigerian Naira
              • + *
              • KPW - North Korean Won
              • + *
              • NOK - Norwegian Krone
              • + *
              • OMR - Omani Rial
              • + *
              • PKR - Pakistani Rupee
              • + *
              • XPD - Palladium
              • + *
              • PAB - Panamanian Balboa
              • + *
              • PGK - Papua New Guinean Kina
              • + *
              • PYG - Paraguayan Guarani
              • + *
              • PEI - Peruvian Inti
              • + *
              • PEN - Peruvian Sol
              • + *
              • PES - Peruvian Sol (1863–1965)
              • + *
              • PHP - Philippine Peso
              • + *
              • XPT - Platinum
              • + *
              • PLN - Polish Zloty
              • + *
              • PLZ - Polish Zloty (1950–1995)
              • + *
              • PTE - Portuguese Escudo
              • + *
              • GWE - Portuguese Guinea Escudo
              • + *
              • QAR - Qatari Rial
              • + *
              • XRE - RINET Funds
              • + *
              • RHD - Rhodesian Dollar
              • + *
              • RON - Romanian Leu
              • + *
              • ROL - Romanian Leu (1952–2006)
              • + *
              • RUB - Russian Ruble
              • + *
              • RUR - Russian Ruble (1991–1998)
              • + *
              • RWF - Rwandan Franc
              • + *
              • SVC - Salvadoran Colón
              • + *
              • WST - Samoan Tala
              • + *
              • SAR - Saudi Riyal
              • + *
              • RSD - Serbian Dinar
              • + *
              • CSD - Serbian Dinar (2002–2006)
              • + *
              • SCR - Seychellois Rupee
              • + *
              • SLL - Sierra Leonean Leone
              • + *
              • XAG - Silver
              • + *
              • SGD - Singapore Dollar
              • + *
              • SKK - Slovak Koruna
              • + *
              • SIT - Slovenian Tolar
              • + *
              • SBD - Solomon Islands Dollar
              • + *
              • SOS - Somali Shilling
              • + *
              • ZAR - South African Rand
              • + *
              • ZAL - South African Rand (financial)
              • + *
              • KRH - South Korean Hwan (1953–1962)
              • + *
              • KRW - South Korean Won
              • + *
              • KRO - South Korean Won (1945–1953)
              • + *
              • SSP - South Sudanese Pound
              • + *
              • SUR - Soviet Rouble
              • + *
              • ESP - Spanish Peseta
              • + *
              • ESA - Spanish Peseta (A account)
              • + *
              • ESB - Spanish Peseta (convertible account)
              • + *
              • XDR - Special Drawing Rights
              • + *
              • LKR - Sri Lankan Rupee
              • + *
              • SHP - St. Helena Pound
              • + *
              • XSU - Sucre
              • + *
              • SDD - Sudanese Dinar (1992–2007)
              • + *
              • SDG - Sudanese Pound
              • + *
              • SDP - Sudanese Pound (1957–1998)
              • + *
              • SRD - Surinamese Dollar
              • + *
              • SRG - Surinamese Guilder
              • + *
              • SZL - Swazi Lilangeni
              • + *
              • SEK - Swedish Krona
              • + *
              • CHF - Swiss Franc
              • + *
              • SYP - Syrian Pound
              • + *
              • STN - São Tomé & Príncipe Dobra
              • + *
              • STD - São Tomé & Príncipe Dobra (1977–2017)
              • + *
              • TVD - TVD
              • + *
              • TJR - Tajikistani Ruble
              • + *
              • TJS - Tajikistani Somoni
              • + *
              • TZS - Tanzanian Shilling
              • + *
              • XTS - Testing Currency Code
              • + *
              • THB - Thai Baht
              • + *
              • XXX - The codes assigned for transactions where no currency is involved
              • + *
              • TPE - Timorese Escudo
              • + *
              • TOP - Tongan Paʻanga
              • + *
              • TTD - Trinidad & Tobago Dollar
              • + *
              • TND - Tunisian Dinar
              • + *
              • TRY - Turkish Lira
              • + *
              • TRL - Turkish Lira (1922–2005)
              • + *
              • TMT - Turkmenistani Manat
              • + *
              • TMM - Turkmenistani Manat (1993–2009)
              • + *
              • USD - US Dollar
              • + *
              • USN - US Dollar (Next day)
              • + *
              • USS - US Dollar (Same day)
              • + *
              • UGX - Ugandan Shilling
              • + *
              • UGS - Ugandan Shilling (1966–1987)
              • + *
              • UAH - Ukrainian Hryvnia
              • + *
              • UAK - Ukrainian Karbovanets
              • + *
              • AED - United Arab Emirates Dirham
              • + *
              • UYW - Uruguayan Nominal Wage Index Unit
              • + *
              • UYU - Uruguayan Peso
              • + *
              • UYP - Uruguayan Peso (1975–1993)
              • + *
              • UYI - Uruguayan Peso (Indexed Units)
              • + *
              • UZS - Uzbekistani Som
              • + *
              • VUV - Vanuatu Vatu
              • + *
              • VES - Venezuelan Bolívar
              • + *
              • VEB - Venezuelan Bolívar (1871–2008)
              • + *
              • VEF - Venezuelan Bolívar (2008–2018)
              • + *
              • VND - Vietnamese Dong
              • + *
              • VNN - Vietnamese Dong (1978–1985)
              • + *
              • CHE - WIR Euro
              • + *
              • CHW - WIR Franc
              • + *
              • XOF - West African CFA Franc
              • + *
              • YDD - Yemeni Dinar
              • + *
              • YER - Yemeni Rial
              • + *
              • YUN - Yugoslavian Convertible Dinar (1990–1992)
              • + *
              • YUD - Yugoslavian Hard Dinar (1966–1990)
              • + *
              • YUM - Yugoslavian New Dinar (1994–2002)
              • + *
              • YUR - Yugoslavian Reformed Dinar (1992–1993)
              • + *
              • ZWN - ZWN
              • + *
              • ZRN - Zairean New Zaire (1993–1998)
              • + *
              • ZRZ - Zairean Zaire (1971–1993)
              • + *
              • ZMW - Zambian Kwacha
              • + *
              • ZMK - Zambian Kwacha (1968–2012)
              • + *
              • ZWD - Zimbabwean Dollar (1980–2008)
              • + *
              • ZWR - Zimbabwean Dollar (2008)
              • + *
              • ZWL - Zimbabwean Dollar (2009)
              • + *
              + */ + @JsonProperty("base_currency") + public Optional getBaseCurrency() { + return baseCurrency; + } + + /** + * @return The transaction currency that the transaction is made in. + *
                + *
              • XUA - ADB Unit of Account
              • + *
              • AFN - Afghan Afghani
              • + *
              • AFA - Afghan Afghani (1927–2002)
              • + *
              • ALL - Albanian Lek
              • + *
              • ALK - Albanian Lek (1946–1965)
              • + *
              • DZD - Algerian Dinar
              • + *
              • ADP - Andorran Peseta
              • + *
              • AOA - Angolan Kwanza
              • + *
              • AOK - Angolan Kwanza (1977–1991)
              • + *
              • AON - Angolan New Kwanza (1990–2000)
              • + *
              • AOR - Angolan Readjusted Kwanza (1995–1999)
              • + *
              • ARA - Argentine Austral
              • + *
              • ARS - Argentine Peso
              • + *
              • ARM - Argentine Peso (1881–1970)
              • + *
              • ARP - Argentine Peso (1983–1985)
              • + *
              • ARL - Argentine Peso Ley (1970–1983)
              • + *
              • AMD - Armenian Dram
              • + *
              • AWG - Aruban Florin
              • + *
              • AUD - Australian Dollar
              • + *
              • ATS - Austrian Schilling
              • + *
              • AZN - Azerbaijani Manat
              • + *
              • AZM - Azerbaijani Manat (1993–2006)
              • + *
              • BSD - Bahamian Dollar
              • + *
              • BHD - Bahraini Dinar
              • + *
              • BDT - Bangladeshi Taka
              • + *
              • BBD - Barbadian Dollar
              • + *
              • BYN - Belarusian Ruble
              • + *
              • BYB - Belarusian Ruble (1994–1999)
              • + *
              • BYR - Belarusian Ruble (2000–2016)
              • + *
              • BEF - Belgian Franc
              • + *
              • BEC - Belgian Franc (convertible)
              • + *
              • BEL - Belgian Franc (financial)
              • + *
              • BZD - Belize Dollar
              • + *
              • BMD - Bermudan Dollar
              • + *
              • BTN - Bhutanese Ngultrum
              • + *
              • BOB - Bolivian Boliviano
              • + *
              • BOL - Bolivian Boliviano (1863–1963)
              • + *
              • BOV - Bolivian Mvdol
              • + *
              • BOP - Bolivian Peso
              • + *
              • BAM - Bosnia-Herzegovina Convertible Mark
              • + *
              • BAD - Bosnia-Herzegovina Dinar (1992–1994)
              • + *
              • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
              • + *
              • BWP - Botswanan Pula
              • + *
              • BRC - 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 Real
              • + *
              • GBP - British Pound
              • + *
              • BND - Brunei Dollar
              • + *
              • BGL - Bulgarian Hard Lev
              • + *
              • BGN - Bulgarian Lev
              • + *
              • BGO - Bulgarian Lev (1879–1952)
              • + *
              • BGM - Bulgarian Socialist Lev
              • + *
              • BUK - Burmese Kyat
              • + *
              • BIF - Burundian Franc
              • + *
              • XPF - CFP Franc
              • + *
              • KHR - Cambodian Riel
              • + *
              • CAD - Canadian Dollar
              • + *
              • CVE - Cape Verdean Escudo
              • + *
              • KYD - Cayman Islands Dollar
              • + *
              • XAF - Central African CFA Franc
              • + *
              • CLE - Chilean Escudo
              • + *
              • CLP - Chilean Peso
              • + *
              • CLF - Chilean Unit of Account (UF)
              • + *
              • CNX - Chinese People’s Bank Dollar
              • + *
              • CNY - Chinese Yuan
              • + *
              • CNH - Chinese Yuan (offshore)
              • + *
              • COP - Colombian Peso
              • + *
              • COU - Colombian Real Value Unit
              • + *
              • KMF - Comorian Franc
              • + *
              • CDF - Congolese Franc
              • + *
              • CRC - Costa Rican Colón
              • + *
              • HRD - Croatian Dinar
              • + *
              • HRK - Croatian Kuna
              • + *
              • CUC - Cuban Convertible Peso
              • + *
              • CUP - Cuban Peso
              • + *
              • CYP - Cypriot Pound
              • + *
              • CZK - Czech Koruna
              • + *
              • CSK - Czechoslovak Hard Koruna
              • + *
              • DKK - Danish Krone
              • + *
              • DJF - Djiboutian Franc
              • + *
              • DOP - Dominican Peso
              • + *
              • NLG - Dutch Guilder
              • + *
              • XCD - East Caribbean Dollar
              • + *
              • DDM - East German Mark
              • + *
              • ECS - Ecuadorian Sucre
              • + *
              • ECV - Ecuadorian Unit of Constant Value
              • + *
              • EGP - Egyptian Pound
              • + *
              • GQE - Equatorial Guinean Ekwele
              • + *
              • ERN - Eritrean Nakfa
              • + *
              • EEK - Estonian Kroon
              • + *
              • ETB - Ethiopian Birr
              • + *
              • EUR - Euro
              • + *
              • XBA - European Composite Unit
              • + *
              • XEU - European Currency Unit
              • + *
              • XBB - European Monetary Unit
              • + *
              • XBC - European Unit of Account (XBC)
              • + *
              • XBD - European Unit of Account (XBD)
              • + *
              • FKP - Falkland Islands Pound
              • + *
              • FJD - Fijian Dollar
              • + *
              • FIM - Finnish Markka
              • + *
              • FRF - French Franc
              • + *
              • XFO - French Gold Franc
              • + *
              • XFU - French UIC-Franc
              • + *
              • GMD - Gambian Dalasi
              • + *
              • GEK - Georgian Kupon Larit
              • + *
              • GEL - Georgian Lari
              • + *
              • DEM - German Mark
              • + *
              • GHS - Ghanaian Cedi
              • + *
              • GHC - Ghanaian Cedi (1979–2007)
              • + *
              • GIP - Gibraltar Pound
              • + *
              • XAU - Gold
              • + *
              • GRD - Greek Drachma
              • + *
              • GTQ - Guatemalan Quetzal
              • + *
              • GWP - Guinea-Bissau Peso
              • + *
              • GNF - Guinean Franc
              • + *
              • GNS - Guinean Syli
              • + *
              • GYD - Guyanaese Dollar
              • + *
              • HTG - Haitian Gourde
              • + *
              • HNL - Honduran Lempira
              • + *
              • HKD - Hong Kong Dollar
              • + *
              • HUF - Hungarian Forint
              • + *
              • IMP - IMP
              • + *
              • ISK - Icelandic Króna
              • + *
              • ISJ - Icelandic Króna (1918–1981)
              • + *
              • INR - Indian Rupee
              • + *
              • IDR - Indonesian Rupiah
              • + *
              • IRR - Iranian Rial
              • + *
              • IQD - Iraqi Dinar
              • + *
              • IEP - Irish Pound
              • + *
              • ILS - Israeli New Shekel
              • + *
              • ILP - Israeli Pound
              • + *
              • ILR - Israeli Shekel (1980–1985)
              • + *
              • ITL - Italian Lira
              • + *
              • JMD - Jamaican Dollar
              • + *
              • JPY - Japanese Yen
              • + *
              • JOD - Jordanian Dinar
              • + *
              • KZT - Kazakhstani Tenge
              • + *
              • KES - Kenyan Shilling
              • + *
              • KWD - Kuwaiti Dinar
              • + *
              • KGS - Kyrgystani Som
              • + *
              • LAK - Laotian Kip
              • + *
              • LVL - Latvian Lats
              • + *
              • LVR - Latvian Ruble
              • + *
              • LBP - Lebanese Pound
              • + *
              • LSL - Lesotho Loti
              • + *
              • LRD - Liberian Dollar
              • + *
              • LYD - Libyan Dinar
              • + *
              • LTL - Lithuanian Litas
              • + *
              • LTT - Lithuanian Talonas
              • + *
              • LUL - Luxembourg Financial Franc
              • + *
              • LUC - Luxembourgian Convertible Franc
              • + *
              • LUF - Luxembourgian Franc
              • + *
              • MOP - Macanese Pataca
              • + *
              • MKD - Macedonian Denar
              • + *
              • MKN - Macedonian Denar (1992–1993)
              • + *
              • MGA - Malagasy Ariary
              • + *
              • MGF - Malagasy Franc
              • + *
              • MWK - Malawian Kwacha
              • + *
              • MYR - Malaysian Ringgit
              • + *
              • MVR - Maldivian Rufiyaa
              • + *
              • MVP - Maldivian Rupee (1947–1981)
              • + *
              • MLF - Malian Franc
              • + *
              • MTL - Maltese Lira
              • + *
              • MTP - Maltese Pound
              • + *
              • MRU - Mauritanian Ouguiya
              • + *
              • MRO - Mauritanian Ouguiya (1973–2017)
              • + *
              • MUR - Mauritian Rupee
              • + *
              • MXV - Mexican Investment Unit
              • + *
              • MXN - Mexican Peso
              • + *
              • MXP - Mexican Silver Peso (1861–1992)
              • + *
              • MDC - Moldovan Cupon
              • + *
              • MDL - Moldovan Leu
              • + *
              • MCF - Monegasque Franc
              • + *
              • MNT - Mongolian Tugrik
              • + *
              • MAD - Moroccan Dirham
              • + *
              • MAF - Moroccan Franc
              • + *
              • MZE - Mozambican Escudo
              • + *
              • MZN - Mozambican Metical
              • + *
              • MZM - Mozambican Metical (1980–2006)
              • + *
              • MMK - Myanmar Kyat
              • + *
              • NAD - Namibian Dollar
              • + *
              • NPR - Nepalese Rupee
              • + *
              • ANG - Netherlands Antillean Guilder
              • + *
              • TWD - New Taiwan Dollar
              • + *
              • NZD - New Zealand Dollar
              • + *
              • NIO - Nicaraguan Córdoba
              • + *
              • NIC - Nicaraguan Córdoba (1988–1991)
              • + *
              • NGN - Nigerian Naira
              • + *
              • KPW - North Korean Won
              • + *
              • NOK - Norwegian Krone
              • + *
              • OMR - Omani Rial
              • + *
              • PKR - Pakistani Rupee
              • + *
              • XPD - Palladium
              • + *
              • PAB - Panamanian Balboa
              • + *
              • PGK - Papua New Guinean Kina
              • + *
              • PYG - Paraguayan Guarani
              • + *
              • PEI - Peruvian Inti
              • + *
              • PEN - Peruvian Sol
              • + *
              • PES - Peruvian Sol (1863–1965)
              • + *
              • PHP - Philippine Peso
              • + *
              • XPT - Platinum
              • + *
              • PLN - Polish Zloty
              • + *
              • PLZ - Polish Zloty (1950–1995)
              • + *
              • PTE - Portuguese Escudo
              • + *
              • GWE - Portuguese Guinea Escudo
              • + *
              • QAR - Qatari Rial
              • + *
              • XRE - RINET Funds
              • + *
              • RHD - Rhodesian Dollar
              • + *
              • RON - Romanian Leu
              • + *
              • ROL - Romanian Leu (1952–2006)
              • + *
              • RUB - Russian Ruble
              • + *
              • RUR - Russian Ruble (1991–1998)
              • + *
              • RWF - Rwandan Franc
              • + *
              • SVC - Salvadoran Colón
              • + *
              • WST - Samoan Tala
              • + *
              • SAR - Saudi Riyal
              • + *
              • RSD - Serbian Dinar
              • + *
              • CSD - Serbian Dinar (2002–2006)
              • + *
              • SCR - Seychellois Rupee
              • + *
              • SLL - Sierra Leonean Leone
              • + *
              • XAG - Silver
              • + *
              • SGD - Singapore Dollar
              • + *
              • SKK - Slovak Koruna
              • + *
              • SIT - Slovenian Tolar
              • + *
              • SBD - Solomon Islands Dollar
              • + *
              • SOS - Somali Shilling
              • + *
              • ZAR - South African Rand
              • + *
              • ZAL - South African Rand (financial)
              • + *
              • KRH - South Korean Hwan (1953–1962)
              • + *
              • KRW - South Korean Won
              • + *
              • KRO - South Korean Won (1945–1953)
              • + *
              • SSP - South Sudanese Pound
              • + *
              • SUR - Soviet Rouble
              • + *
              • ESP - Spanish Peseta
              • + *
              • ESA - Spanish Peseta (A account)
              • + *
              • ESB - Spanish Peseta (convertible account)
              • + *
              • XDR - Special Drawing Rights
              • + *
              • LKR - Sri Lankan Rupee
              • + *
              • SHP - St. Helena Pound
              • + *
              • XSU - Sucre
              • + *
              • SDD - Sudanese Dinar (1992–2007)
              • + *
              • SDG - Sudanese Pound
              • + *
              • SDP - Sudanese Pound (1957–1998)
              • + *
              • SRD - Surinamese Dollar
              • + *
              • SRG - Surinamese Guilder
              • + *
              • SZL - Swazi Lilangeni
              • + *
              • SEK - Swedish Krona
              • + *
              • CHF - Swiss Franc
              • + *
              • SYP - Syrian Pound
              • + *
              • STN - São Tomé & Príncipe Dobra
              • + *
              • STD - São Tomé & Príncipe Dobra (1977–2017)
              • + *
              • TVD - TVD
              • + *
              • TJR - Tajikistani Ruble
              • + *
              • TJS - Tajikistani Somoni
              • + *
              • TZS - Tanzanian Shilling
              • + *
              • XTS - Testing Currency Code
              • + *
              • THB - Thai Baht
              • + *
              • XXX - The codes assigned for transactions where no currency is involved
              • + *
              • TPE - Timorese Escudo
              • + *
              • TOP - Tongan Paʻanga
              • + *
              • TTD - Trinidad & Tobago Dollar
              • + *
              • TND - Tunisian Dinar
              • + *
              • TRY - Turkish Lira
              • + *
              • TRL - Turkish Lira (1922–2005)
              • + *
              • TMT - Turkmenistani Manat
              • + *
              • TMM - Turkmenistani Manat (1993–2009)
              • + *
              • USD - US Dollar
              • + *
              • USN - US Dollar (Next day)
              • + *
              • USS - US Dollar (Same day)
              • + *
              • UGX - Ugandan Shilling
              • + *
              • UGS - Ugandan Shilling (1966–1987)
              • + *
              • UAH - Ukrainian Hryvnia
              • + *
              • UAK - Ukrainian Karbovanets
              • + *
              • AED - United Arab Emirates Dirham
              • + *
              • UYW - Uruguayan Nominal Wage Index Unit
              • + *
              • UYU - Uruguayan Peso
              • + *
              • UYP - Uruguayan Peso (1975–1993)
              • + *
              • UYI - Uruguayan Peso (Indexed Units)
              • + *
              • UZS - Uzbekistani Som
              • + *
              • VUV - Vanuatu Vatu
              • + *
              • VES - Venezuelan Bolívar
              • + *
              • VEB - Venezuelan Bolívar (1871–2008)
              • + *
              • VEF - Venezuelan Bolívar (2008–2018)
              • + *
              • VND - Vietnamese Dong
              • + *
              • VNN - Vietnamese Dong (1978–1985)
              • + *
              • CHE - WIR Euro
              • + *
              • CHW - WIR Franc
              • + *
              • XOF - West African CFA Franc
              • + *
              • YDD - Yemeni Dinar
              • + *
              • YER - Yemeni Rial
              • + *
              • YUN - Yugoslavian Convertible Dinar (1990–1992)
              • + *
              • YUD - Yugoslavian Hard Dinar (1966–1990)
              • + *
              • YUM - Yugoslavian New Dinar (1994–2002)
              • + *
              • YUR - Yugoslavian Reformed Dinar (1992–1993)
              • + *
              • ZWN - ZWN
              • + *
              • ZRN - Zairean New Zaire (1993–1998)
              • + *
              • ZRZ - Zairean Zaire (1971–1993)
              • + *
              • ZMW - Zambian Kwacha
              • + *
              • ZMK - Zambian Kwacha (1968–2012)
              • + *
              • ZWD - Zimbabwean Dollar (1980–2008)
              • + *
              • ZWR - Zimbabwean Dollar (2008)
              • + *
              • ZWL - Zimbabwean Dollar (2009)
              • + *
              + */ + @JsonProperty("transaction_currency") + public Optional getTransactionCurrency() { + return transactionCurrency; + } + + /** + * @return The exchange rate between the base currency and the transaction currency. + */ + @JsonProperty("exchange_rate") + public Optional getExchangeRate() { + return exchangeRate; + } + + /** + * @return A description of the line item. + */ + @JsonProperty("description") + public Optional getDescription() { + return description; + } + + @JsonProperty("tracking_categories") + public Optional> getTrackingCategories() { + return trackingCategories; + } + + @JsonProperty("debit_amount") + public String getDebitAmount() { + return debitAmount; + } + + @JsonProperty("credit_amount") + public String getCreditAmount() { + return creditAmount; + } + + @JsonProperty("item") + public Optional getItem() { + return item; + } + + @JsonProperty("foreign_debit_amount") + public String getForeignDebitAmount() { + return foreignDebitAmount; + } + + @JsonProperty("foreign_credit_amount") + public String getForeignCreditAmount() { + return foreignCreditAmount; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @JsonProperty("field_mappings") + public Optional> getFieldMappings() { + return fieldMappings; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLine && equalTo((GeneralLedgerTransactionLine) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GeneralLedgerTransactionLine other) { + return id.equals(other.id) + && remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && account.equals(other.account) + && company.equals(other.company) + && employee.equals(other.employee) + && contact.equals(other.contact) + && baseCurrency.equals(other.baseCurrency) + && transactionCurrency.equals(other.transactionCurrency) + && exchangeRate.equals(other.exchangeRate) + && description.equals(other.description) + && trackingCategories.equals(other.trackingCategories) + && debitAmount.equals(other.debitAmount) + && creditAmount.equals(other.creditAmount) + && item.equals(other.item) + && foreignDebitAmount.equals(other.foreignDebitAmount) + && foreignCreditAmount.equals(other.foreignCreditAmount) + && remoteWasDeleted.equals(other.remoteWasDeleted) + && fieldMappings.equals(other.fieldMappings); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.remoteId, + this.createdAt, + this.modifiedAt, + this.account, + this.company, + this.employee, + this.contact, + this.baseCurrency, + this.transactionCurrency, + this.exchangeRate, + this.description, + this.trackingCategories, + this.debitAmount, + this.creditAmount, + this.item, + this.foreignDebitAmount, + this.foreignCreditAmount, + this.remoteWasDeleted, + this.fieldMappings); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DebitAmountStage builder() { + return new Builder(); + } + + public interface DebitAmountStage { + CreditAmountStage debitAmount(String debitAmount); + + Builder from(GeneralLedgerTransactionLine other); + } + + public interface CreditAmountStage { + ForeignDebitAmountStage creditAmount(String creditAmount); + } + + public interface ForeignDebitAmountStage { + ForeignCreditAmountStage foreignDebitAmount(String foreignDebitAmount); + } + + public interface ForeignCreditAmountStage { + _FinalStage foreignCreditAmount(String foreignCreditAmount); + } + + public interface _FinalStage { + GeneralLedgerTransactionLine build(); + + _FinalStage id(Optional id); + + _FinalStage id(String id); + + _FinalStage remoteId(Optional remoteId); + + _FinalStage remoteId(String remoteId); + + _FinalStage createdAt(Optional createdAt); + + _FinalStage createdAt(OffsetDateTime createdAt); + + _FinalStage modifiedAt(Optional modifiedAt); + + _FinalStage modifiedAt(OffsetDateTime modifiedAt); + + _FinalStage account(Optional account); + + _FinalStage account(GeneralLedgerTransactionLineAccount account); + + _FinalStage company(Optional company); + + _FinalStage company(GeneralLedgerTransactionLineCompany company); + + _FinalStage employee(Optional employee); + + _FinalStage employee(GeneralLedgerTransactionLineEmployee employee); + + _FinalStage contact(Optional contact); + + _FinalStage contact(GeneralLedgerTransactionLineContact contact); + + _FinalStage baseCurrency(Optional baseCurrency); + + _FinalStage baseCurrency(GeneralLedgerTransactionLineBaseCurrency baseCurrency); + + _FinalStage transactionCurrency(Optional transactionCurrency); + + _FinalStage transactionCurrency(GeneralLedgerTransactionLineTransactionCurrency transactionCurrency); + + _FinalStage exchangeRate(Optional exchangeRate); + + _FinalStage exchangeRate(String exchangeRate); + + _FinalStage description(Optional description); + + _FinalStage description(String description); + + _FinalStage trackingCategories(Optional> trackingCategories); + + _FinalStage trackingCategories(List trackingCategories); + + _FinalStage item(Optional item); + + _FinalStage item(GeneralLedgerTransactionLineItem item); + + _FinalStage remoteWasDeleted(Optional remoteWasDeleted); + + _FinalStage remoteWasDeleted(Boolean remoteWasDeleted); + + _FinalStage fieldMappings(Optional> fieldMappings); + + _FinalStage fieldMappings(Map fieldMappings); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements DebitAmountStage, + CreditAmountStage, + ForeignDebitAmountStage, + ForeignCreditAmountStage, + _FinalStage { + private String debitAmount; + + private String creditAmount; + + private String foreignDebitAmount; + + private String foreignCreditAmount; + + private Optional> fieldMappings = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + private Optional item = Optional.empty(); + + private Optional> trackingCategories = Optional.empty(); + + private Optional description = Optional.empty(); + + private Optional exchangeRate = Optional.empty(); + + private Optional transactionCurrency = Optional.empty(); + + private Optional baseCurrency = Optional.empty(); + + private Optional contact = Optional.empty(); + + private Optional employee = Optional.empty(); + + private Optional company = Optional.empty(); + + private Optional account = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + private Optional id = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GeneralLedgerTransactionLine other) { + id(other.getId()); + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + account(other.getAccount()); + company(other.getCompany()); + employee(other.getEmployee()); + contact(other.getContact()); + baseCurrency(other.getBaseCurrency()); + transactionCurrency(other.getTransactionCurrency()); + exchangeRate(other.getExchangeRate()); + description(other.getDescription()); + trackingCategories(other.getTrackingCategories()); + debitAmount(other.getDebitAmount()); + creditAmount(other.getCreditAmount()); + item(other.getItem()); + foreignDebitAmount(other.getForeignDebitAmount()); + foreignCreditAmount(other.getForeignCreditAmount()); + remoteWasDeleted(other.getRemoteWasDeleted()); + fieldMappings(other.getFieldMappings()); + return this; + } + + @java.lang.Override + @JsonSetter("debit_amount") + public CreditAmountStage debitAmount(String debitAmount) { + this.debitAmount = debitAmount; + return this; + } + + @java.lang.Override + @JsonSetter("credit_amount") + public ForeignDebitAmountStage creditAmount(String creditAmount) { + this.creditAmount = creditAmount; + return this; + } + + @java.lang.Override + @JsonSetter("foreign_debit_amount") + public ForeignCreditAmountStage foreignDebitAmount(String foreignDebitAmount) { + this.foreignDebitAmount = foreignDebitAmount; + return this; + } + + @java.lang.Override + @JsonSetter("foreign_credit_amount") + public _FinalStage foreignCreditAmount(String foreignCreditAmount) { + this.foreignCreditAmount = foreignCreditAmount; + return this; + } + + @java.lang.Override + public _FinalStage fieldMappings(Map fieldMappings) { + this.fieldMappings = Optional.of(fieldMappings); + return this; + } + + @java.lang.Override + @JsonSetter(value = "field_mappings", nulls = Nulls.SKIP) + public _FinalStage fieldMappings(Optional> fieldMappings) { + this.fieldMappings = fieldMappings; + return this; + } + + /** + *

              Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + @java.lang.Override + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public _FinalStage remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + @java.lang.Override + public _FinalStage item(GeneralLedgerTransactionLineItem item) { + this.item = Optional.of(item); + return this; + } + + @java.lang.Override + @JsonSetter(value = "item", nulls = Nulls.SKIP) + public _FinalStage item(Optional item) { + this.item = item; + return this; + } + + @java.lang.Override + public _FinalStage trackingCategories(List trackingCategories) { + this.trackingCategories = Optional.of(trackingCategories); + return this; + } + + @java.lang.Override + @JsonSetter(value = "tracking_categories", nulls = Nulls.SKIP) + public _FinalStage trackingCategories(Optional> trackingCategories) { + this.trackingCategories = trackingCategories; + return this; + } + + /** + *

              A description of the line item.

              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage description(String description) { + this.description = Optional.of(description); + return this; + } + + @java.lang.Override + @JsonSetter(value = "description", nulls = Nulls.SKIP) + public _FinalStage description(Optional description) { + this.description = description; + return this; + } + + /** + *

              The exchange rate between the base currency and the transaction currency.

              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage exchangeRate(String exchangeRate) { + this.exchangeRate = Optional.of(exchangeRate); + return this; + } + + @java.lang.Override + @JsonSetter(value = "exchange_rate", nulls = Nulls.SKIP) + public _FinalStage exchangeRate(Optional exchangeRate) { + this.exchangeRate = exchangeRate; + return this; + } + + /** + *

              The transaction currency that the transaction is made in.

              + *
                + *
              • XUA - ADB Unit of Account
              • + *
              • AFN - Afghan Afghani
              • + *
              • AFA - Afghan Afghani (1927–2002)
              • + *
              • ALL - Albanian Lek
              • + *
              • ALK - Albanian Lek (1946–1965)
              • + *
              • DZD - Algerian Dinar
              • + *
              • ADP - Andorran Peseta
              • + *
              • AOA - Angolan Kwanza
              • + *
              • AOK - Angolan Kwanza (1977–1991)
              • + *
              • AON - Angolan New Kwanza (1990–2000)
              • + *
              • AOR - Angolan Readjusted Kwanza (1995–1999)
              • + *
              • ARA - Argentine Austral
              • + *
              • ARS - Argentine Peso
              • + *
              • ARM - Argentine Peso (1881–1970)
              • + *
              • ARP - Argentine Peso (1983–1985)
              • + *
              • ARL - Argentine Peso Ley (1970–1983)
              • + *
              • AMD - Armenian Dram
              • + *
              • AWG - Aruban Florin
              • + *
              • AUD - Australian Dollar
              • + *
              • ATS - Austrian Schilling
              • + *
              • AZN - Azerbaijani Manat
              • + *
              • AZM - Azerbaijani Manat (1993–2006)
              • + *
              • BSD - Bahamian Dollar
              • + *
              • BHD - Bahraini Dinar
              • + *
              • BDT - Bangladeshi Taka
              • + *
              • BBD - Barbadian Dollar
              • + *
              • BYN - Belarusian Ruble
              • + *
              • BYB - Belarusian Ruble (1994–1999)
              • + *
              • BYR - Belarusian Ruble (2000–2016)
              • + *
              • BEF - Belgian Franc
              • + *
              • BEC - Belgian Franc (convertible)
              • + *
              • BEL - Belgian Franc (financial)
              • + *
              • BZD - Belize Dollar
              • + *
              • BMD - Bermudan Dollar
              • + *
              • BTN - Bhutanese Ngultrum
              • + *
              • BOB - Bolivian Boliviano
              • + *
              • BOL - Bolivian Boliviano (1863–1963)
              • + *
              • BOV - Bolivian Mvdol
              • + *
              • BOP - Bolivian Peso
              • + *
              • BAM - Bosnia-Herzegovina Convertible Mark
              • + *
              • BAD - Bosnia-Herzegovina Dinar (1992–1994)
              • + *
              • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
              • + *
              • BWP - Botswanan Pula
              • + *
              • BRC - 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 Real
              • + *
              • GBP - British Pound
              • + *
              • BND - Brunei Dollar
              • + *
              • BGL - Bulgarian Hard Lev
              • + *
              • BGN - Bulgarian Lev
              • + *
              • BGO - Bulgarian Lev (1879–1952)
              • + *
              • BGM - Bulgarian Socialist Lev
              • + *
              • BUK - Burmese Kyat
              • + *
              • BIF - Burundian Franc
              • + *
              • XPF - CFP Franc
              • + *
              • KHR - Cambodian Riel
              • + *
              • CAD - Canadian Dollar
              • + *
              • CVE - Cape Verdean Escudo
              • + *
              • KYD - Cayman Islands Dollar
              • + *
              • XAF - Central African CFA Franc
              • + *
              • CLE - Chilean Escudo
              • + *
              • CLP - Chilean Peso
              • + *
              • CLF - Chilean Unit of Account (UF)
              • + *
              • CNX - Chinese People’s Bank Dollar
              • + *
              • CNY - Chinese Yuan
              • + *
              • CNH - Chinese Yuan (offshore)
              • + *
              • COP - Colombian Peso
              • + *
              • COU - Colombian Real Value Unit
              • + *
              • KMF - Comorian Franc
              • + *
              • CDF - Congolese Franc
              • + *
              • CRC - Costa Rican Colón
              • + *
              • HRD - Croatian Dinar
              • + *
              • HRK - Croatian Kuna
              • + *
              • CUC - Cuban Convertible Peso
              • + *
              • CUP - Cuban Peso
              • + *
              • CYP - Cypriot Pound
              • + *
              • CZK - Czech Koruna
              • + *
              • CSK - Czechoslovak Hard Koruna
              • + *
              • DKK - Danish Krone
              • + *
              • DJF - Djiboutian Franc
              • + *
              • DOP - Dominican Peso
              • + *
              • NLG - Dutch Guilder
              • + *
              • XCD - East Caribbean Dollar
              • + *
              • DDM - East German Mark
              • + *
              • ECS - Ecuadorian Sucre
              • + *
              • ECV - Ecuadorian Unit of Constant Value
              • + *
              • EGP - Egyptian Pound
              • + *
              • GQE - Equatorial Guinean Ekwele
              • + *
              • ERN - Eritrean Nakfa
              • + *
              • EEK - Estonian Kroon
              • + *
              • ETB - Ethiopian Birr
              • + *
              • EUR - Euro
              • + *
              • XBA - European Composite Unit
              • + *
              • XEU - European Currency Unit
              • + *
              • XBB - European Monetary Unit
              • + *
              • XBC - European Unit of Account (XBC)
              • + *
              • XBD - European Unit of Account (XBD)
              • + *
              • FKP - Falkland Islands Pound
              • + *
              • FJD - Fijian Dollar
              • + *
              • FIM - Finnish Markka
              • + *
              • FRF - French Franc
              • + *
              • XFO - French Gold Franc
              • + *
              • XFU - French UIC-Franc
              • + *
              • GMD - Gambian Dalasi
              • + *
              • GEK - Georgian Kupon Larit
              • + *
              • GEL - Georgian Lari
              • + *
              • DEM - German Mark
              • + *
              • GHS - Ghanaian Cedi
              • + *
              • GHC - Ghanaian Cedi (1979–2007)
              • + *
              • GIP - Gibraltar Pound
              • + *
              • XAU - Gold
              • + *
              • GRD - Greek Drachma
              • + *
              • GTQ - Guatemalan Quetzal
              • + *
              • GWP - Guinea-Bissau Peso
              • + *
              • GNF - Guinean Franc
              • + *
              • GNS - Guinean Syli
              • + *
              • GYD - Guyanaese Dollar
              • + *
              • HTG - Haitian Gourde
              • + *
              • HNL - Honduran Lempira
              • + *
              • HKD - Hong Kong Dollar
              • + *
              • HUF - Hungarian Forint
              • + *
              • IMP - IMP
              • + *
              • ISK - Icelandic Króna
              • + *
              • ISJ - Icelandic Króna (1918–1981)
              • + *
              • INR - Indian Rupee
              • + *
              • IDR - Indonesian Rupiah
              • + *
              • IRR - Iranian Rial
              • + *
              • IQD - Iraqi Dinar
              • + *
              • IEP - Irish Pound
              • + *
              • ILS - Israeli New Shekel
              • + *
              • ILP - Israeli Pound
              • + *
              • ILR - Israeli Shekel (1980–1985)
              • + *
              • ITL - Italian Lira
              • + *
              • JMD - Jamaican Dollar
              • + *
              • JPY - Japanese Yen
              • + *
              • JOD - Jordanian Dinar
              • + *
              • KZT - Kazakhstani Tenge
              • + *
              • KES - Kenyan Shilling
              • + *
              • KWD - Kuwaiti Dinar
              • + *
              • KGS - Kyrgystani Som
              • + *
              • LAK - Laotian Kip
              • + *
              • LVL - Latvian Lats
              • + *
              • LVR - Latvian Ruble
              • + *
              • LBP - Lebanese Pound
              • + *
              • LSL - Lesotho Loti
              • + *
              • LRD - Liberian Dollar
              • + *
              • LYD - Libyan Dinar
              • + *
              • LTL - Lithuanian Litas
              • + *
              • LTT - Lithuanian Talonas
              • + *
              • LUL - Luxembourg Financial Franc
              • + *
              • LUC - Luxembourgian Convertible Franc
              • + *
              • LUF - Luxembourgian Franc
              • + *
              • MOP - Macanese Pataca
              • + *
              • MKD - Macedonian Denar
              • + *
              • MKN - Macedonian Denar (1992–1993)
              • + *
              • MGA - Malagasy Ariary
              • + *
              • MGF - Malagasy Franc
              • + *
              • MWK - Malawian Kwacha
              • + *
              • MYR - Malaysian Ringgit
              • + *
              • MVR - Maldivian Rufiyaa
              • + *
              • MVP - Maldivian Rupee (1947–1981)
              • + *
              • MLF - Malian Franc
              • + *
              • MTL - Maltese Lira
              • + *
              • MTP - Maltese Pound
              • + *
              • MRU - Mauritanian Ouguiya
              • + *
              • MRO - Mauritanian Ouguiya (1973–2017)
              • + *
              • MUR - Mauritian Rupee
              • + *
              • MXV - Mexican Investment Unit
              • + *
              • MXN - Mexican Peso
              • + *
              • MXP - Mexican Silver Peso (1861–1992)
              • + *
              • MDC - Moldovan Cupon
              • + *
              • MDL - Moldovan Leu
              • + *
              • MCF - Monegasque Franc
              • + *
              • MNT - Mongolian Tugrik
              • + *
              • MAD - Moroccan Dirham
              • + *
              • MAF - Moroccan Franc
              • + *
              • MZE - Mozambican Escudo
              • + *
              • MZN - Mozambican Metical
              • + *
              • MZM - Mozambican Metical (1980–2006)
              • + *
              • MMK - Myanmar Kyat
              • + *
              • NAD - Namibian Dollar
              • + *
              • NPR - Nepalese Rupee
              • + *
              • ANG - Netherlands Antillean Guilder
              • + *
              • TWD - New Taiwan Dollar
              • + *
              • NZD - New Zealand Dollar
              • + *
              • NIO - Nicaraguan Córdoba
              • + *
              • NIC - Nicaraguan Córdoba (1988–1991)
              • + *
              • NGN - Nigerian Naira
              • + *
              • KPW - North Korean Won
              • + *
              • NOK - Norwegian Krone
              • + *
              • OMR - Omani Rial
              • + *
              • PKR - Pakistani Rupee
              • + *
              • XPD - Palladium
              • + *
              • PAB - Panamanian Balboa
              • + *
              • PGK - Papua New Guinean Kina
              • + *
              • PYG - Paraguayan Guarani
              • + *
              • PEI - Peruvian Inti
              • + *
              • PEN - Peruvian Sol
              • + *
              • PES - Peruvian Sol (1863–1965)
              • + *
              • PHP - Philippine Peso
              • + *
              • XPT - Platinum
              • + *
              • PLN - Polish Zloty
              • + *
              • PLZ - Polish Zloty (1950–1995)
              • + *
              • PTE - Portuguese Escudo
              • + *
              • GWE - Portuguese Guinea Escudo
              • + *
              • QAR - Qatari Rial
              • + *
              • XRE - RINET Funds
              • + *
              • RHD - Rhodesian Dollar
              • + *
              • RON - Romanian Leu
              • + *
              • ROL - Romanian Leu (1952–2006)
              • + *
              • RUB - Russian Ruble
              • + *
              • RUR - Russian Ruble (1991–1998)
              • + *
              • RWF - Rwandan Franc
              • + *
              • SVC - Salvadoran Colón
              • + *
              • WST - Samoan Tala
              • + *
              • SAR - Saudi Riyal
              • + *
              • RSD - Serbian Dinar
              • + *
              • CSD - Serbian Dinar (2002–2006)
              • + *
              • SCR - Seychellois Rupee
              • + *
              • SLL - Sierra Leonean Leone
              • + *
              • XAG - Silver
              • + *
              • SGD - Singapore Dollar
              • + *
              • SKK - Slovak Koruna
              • + *
              • SIT - Slovenian Tolar
              • + *
              • SBD - Solomon Islands Dollar
              • + *
              • SOS - Somali Shilling
              • + *
              • ZAR - South African Rand
              • + *
              • ZAL - South African Rand (financial)
              • + *
              • KRH - South Korean Hwan (1953–1962)
              • + *
              • KRW - South Korean Won
              • + *
              • KRO - South Korean Won (1945–1953)
              • + *
              • SSP - South Sudanese Pound
              • + *
              • SUR - Soviet Rouble
              • + *
              • ESP - Spanish Peseta
              • + *
              • ESA - Spanish Peseta (A account)
              • + *
              • ESB - Spanish Peseta (convertible account)
              • + *
              • XDR - Special Drawing Rights
              • + *
              • LKR - Sri Lankan Rupee
              • + *
              • SHP - St. Helena Pound
              • + *
              • XSU - Sucre
              • + *
              • SDD - Sudanese Dinar (1992–2007)
              • + *
              • SDG - Sudanese Pound
              • + *
              • SDP - Sudanese Pound (1957–1998)
              • + *
              • SRD - Surinamese Dollar
              • + *
              • SRG - Surinamese Guilder
              • + *
              • SZL - Swazi Lilangeni
              • + *
              • SEK - Swedish Krona
              • + *
              • CHF - Swiss Franc
              • + *
              • SYP - Syrian Pound
              • + *
              • STN - São Tomé & Príncipe Dobra
              • + *
              • STD - São Tomé & Príncipe Dobra (1977–2017)
              • + *
              • TVD - TVD
              • + *
              • TJR - Tajikistani Ruble
              • + *
              • TJS - Tajikistani Somoni
              • + *
              • TZS - Tanzanian Shilling
              • + *
              • XTS - Testing Currency Code
              • + *
              • THB - Thai Baht
              • + *
              • XXX - The codes assigned for transactions where no currency is involved
              • + *
              • TPE - Timorese Escudo
              • + *
              • TOP - Tongan Paʻanga
              • + *
              • TTD - Trinidad & Tobago Dollar
              • + *
              • TND - Tunisian Dinar
              • + *
              • TRY - Turkish Lira
              • + *
              • TRL - Turkish Lira (1922–2005)
              • + *
              • TMT - Turkmenistani Manat
              • + *
              • TMM - Turkmenistani Manat (1993–2009)
              • + *
              • USD - US Dollar
              • + *
              • USN - US Dollar (Next day)
              • + *
              • USS - US Dollar (Same day)
              • + *
              • UGX - Ugandan Shilling
              • + *
              • UGS - Ugandan Shilling (1966–1987)
              • + *
              • UAH - Ukrainian Hryvnia
              • + *
              • UAK - Ukrainian Karbovanets
              • + *
              • AED - United Arab Emirates Dirham
              • + *
              • UYW - Uruguayan Nominal Wage Index Unit
              • + *
              • UYU - Uruguayan Peso
              • + *
              • UYP - Uruguayan Peso (1975–1993)
              • + *
              • UYI - Uruguayan Peso (Indexed Units)
              • + *
              • UZS - Uzbekistani Som
              • + *
              • VUV - Vanuatu Vatu
              • + *
              • VES - Venezuelan Bolívar
              • + *
              • VEB - Venezuelan Bolívar (1871–2008)
              • + *
              • VEF - Venezuelan Bolívar (2008–2018)
              • + *
              • VND - Vietnamese Dong
              • + *
              • VNN - Vietnamese Dong (1978–1985)
              • + *
              • CHE - WIR Euro
              • + *
              • CHW - WIR Franc
              • + *
              • XOF - West African CFA Franc
              • + *
              • YDD - Yemeni Dinar
              • + *
              • YER - Yemeni Rial
              • + *
              • YUN - Yugoslavian Convertible Dinar (1990–1992)
              • + *
              • YUD - Yugoslavian Hard Dinar (1966–1990)
              • + *
              • YUM - Yugoslavian New Dinar (1994–2002)
              • + *
              • YUR - Yugoslavian Reformed Dinar (1992–1993)
              • + *
              • ZWN - ZWN
              • + *
              • ZRN - Zairean New Zaire (1993–1998)
              • + *
              • ZRZ - Zairean Zaire (1971–1993)
              • + *
              • ZMW - Zambian Kwacha
              • + *
              • ZMK - Zambian Kwacha (1968–2012)
              • + *
              • ZWD - Zimbabwean Dollar (1980–2008)
              • + *
              • ZWR - Zimbabwean Dollar (2008)
              • + *
              • ZWL - Zimbabwean Dollar (2009)
              • + *
              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage transactionCurrency(GeneralLedgerTransactionLineTransactionCurrency transactionCurrency) { + this.transactionCurrency = Optional.of(transactionCurrency); + return this; + } + + @java.lang.Override + @JsonSetter(value = "transaction_currency", nulls = Nulls.SKIP) + public _FinalStage transactionCurrency( + Optional transactionCurrency) { + this.transactionCurrency = transactionCurrency; + return this; + } + + /** + *

              The base currency of the transaction

              + *
                + *
              • XUA - ADB Unit of Account
              • + *
              • AFN - Afghan Afghani
              • + *
              • AFA - Afghan Afghani (1927–2002)
              • + *
              • ALL - Albanian Lek
              • + *
              • ALK - Albanian Lek (1946–1965)
              • + *
              • DZD - Algerian Dinar
              • + *
              • ADP - Andorran Peseta
              • + *
              • AOA - Angolan Kwanza
              • + *
              • AOK - Angolan Kwanza (1977–1991)
              • + *
              • AON - Angolan New Kwanza (1990–2000)
              • + *
              • AOR - Angolan Readjusted Kwanza (1995–1999)
              • + *
              • ARA - Argentine Austral
              • + *
              • ARS - Argentine Peso
              • + *
              • ARM - Argentine Peso (1881–1970)
              • + *
              • ARP - Argentine Peso (1983–1985)
              • + *
              • ARL - Argentine Peso Ley (1970–1983)
              • + *
              • AMD - Armenian Dram
              • + *
              • AWG - Aruban Florin
              • + *
              • AUD - Australian Dollar
              • + *
              • ATS - Austrian Schilling
              • + *
              • AZN - Azerbaijani Manat
              • + *
              • AZM - Azerbaijani Manat (1993–2006)
              • + *
              • BSD - Bahamian Dollar
              • + *
              • BHD - Bahraini Dinar
              • + *
              • BDT - Bangladeshi Taka
              • + *
              • BBD - Barbadian Dollar
              • + *
              • BYN - Belarusian Ruble
              • + *
              • BYB - Belarusian Ruble (1994–1999)
              • + *
              • BYR - Belarusian Ruble (2000–2016)
              • + *
              • BEF - Belgian Franc
              • + *
              • BEC - Belgian Franc (convertible)
              • + *
              • BEL - Belgian Franc (financial)
              • + *
              • BZD - Belize Dollar
              • + *
              • BMD - Bermudan Dollar
              • + *
              • BTN - Bhutanese Ngultrum
              • + *
              • BOB - Bolivian Boliviano
              • + *
              • BOL - Bolivian Boliviano (1863–1963)
              • + *
              • BOV - Bolivian Mvdol
              • + *
              • BOP - Bolivian Peso
              • + *
              • BAM - Bosnia-Herzegovina Convertible Mark
              • + *
              • BAD - Bosnia-Herzegovina Dinar (1992–1994)
              • + *
              • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
              • + *
              • BWP - Botswanan Pula
              • + *
              • BRC - 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 Real
              • + *
              • GBP - British Pound
              • + *
              • BND - Brunei Dollar
              • + *
              • BGL - Bulgarian Hard Lev
              • + *
              • BGN - Bulgarian Lev
              • + *
              • BGO - Bulgarian Lev (1879–1952)
              • + *
              • BGM - Bulgarian Socialist Lev
              • + *
              • BUK - Burmese Kyat
              • + *
              • BIF - Burundian Franc
              • + *
              • XPF - CFP Franc
              • + *
              • KHR - Cambodian Riel
              • + *
              • CAD - Canadian Dollar
              • + *
              • CVE - Cape Verdean Escudo
              • + *
              • KYD - Cayman Islands Dollar
              • + *
              • XAF - Central African CFA Franc
              • + *
              • CLE - Chilean Escudo
              • + *
              • CLP - Chilean Peso
              • + *
              • CLF - Chilean Unit of Account (UF)
              • + *
              • CNX - Chinese People’s Bank Dollar
              • + *
              • CNY - Chinese Yuan
              • + *
              • CNH - Chinese Yuan (offshore)
              • + *
              • COP - Colombian Peso
              • + *
              • COU - Colombian Real Value Unit
              • + *
              • KMF - Comorian Franc
              • + *
              • CDF - Congolese Franc
              • + *
              • CRC - Costa Rican Colón
              • + *
              • HRD - Croatian Dinar
              • + *
              • HRK - Croatian Kuna
              • + *
              • CUC - Cuban Convertible Peso
              • + *
              • CUP - Cuban Peso
              • + *
              • CYP - Cypriot Pound
              • + *
              • CZK - Czech Koruna
              • + *
              • CSK - Czechoslovak Hard Koruna
              • + *
              • DKK - Danish Krone
              • + *
              • DJF - Djiboutian Franc
              • + *
              • DOP - Dominican Peso
              • + *
              • NLG - Dutch Guilder
              • + *
              • XCD - East Caribbean Dollar
              • + *
              • DDM - East German Mark
              • + *
              • ECS - Ecuadorian Sucre
              • + *
              • ECV - Ecuadorian Unit of Constant Value
              • + *
              • EGP - Egyptian Pound
              • + *
              • GQE - Equatorial Guinean Ekwele
              • + *
              • ERN - Eritrean Nakfa
              • + *
              • EEK - Estonian Kroon
              • + *
              • ETB - Ethiopian Birr
              • + *
              • EUR - Euro
              • + *
              • XBA - European Composite Unit
              • + *
              • XEU - European Currency Unit
              • + *
              • XBB - European Monetary Unit
              • + *
              • XBC - European Unit of Account (XBC)
              • + *
              • XBD - European Unit of Account (XBD)
              • + *
              • FKP - Falkland Islands Pound
              • + *
              • FJD - Fijian Dollar
              • + *
              • FIM - Finnish Markka
              • + *
              • FRF - French Franc
              • + *
              • XFO - French Gold Franc
              • + *
              • XFU - French UIC-Franc
              • + *
              • GMD - Gambian Dalasi
              • + *
              • GEK - Georgian Kupon Larit
              • + *
              • GEL - Georgian Lari
              • + *
              • DEM - German Mark
              • + *
              • GHS - Ghanaian Cedi
              • + *
              • GHC - Ghanaian Cedi (1979–2007)
              • + *
              • GIP - Gibraltar Pound
              • + *
              • XAU - Gold
              • + *
              • GRD - Greek Drachma
              • + *
              • GTQ - Guatemalan Quetzal
              • + *
              • GWP - Guinea-Bissau Peso
              • + *
              • GNF - Guinean Franc
              • + *
              • GNS - Guinean Syli
              • + *
              • GYD - Guyanaese Dollar
              • + *
              • HTG - Haitian Gourde
              • + *
              • HNL - Honduran Lempira
              • + *
              • HKD - Hong Kong Dollar
              • + *
              • HUF - Hungarian Forint
              • + *
              • IMP - IMP
              • + *
              • ISK - Icelandic Króna
              • + *
              • ISJ - Icelandic Króna (1918–1981)
              • + *
              • INR - Indian Rupee
              • + *
              • IDR - Indonesian Rupiah
              • + *
              • IRR - Iranian Rial
              • + *
              • IQD - Iraqi Dinar
              • + *
              • IEP - Irish Pound
              • + *
              • ILS - Israeli New Shekel
              • + *
              • ILP - Israeli Pound
              • + *
              • ILR - Israeli Shekel (1980–1985)
              • + *
              • ITL - Italian Lira
              • + *
              • JMD - Jamaican Dollar
              • + *
              • JPY - Japanese Yen
              • + *
              • JOD - Jordanian Dinar
              • + *
              • KZT - Kazakhstani Tenge
              • + *
              • KES - Kenyan Shilling
              • + *
              • KWD - Kuwaiti Dinar
              • + *
              • KGS - Kyrgystani Som
              • + *
              • LAK - Laotian Kip
              • + *
              • LVL - Latvian Lats
              • + *
              • LVR - Latvian Ruble
              • + *
              • LBP - Lebanese Pound
              • + *
              • LSL - Lesotho Loti
              • + *
              • LRD - Liberian Dollar
              • + *
              • LYD - Libyan Dinar
              • + *
              • LTL - Lithuanian Litas
              • + *
              • LTT - Lithuanian Talonas
              • + *
              • LUL - Luxembourg Financial Franc
              • + *
              • LUC - Luxembourgian Convertible Franc
              • + *
              • LUF - Luxembourgian Franc
              • + *
              • MOP - Macanese Pataca
              • + *
              • MKD - Macedonian Denar
              • + *
              • MKN - Macedonian Denar (1992–1993)
              • + *
              • MGA - Malagasy Ariary
              • + *
              • MGF - Malagasy Franc
              • + *
              • MWK - Malawian Kwacha
              • + *
              • MYR - Malaysian Ringgit
              • + *
              • MVR - Maldivian Rufiyaa
              • + *
              • MVP - Maldivian Rupee (1947–1981)
              • + *
              • MLF - Malian Franc
              • + *
              • MTL - Maltese Lira
              • + *
              • MTP - Maltese Pound
              • + *
              • MRU - Mauritanian Ouguiya
              • + *
              • MRO - Mauritanian Ouguiya (1973–2017)
              • + *
              • MUR - Mauritian Rupee
              • + *
              • MXV - Mexican Investment Unit
              • + *
              • MXN - Mexican Peso
              • + *
              • MXP - Mexican Silver Peso (1861–1992)
              • + *
              • MDC - Moldovan Cupon
              • + *
              • MDL - Moldovan Leu
              • + *
              • MCF - Monegasque Franc
              • + *
              • MNT - Mongolian Tugrik
              • + *
              • MAD - Moroccan Dirham
              • + *
              • MAF - Moroccan Franc
              • + *
              • MZE - Mozambican Escudo
              • + *
              • MZN - Mozambican Metical
              • + *
              • MZM - Mozambican Metical (1980–2006)
              • + *
              • MMK - Myanmar Kyat
              • + *
              • NAD - Namibian Dollar
              • + *
              • NPR - Nepalese Rupee
              • + *
              • ANG - Netherlands Antillean Guilder
              • + *
              • TWD - New Taiwan Dollar
              • + *
              • NZD - New Zealand Dollar
              • + *
              • NIO - Nicaraguan Córdoba
              • + *
              • NIC - Nicaraguan Córdoba (1988–1991)
              • + *
              • NGN - Nigerian Naira
              • + *
              • KPW - North Korean Won
              • + *
              • NOK - Norwegian Krone
              • + *
              • OMR - Omani Rial
              • + *
              • PKR - Pakistani Rupee
              • + *
              • XPD - Palladium
              • + *
              • PAB - Panamanian Balboa
              • + *
              • PGK - Papua New Guinean Kina
              • + *
              • PYG - Paraguayan Guarani
              • + *
              • PEI - Peruvian Inti
              • + *
              • PEN - Peruvian Sol
              • + *
              • PES - Peruvian Sol (1863–1965)
              • + *
              • PHP - Philippine Peso
              • + *
              • XPT - Platinum
              • + *
              • PLN - Polish Zloty
              • + *
              • PLZ - Polish Zloty (1950–1995)
              • + *
              • PTE - Portuguese Escudo
              • + *
              • GWE - Portuguese Guinea Escudo
              • + *
              • QAR - Qatari Rial
              • + *
              • XRE - RINET Funds
              • + *
              • RHD - Rhodesian Dollar
              • + *
              • RON - Romanian Leu
              • + *
              • ROL - Romanian Leu (1952–2006)
              • + *
              • RUB - Russian Ruble
              • + *
              • RUR - Russian Ruble (1991–1998)
              • + *
              • RWF - Rwandan Franc
              • + *
              • SVC - Salvadoran Colón
              • + *
              • WST - Samoan Tala
              • + *
              • SAR - Saudi Riyal
              • + *
              • RSD - Serbian Dinar
              • + *
              • CSD - Serbian Dinar (2002–2006)
              • + *
              • SCR - Seychellois Rupee
              • + *
              • SLL - Sierra Leonean Leone
              • + *
              • XAG - Silver
              • + *
              • SGD - Singapore Dollar
              • + *
              • SKK - Slovak Koruna
              • + *
              • SIT - Slovenian Tolar
              • + *
              • SBD - Solomon Islands Dollar
              • + *
              • SOS - Somali Shilling
              • + *
              • ZAR - South African Rand
              • + *
              • ZAL - South African Rand (financial)
              • + *
              • KRH - South Korean Hwan (1953–1962)
              • + *
              • KRW - South Korean Won
              • + *
              • KRO - South Korean Won (1945–1953)
              • + *
              • SSP - South Sudanese Pound
              • + *
              • SUR - Soviet Rouble
              • + *
              • ESP - Spanish Peseta
              • + *
              • ESA - Spanish Peseta (A account)
              • + *
              • ESB - Spanish Peseta (convertible account)
              • + *
              • XDR - Special Drawing Rights
              • + *
              • LKR - Sri Lankan Rupee
              • + *
              • SHP - St. Helena Pound
              • + *
              • XSU - Sucre
              • + *
              • SDD - Sudanese Dinar (1992–2007)
              • + *
              • SDG - Sudanese Pound
              • + *
              • SDP - Sudanese Pound (1957–1998)
              • + *
              • SRD - Surinamese Dollar
              • + *
              • SRG - Surinamese Guilder
              • + *
              • SZL - Swazi Lilangeni
              • + *
              • SEK - Swedish Krona
              • + *
              • CHF - Swiss Franc
              • + *
              • SYP - Syrian Pound
              • + *
              • STN - São Tomé & Príncipe Dobra
              • + *
              • STD - São Tomé & Príncipe Dobra (1977–2017)
              • + *
              • TVD - TVD
              • + *
              • TJR - Tajikistani Ruble
              • + *
              • TJS - Tajikistani Somoni
              • + *
              • TZS - Tanzanian Shilling
              • + *
              • XTS - Testing Currency Code
              • + *
              • THB - Thai Baht
              • + *
              • XXX - The codes assigned for transactions where no currency is involved
              • + *
              • TPE - Timorese Escudo
              • + *
              • TOP - Tongan Paʻanga
              • + *
              • TTD - Trinidad & Tobago Dollar
              • + *
              • TND - Tunisian Dinar
              • + *
              • TRY - Turkish Lira
              • + *
              • TRL - Turkish Lira (1922–2005)
              • + *
              • TMT - Turkmenistani Manat
              • + *
              • TMM - Turkmenistani Manat (1993–2009)
              • + *
              • USD - US Dollar
              • + *
              • USN - US Dollar (Next day)
              • + *
              • USS - US Dollar (Same day)
              • + *
              • UGX - Ugandan Shilling
              • + *
              • UGS - Ugandan Shilling (1966–1987)
              • + *
              • UAH - Ukrainian Hryvnia
              • + *
              • UAK - Ukrainian Karbovanets
              • + *
              • AED - United Arab Emirates Dirham
              • + *
              • UYW - Uruguayan Nominal Wage Index Unit
              • + *
              • UYU - Uruguayan Peso
              • + *
              • UYP - Uruguayan Peso (1975–1993)
              • + *
              • UYI - Uruguayan Peso (Indexed Units)
              • + *
              • UZS - Uzbekistani Som
              • + *
              • VUV - Vanuatu Vatu
              • + *
              • VES - Venezuelan Bolívar
              • + *
              • VEB - Venezuelan Bolívar (1871–2008)
              • + *
              • VEF - Venezuelan Bolívar (2008–2018)
              • + *
              • VND - Vietnamese Dong
              • + *
              • VNN - Vietnamese Dong (1978–1985)
              • + *
              • CHE - WIR Euro
              • + *
              • CHW - WIR Franc
              • + *
              • XOF - West African CFA Franc
              • + *
              • YDD - Yemeni Dinar
              • + *
              • YER - Yemeni Rial
              • + *
              • YUN - Yugoslavian Convertible Dinar (1990–1992)
              • + *
              • YUD - Yugoslavian Hard Dinar (1966–1990)
              • + *
              • YUM - Yugoslavian New Dinar (1994–2002)
              • + *
              • YUR - Yugoslavian Reformed Dinar (1992–1993)
              • + *
              • ZWN - ZWN
              • + *
              • ZRN - Zairean New Zaire (1993–1998)
              • + *
              • ZRZ - Zairean Zaire (1971–1993)
              • + *
              • ZMW - Zambian Kwacha
              • + *
              • ZMK - Zambian Kwacha (1968–2012)
              • + *
              • ZWD - Zimbabwean Dollar (1980–2008)
              • + *
              • ZWR - Zimbabwean Dollar (2008)
              • + *
              • ZWL - Zimbabwean Dollar (2009)
              • + *
              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage baseCurrency(GeneralLedgerTransactionLineBaseCurrency baseCurrency) { + this.baseCurrency = Optional.of(baseCurrency); + return this; + } + + @java.lang.Override + @JsonSetter(value = "base_currency", nulls = Nulls.SKIP) + public _FinalStage baseCurrency(Optional baseCurrency) { + this.baseCurrency = baseCurrency; + return this; + } + + @java.lang.Override + public _FinalStage contact(GeneralLedgerTransactionLineContact contact) { + this.contact = Optional.of(contact); + return this; + } + + @java.lang.Override + @JsonSetter(value = "contact", nulls = Nulls.SKIP) + public _FinalStage contact(Optional contact) { + this.contact = contact; + return this; + } + + @java.lang.Override + public _FinalStage employee(GeneralLedgerTransactionLineEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + + @java.lang.Override + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public _FinalStage employee(Optional employee) { + this.employee = employee; + return this; + } + + /** + *

              The company the GeneralLedgerTransaction belongs to.

              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage company(GeneralLedgerTransactionLineCompany company) { + this.company = Optional.of(company); + return this; + } + + @java.lang.Override + @JsonSetter(value = "company", nulls = Nulls.SKIP) + public _FinalStage company(Optional company) { + this.company = company; + return this; + } + + @java.lang.Override + public _FinalStage account(GeneralLedgerTransactionLineAccount account) { + this.account = Optional.of(account); + return this; + } + + @java.lang.Override + @JsonSetter(value = "account", nulls = Nulls.SKIP) + public _FinalStage account(Optional account) { + this.account = account; + return this; + } + + /** + *

              The datetime that this object was modified by Merge.

              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public _FinalStage modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + /** + *

              The datetime that this object was created by Merge.

              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public _FinalStage createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + /** + *

              The third-party API ID of the matching object.

              + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public _FinalStage remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + @java.lang.Override + public _FinalStage id(String id) { + this.id = Optional.of(id); + return this; + } + + @java.lang.Override + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public _FinalStage id(Optional id) { + this.id = id; + return this; + } + + @java.lang.Override + public GeneralLedgerTransactionLine build() { + return new GeneralLedgerTransactionLine( + id, + remoteId, + createdAt, + modifiedAt, + account, + company, + employee, + contact, + baseCurrency, + transactionCurrency, + exchangeRate, + description, + trackingCategories, + debitAmount, + creditAmount, + item, + foreignDebitAmount, + foreignCreditAmount, + remoteWasDeleted, + fieldMappings, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineAccount.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineAccount.java new file mode 100644 index 000000000..58277e520 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineAccount.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionLineAccount.Deserializer.class) +public final class GeneralLedgerTransactionLineAccount { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionLineAccount(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Account) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLineAccount + && equalTo((GeneralLedgerTransactionLineAccount) other); + } + + private boolean equalTo(GeneralLedgerTransactionLineAccount other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionLineAccount of(String value) { + return new GeneralLedgerTransactionLineAccount(value, 0); + } + + public static GeneralLedgerTransactionLineAccount of(Account value) { + return new GeneralLedgerTransactionLineAccount(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Account value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionLineAccount.class); + } + + @java.lang.Override + public GeneralLedgerTransactionLineAccount deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Account.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineBaseCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineBaseCurrency.java new file mode 100644 index 000000000..5d0b2d658 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineBaseCurrency.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionLineBaseCurrency.Deserializer.class) +public final class GeneralLedgerTransactionLineBaseCurrency { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionLineBaseCurrency(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((TransactionCurrencyEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLineBaseCurrency + && equalTo((GeneralLedgerTransactionLineBaseCurrency) other); + } + + private boolean equalTo(GeneralLedgerTransactionLineBaseCurrency other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionLineBaseCurrency of(TransactionCurrencyEnum value) { + return new GeneralLedgerTransactionLineBaseCurrency(value, 0); + } + + public static GeneralLedgerTransactionLineBaseCurrency of(String value) { + return new GeneralLedgerTransactionLineBaseCurrency(value, 1); + } + + public interface Visitor { + T visit(TransactionCurrencyEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionLineBaseCurrency.class); + } + + @java.lang.Override + public GeneralLedgerTransactionLineBaseCurrency deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineCompany.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineCompany.java new file mode 100644 index 000000000..854398b5e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineCompany.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionLineCompany.Deserializer.class) +public final class GeneralLedgerTransactionLineCompany { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionLineCompany(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CompanyInfo) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLineCompany + && equalTo((GeneralLedgerTransactionLineCompany) other); + } + + private boolean equalTo(GeneralLedgerTransactionLineCompany other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionLineCompany of(String value) { + return new GeneralLedgerTransactionLineCompany(value, 0); + } + + public static GeneralLedgerTransactionLineCompany of(CompanyInfo value) { + return new GeneralLedgerTransactionLineCompany(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CompanyInfo value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionLineCompany.class); + } + + @java.lang.Override + public GeneralLedgerTransactionLineCompany deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CompanyInfo.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineContact.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineContact.java new file mode 100644 index 000000000..0733bed32 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineContact.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionLineContact.Deserializer.class) +public final class GeneralLedgerTransactionLineContact { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionLineContact(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Contact) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLineContact + && equalTo((GeneralLedgerTransactionLineContact) other); + } + + private boolean equalTo(GeneralLedgerTransactionLineContact other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionLineContact of(String value) { + return new GeneralLedgerTransactionLineContact(value, 0); + } + + public static GeneralLedgerTransactionLineContact of(Contact value) { + return new GeneralLedgerTransactionLineContact(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Contact value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionLineContact.class); + } + + @java.lang.Override + public GeneralLedgerTransactionLineContact deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Contact.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineEmployee.java new file mode 100644 index 000000000..acc9c36a1 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineEmployee.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionLineEmployee.Deserializer.class) +public final class GeneralLedgerTransactionLineEmployee { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionLineEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLineEmployee + && equalTo((GeneralLedgerTransactionLineEmployee) other); + } + + private boolean equalTo(GeneralLedgerTransactionLineEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionLineEmployee of(String value) { + return new GeneralLedgerTransactionLineEmployee(value, 0); + } + + public static GeneralLedgerTransactionLineEmployee of(Employee value) { + return new GeneralLedgerTransactionLineEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionLineEmployee.class); + } + + @java.lang.Override + public GeneralLedgerTransactionLineEmployee deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineItem.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineItem.java new file mode 100644 index 000000000..b5902fd20 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineItem.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionLineItem.Deserializer.class) +public final class GeneralLedgerTransactionLineItem { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionLineItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Item) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLineItem && equalTo((GeneralLedgerTransactionLineItem) other); + } + + private boolean equalTo(GeneralLedgerTransactionLineItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionLineItem of(String value) { + return new GeneralLedgerTransactionLineItem(value, 0); + } + + public static GeneralLedgerTransactionLineItem of(Item value) { + return new GeneralLedgerTransactionLineItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Item value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionLineItem.class); + } + + @java.lang.Override + public GeneralLedgerTransactionLineItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Item.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineTransactionCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineTransactionCurrency.java new file mode 100644 index 000000000..087815b85 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionLineTransactionCurrency.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionLineTransactionCurrency.Deserializer.class) +public final class GeneralLedgerTransactionLineTransactionCurrency { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionLineTransactionCurrency(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((TransactionCurrencyEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionLineTransactionCurrency + && equalTo((GeneralLedgerTransactionLineTransactionCurrency) other); + } + + private boolean equalTo(GeneralLedgerTransactionLineTransactionCurrency other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionLineTransactionCurrency of(TransactionCurrencyEnum value) { + return new GeneralLedgerTransactionLineTransactionCurrency(value, 0); + } + + public static GeneralLedgerTransactionLineTransactionCurrency of(String value) { + return new GeneralLedgerTransactionLineTransactionCurrency(value, 1); + } + + public interface Visitor { + T visit(TransactionCurrencyEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionLineTransactionCurrency.class); + } + + @java.lang.Override + public GeneralLedgerTransactionLineTransactionCurrency deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionTrackingCategoriesItem.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionTrackingCategoriesItem.java new file mode 100644 index 000000000..9a44eebbc --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionTrackingCategoriesItem.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionTrackingCategoriesItem.Deserializer.class) +public final class GeneralLedgerTransactionTrackingCategoriesItem { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionTrackingCategoriesItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((TrackingCategory) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionTrackingCategoriesItem + && equalTo((GeneralLedgerTransactionTrackingCategoriesItem) other); + } + + private boolean equalTo(GeneralLedgerTransactionTrackingCategoriesItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionTrackingCategoriesItem of(String value) { + return new GeneralLedgerTransactionTrackingCategoriesItem(value, 0); + } + + public static GeneralLedgerTransactionTrackingCategoriesItem of(TrackingCategory value) { + return new GeneralLedgerTransactionTrackingCategoriesItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(TrackingCategory value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionTrackingCategoriesItem.class); + } + + @java.lang.Override + public GeneralLedgerTransactionTrackingCategoriesItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TrackingCategory.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionUnderlyingTransactionType.java b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionUnderlyingTransactionType.java new file mode 100644 index 000000000..0e323322d --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/GeneralLedgerTransactionUnderlyingTransactionType.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GeneralLedgerTransactionUnderlyingTransactionType.Deserializer.class) +public final class GeneralLedgerTransactionUnderlyingTransactionType { + private final Object value; + + private final int type; + + private GeneralLedgerTransactionUnderlyingTransactionType(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((UnderlyingTransactionTypeEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GeneralLedgerTransactionUnderlyingTransactionType + && equalTo((GeneralLedgerTransactionUnderlyingTransactionType) other); + } + + private boolean equalTo(GeneralLedgerTransactionUnderlyingTransactionType other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GeneralLedgerTransactionUnderlyingTransactionType of(UnderlyingTransactionTypeEnum value) { + return new GeneralLedgerTransactionUnderlyingTransactionType(value, 0); + } + + public static GeneralLedgerTransactionUnderlyingTransactionType of(String value) { + return new GeneralLedgerTransactionUnderlyingTransactionType(value, 1); + } + + public interface Visitor { + T visit(UnderlyingTransactionTypeEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GeneralLedgerTransactionUnderlyingTransactionType.class); + } + + @java.lang.Override + public GeneralLedgerTransactionUnderlyingTransactionType deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, UnderlyingTransactionTypeEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/IncomeStatementCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/IncomeStatementCurrency.java index fd42be58f..3abf574f9 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/IncomeStatementCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/IncomeStatementCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static IncomeStatementCurrency of(CurrencyEnum value) { + public static IncomeStatementCurrency of(TransactionCurrencyEnum value) { return new IncomeStatementCurrency(value, 0); } @@ -67,7 +67,7 @@ public static IncomeStatementCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer public IncomeStatementCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/Invoice.java b/src/main/java/com/merge/api/resources/accounting/types/Invoice.java index 66029abc0..c8cbbb46f 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/Invoice.java +++ b/src/main/java/com/merge/api/resources/accounting/types/Invoice.java @@ -47,6 +47,8 @@ public final class Invoice { private final Optional company; + private final Optional employee; + private final Optional currency; private final Optional exchangeRate; @@ -77,6 +79,10 @@ public final class Invoice { private final Optional> lineItems; + private final Optional> appliedCreditNotes; + + private final Optional> appliedVendorCredits; + private final Optional inclusiveOfTax; private final Optional remoteWasDeleted; @@ -102,6 +108,7 @@ private Invoice( Optional paidOnDate, Optional memo, Optional company, + Optional employee, Optional currency, Optional exchangeRate, Optional totalDiscount, @@ -117,6 +124,8 @@ private Invoice( Optional>> payments, Optional>> appliedPayments, Optional> lineItems, + Optional> appliedCreditNotes, + Optional> appliedVendorCredits, Optional inclusiveOfTax, Optional remoteWasDeleted, Optional> fieldMappings, @@ -135,6 +144,7 @@ private Invoice( this.paidOnDate = paidOnDate; this.memo = memo; this.company = company; + this.employee = employee; this.currency = currency; this.exchangeRate = exchangeRate; this.totalDiscount = totalDiscount; @@ -150,6 +160,8 @@ private Invoice( this.payments = payments; this.appliedPayments = appliedPayments; this.lineItems = lineItems; + this.appliedCreditNotes = appliedCreditNotes; + this.appliedVendorCredits = appliedVendorCredits; this.inclusiveOfTax = inclusiveOfTax; this.remoteWasDeleted = remoteWasDeleted; this.fieldMappings = fieldMappings; @@ -255,6 +267,14 @@ public Optional getCompany() { return company; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The invoice's currency. *
                @@ -682,6 +702,22 @@ public Optional> getLineItems() { return lineItems; } + /** + * @return CreditNoteApplyLines applied to the Invoice. + */ + @JsonProperty("applied_credit_notes") + public Optional> getAppliedCreditNotes() { + return appliedCreditNotes; + } + + /** + * @return VendorCreditApplyLines applied to the Invoice. + */ + @JsonProperty("applied_vendor_credits") + public Optional> getAppliedVendorCredits() { + return appliedVendorCredits; + } + /** * @return If the transaction is inclusive or exclusive of tax. True if inclusive, False if exclusive. */ @@ -737,6 +773,7 @@ private boolean equalTo(Invoice other) { && paidOnDate.equals(other.paidOnDate) && memo.equals(other.memo) && company.equals(other.company) + && employee.equals(other.employee) && currency.equals(other.currency) && exchangeRate.equals(other.exchangeRate) && totalDiscount.equals(other.totalDiscount) @@ -752,6 +789,8 @@ private boolean equalTo(Invoice other) { && payments.equals(other.payments) && appliedPayments.equals(other.appliedPayments) && lineItems.equals(other.lineItems) + && appliedCreditNotes.equals(other.appliedCreditNotes) + && appliedVendorCredits.equals(other.appliedVendorCredits) && inclusiveOfTax.equals(other.inclusiveOfTax) && remoteWasDeleted.equals(other.remoteWasDeleted) && fieldMappings.equals(other.fieldMappings) @@ -774,6 +813,7 @@ public int hashCode() { this.paidOnDate, this.memo, this.company, + this.employee, this.currency, this.exchangeRate, this.totalDiscount, @@ -789,6 +829,8 @@ public int hashCode() { this.payments, this.appliedPayments, this.lineItems, + this.appliedCreditNotes, + this.appliedVendorCredits, this.inclusiveOfTax, this.remoteWasDeleted, this.fieldMappings, @@ -831,6 +873,8 @@ public static final class Builder { private Optional company = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional currency = Optional.empty(); private Optional exchangeRate = Optional.empty(); @@ -861,6 +905,10 @@ public static final class Builder { private Optional> lineItems = Optional.empty(); + private Optional> appliedCreditNotes = Optional.empty(); + + private Optional> appliedVendorCredits = Optional.empty(); + private Optional inclusiveOfTax = Optional.empty(); private Optional remoteWasDeleted = Optional.empty(); @@ -889,6 +937,7 @@ public Builder from(Invoice other) { paidOnDate(other.getPaidOnDate()); memo(other.getMemo()); company(other.getCompany()); + employee(other.getEmployee()); currency(other.getCurrency()); exchangeRate(other.getExchangeRate()); totalDiscount(other.getTotalDiscount()); @@ -904,6 +953,8 @@ public Builder from(Invoice other) { payments(other.getPayments()); appliedPayments(other.getAppliedPayments()); lineItems(other.getLineItems()); + appliedCreditNotes(other.getAppliedCreditNotes()); + appliedVendorCredits(other.getAppliedVendorCredits()); inclusiveOfTax(other.getInclusiveOfTax()); remoteWasDeleted(other.getRemoteWasDeleted()); fieldMappings(other.getFieldMappings()); @@ -1044,6 +1095,17 @@ public Builder company(InvoiceCompany company) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(InvoiceEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "currency", nulls = Nulls.SKIP) public Builder currency(Optional currency) { this.currency = currency; @@ -1209,6 +1271,28 @@ public Builder lineItems(List lineItems) { return this; } + @JsonSetter(value = "applied_credit_notes", nulls = Nulls.SKIP) + public Builder appliedCreditNotes(Optional> appliedCreditNotes) { + this.appliedCreditNotes = appliedCreditNotes; + return this; + } + + public Builder appliedCreditNotes(List appliedCreditNotes) { + this.appliedCreditNotes = Optional.of(appliedCreditNotes); + return this; + } + + @JsonSetter(value = "applied_vendor_credits", nulls = Nulls.SKIP) + public Builder appliedVendorCredits(Optional> appliedVendorCredits) { + this.appliedVendorCredits = appliedVendorCredits; + return this; + } + + public Builder appliedVendorCredits(List appliedVendorCredits) { + this.appliedVendorCredits = Optional.of(appliedVendorCredits); + return this; + } + @JsonSetter(value = "inclusive_of_tax", nulls = Nulls.SKIP) public Builder inclusiveOfTax(Optional inclusiveOfTax) { this.inclusiveOfTax = inclusiveOfTax; @@ -1278,6 +1362,7 @@ public Invoice build() { paidOnDate, memo, company, + employee, currency, exchangeRate, totalDiscount, @@ -1293,6 +1378,8 @@ public Invoice build() { payments, appliedPayments, lineItems, + appliedCreditNotes, + appliedVendorCredits, inclusiveOfTax, remoteWasDeleted, fieldMappings, diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceAppliedCreditNotesItem.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceAppliedCreditNotesItem.java new file mode 100644 index 000000000..5b9706a94 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceAppliedCreditNotesItem.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = InvoiceAppliedCreditNotesItem.Deserializer.class) +public final class InvoiceAppliedCreditNotesItem { + private final Object value; + + private final int type; + + private InvoiceAppliedCreditNotesItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CreditNoteApplyLineForInvoice) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof InvoiceAppliedCreditNotesItem && equalTo((InvoiceAppliedCreditNotesItem) other); + } + + private boolean equalTo(InvoiceAppliedCreditNotesItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static InvoiceAppliedCreditNotesItem of(String value) { + return new InvoiceAppliedCreditNotesItem(value, 0); + } + + public static InvoiceAppliedCreditNotesItem of(CreditNoteApplyLineForInvoice value) { + return new InvoiceAppliedCreditNotesItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CreditNoteApplyLineForInvoice value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(InvoiceAppliedCreditNotesItem.class); + } + + @java.lang.Override + public InvoiceAppliedCreditNotesItem deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CreditNoteApplyLineForInvoice.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceAppliedVendorCreditsItem.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceAppliedVendorCreditsItem.java new file mode 100644 index 000000000..9b483db27 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceAppliedVendorCreditsItem.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = InvoiceAppliedVendorCreditsItem.Deserializer.class) +public final class InvoiceAppliedVendorCreditsItem { + private final Object value; + + private final int type; + + private InvoiceAppliedVendorCreditsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((VendorCreditApplyLineForInvoice) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof InvoiceAppliedVendorCreditsItem && equalTo((InvoiceAppliedVendorCreditsItem) other); + } + + private boolean equalTo(InvoiceAppliedVendorCreditsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static InvoiceAppliedVendorCreditsItem of(String value) { + return new InvoiceAppliedVendorCreditsItem(value, 0); + } + + public static InvoiceAppliedVendorCreditsItem of(VendorCreditApplyLineForInvoice value) { + return new InvoiceAppliedVendorCreditsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(VendorCreditApplyLineForInvoice value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(InvoiceAppliedVendorCreditsItem.class); + } + + @java.lang.Override + public InvoiceAppliedVendorCreditsItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, VendorCreditApplyLineForInvoice.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceCurrency.java index 8a1b0a8bd..fd3d7ba7f 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/InvoiceCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static InvoiceCurrency of(CurrencyEnum value) { + public static InvoiceCurrency of(TransactionCurrencyEnum value) { return new InvoiceCurrency(value, 0); } @@ -67,7 +67,7 @@ public static InvoiceCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public InvoiceCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceEmployee.java new file mode 100644 index 000000000..cf97d6c69 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = InvoiceEmployee.Deserializer.class) +public final class InvoiceEmployee { + private final Object value; + + private final int type; + + private InvoiceEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof InvoiceEmployee && equalTo((InvoiceEmployee) other); + } + + private boolean equalTo(InvoiceEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static InvoiceEmployee of(String value) { + return new InvoiceEmployee(value, 0); + } + + public static InvoiceEmployee of(Employee value) { + return new InvoiceEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(InvoiceEmployee.class); + } + + @java.lang.Override + public InvoiceEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItem.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItem.java index 8180a288f..da8799ed5 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItem.java +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItem.java @@ -39,6 +39,8 @@ public final class InvoiceLineItem { private final Optional totalAmount; + private final Optional employee; + private final Optional currency; private final Optional exchangeRate; @@ -72,6 +74,7 @@ private InvoiceLineItem( Optional unitPrice, Optional quantity, Optional totalAmount, + Optional employee, Optional currency, Optional exchangeRate, Optional item, @@ -92,6 +95,7 @@ private InvoiceLineItem( this.unitPrice = unitPrice; this.quantity = quantity; this.totalAmount = totalAmount; + this.employee = employee; this.currency = currency; this.exchangeRate = exchangeRate; this.item = item; @@ -167,6 +171,14 @@ public Optional getTotalAmount() { return totalAmount; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The line item's currency. *
                  @@ -523,7 +535,7 @@ public Optional>> getTracki } /** - * @return The company the line item belongs to. + * @return The company the invoice belongs to. */ @JsonProperty("company") public Optional getCompany() { @@ -568,6 +580,7 @@ private boolean equalTo(InvoiceLineItem other) { && unitPrice.equals(other.unitPrice) && quantity.equals(other.quantity) && totalAmount.equals(other.totalAmount) + && employee.equals(other.employee) && currency.equals(other.currency) && exchangeRate.equals(other.exchangeRate) && item.equals(other.item) @@ -592,6 +605,7 @@ public int hashCode() { this.unitPrice, this.quantity, this.totalAmount, + this.employee, this.currency, this.exchangeRate, this.item, @@ -632,6 +646,8 @@ public static final class Builder { private Optional totalAmount = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional currency = Optional.empty(); private Optional exchangeRate = Optional.empty(); @@ -668,6 +684,7 @@ public Builder from(InvoiceLineItem other) { unitPrice(other.getUnitPrice()); quantity(other.getQuantity()); totalAmount(other.getTotalAmount()); + employee(other.getEmployee()); currency(other.getCurrency()); exchangeRate(other.getExchangeRate()); item(other.getItem()); @@ -770,6 +787,17 @@ public Builder totalAmount(Double totalAmount) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(InvoiceLineItemEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "currency", nulls = Nulls.SKIP) public Builder currency(Optional currency) { this.currency = currency; @@ -902,6 +930,7 @@ public InvoiceLineItem build() { unitPrice, quantity, totalAmount, + employee, currency, exchangeRate, item, diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemCurrency.java index eb2810b91..8edef2e88 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static InvoiceLineItemCurrency of(CurrencyEnum value) { + public static InvoiceLineItemCurrency of(TransactionCurrencyEnum value) { return new InvoiceLineItemCurrency(value, 0); } @@ -67,7 +67,7 @@ public static InvoiceLineItemCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer public InvoiceLineItemCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemEmployee.java new file mode 100644 index 000000000..910fbc88b --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = InvoiceLineItemEmployee.Deserializer.class) +public final class InvoiceLineItemEmployee { + private final Object value; + + private final int type; + + private InvoiceLineItemEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof InvoiceLineItemEmployee && equalTo((InvoiceLineItemEmployee) other); + } + + private boolean equalTo(InvoiceLineItemEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static InvoiceLineItemEmployee of(String value) { + return new InvoiceLineItemEmployee(value, 0); + } + + public static InvoiceLineItemEmployee of(Employee value) { + return new InvoiceLineItemEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(InvoiceLineItemEmployee.class); + } + + @java.lang.Override + public InvoiceLineItemEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequest.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequest.java index be6c68d95..54fbf7057 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequest.java @@ -32,6 +32,8 @@ public final class InvoiceLineItemRequest { private final Optional totalAmount; + private final Optional employee; + private final Optional currency; private final Optional exchangeRate; @@ -62,6 +64,7 @@ private InvoiceLineItemRequest( Optional unitPrice, Optional quantity, Optional totalAmount, + Optional employee, Optional currency, Optional exchangeRate, Optional item, @@ -79,6 +82,7 @@ private InvoiceLineItemRequest( this.unitPrice = unitPrice; this.quantity = quantity; this.totalAmount = totalAmount; + this.employee = employee; this.currency = currency; this.exchangeRate = exchangeRate; this.item = item; @@ -133,6 +137,14 @@ public Optional getTotalAmount() { return totalAmount; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The line item's currency. *
                    @@ -489,7 +501,7 @@ public Optional>> ge } /** - * @return The company the line item belongs to. + * @return The company the invoice belongs to. */ @JsonProperty("company") public Optional getCompany() { @@ -528,6 +540,7 @@ private boolean equalTo(InvoiceLineItemRequest other) { && unitPrice.equals(other.unitPrice) && quantity.equals(other.quantity) && totalAmount.equals(other.totalAmount) + && employee.equals(other.employee) && currency.equals(other.currency) && exchangeRate.equals(other.exchangeRate) && item.equals(other.item) @@ -549,6 +562,7 @@ public int hashCode() { this.unitPrice, this.quantity, this.totalAmount, + this.employee, this.currency, this.exchangeRate, this.item, @@ -583,6 +597,8 @@ public static final class Builder { private Optional totalAmount = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional currency = Optional.empty(); private Optional exchangeRate = Optional.empty(); @@ -617,6 +633,7 @@ public Builder from(InvoiceLineItemRequest other) { unitPrice(other.getUnitPrice()); quantity(other.getQuantity()); totalAmount(other.getTotalAmount()); + employee(other.getEmployee()); currency(other.getCurrency()); exchangeRate(other.getExchangeRate()); item(other.getItem()); @@ -686,6 +703,17 @@ public Builder totalAmount(Double totalAmount) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(InvoiceLineItemRequestEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "currency", nulls = Nulls.SKIP) public Builder currency(Optional currency) { this.currency = currency; @@ -816,6 +844,7 @@ public InvoiceLineItemRequest build() { unitPrice, quantity, totalAmount, + employee, currency, exchangeRate, item, diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequestCurrency.java index 7907aaea6..45d52bbc2 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static InvoiceLineItemRequestCurrency of(CurrencyEnum value) { + public static InvoiceLineItemRequestCurrency of(TransactionCurrencyEnum value) { return new InvoiceLineItemRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static InvoiceLineItemRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -82,7 +82,7 @@ public InvoiceLineItemRequestCurrency deserialize(JsonParser p, DeserializationC throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequestEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequestEmployee.java new file mode 100644 index 000000000..1d043e04d --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceLineItemRequestEmployee.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = InvoiceLineItemRequestEmployee.Deserializer.class) +public final class InvoiceLineItemRequestEmployee { + private final Object value; + + private final int type; + + private InvoiceLineItemRequestEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof InvoiceLineItemRequestEmployee && equalTo((InvoiceLineItemRequestEmployee) other); + } + + private boolean equalTo(InvoiceLineItemRequestEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static InvoiceLineItemRequestEmployee of(String value) { + return new InvoiceLineItemRequestEmployee(value, 0); + } + + public static InvoiceLineItemRequestEmployee of(Employee value) { + return new InvoiceLineItemRequestEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(InvoiceLineItemRequestEmployee.class); + } + + @java.lang.Override + public InvoiceLineItemRequestEmployee deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequest.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequest.java index e98e36dfc..e8c1825f9 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequest.java @@ -35,6 +35,8 @@ public final class InvoiceRequest { private final Optional paidOnDate; + private final Optional employee; + private final Optional memo; private final Optional status; @@ -80,6 +82,7 @@ private InvoiceRequest( Optional issueDate, Optional dueDate, Optional paidOnDate, + Optional employee, Optional memo, Optional status, Optional company, @@ -105,6 +108,7 @@ private InvoiceRequest( this.issueDate = issueDate; this.dueDate = dueDate; this.paidOnDate = paidOnDate; + this.employee = employee; this.memo = memo; this.status = status; this.company = company; @@ -178,6 +182,14 @@ public Optional getPaidOnDate() { return paidOnDate; } + /** + * @return The employee this overall transaction relates to. + */ + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + /** * @return The invoice's private note. */ @@ -638,6 +650,7 @@ private boolean equalTo(InvoiceRequest other) { && issueDate.equals(other.issueDate) && dueDate.equals(other.dueDate) && paidOnDate.equals(other.paidOnDate) + && employee.equals(other.employee) && memo.equals(other.memo) && status.equals(other.status) && company.equals(other.company) @@ -667,6 +680,7 @@ public int hashCode() { this.issueDate, this.dueDate, this.paidOnDate, + this.employee, this.memo, this.status, this.company, @@ -710,6 +724,8 @@ public static final class Builder { private Optional paidOnDate = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional memo = Optional.empty(); private Optional status = Optional.empty(); @@ -758,6 +774,7 @@ public Builder from(InvoiceRequest other) { issueDate(other.getIssueDate()); dueDate(other.getDueDate()); paidOnDate(other.getPaidOnDate()); + employee(other.getEmployee()); memo(other.getMemo()); status(other.getStatus()); company(other.getCompany()); @@ -845,6 +862,17 @@ public Builder paidOnDate(OffsetDateTime paidOnDate) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(InvoiceRequestEmployee employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "memo", nulls = Nulls.SKIP) public Builder memo(Optional memo) { this.memo = memo; @@ -1052,6 +1080,7 @@ public InvoiceRequest build() { issueDate, dueDate, paidOnDate, + employee, memo, status, company, diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequestCurrency.java index 6811c4bfd..8a6ceb853 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static InvoiceRequestCurrency of(CurrencyEnum value) { + public static InvoiceRequestCurrency of(TransactionCurrencyEnum value) { return new InvoiceRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static InvoiceRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer public InvoiceRequestCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequestEmployee.java b/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequestEmployee.java new file mode 100644 index 000000000..47c557740 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/InvoiceRequestEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = InvoiceRequestEmployee.Deserializer.class) +public final class InvoiceRequestEmployee { + private final Object value; + + private final int type; + + private InvoiceRequestEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof InvoiceRequestEmployee && equalTo((InvoiceRequestEmployee) other); + } + + private boolean equalTo(InvoiceRequestEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static InvoiceRequestEmployee of(String value) { + return new InvoiceRequestEmployee(value, 0); + } + + public static InvoiceRequestEmployee of(Employee value) { + return new InvoiceRequestEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(InvoiceRequestEmployee.class); + } + + @java.lang.Override + public InvoiceRequestEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/JournalEntryCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/JournalEntryCurrency.java index 21c0d1543..f3f6b6447 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/JournalEntryCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/JournalEntryCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static JournalEntryCurrency of(CurrencyEnum value) { + public static JournalEntryCurrency of(TransactionCurrencyEnum value) { return new JournalEntryCurrency(value, 0); } @@ -67,7 +67,7 @@ public static JournalEntryCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public JournalEntryCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/JournalEntryRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/JournalEntryRequestCurrency.java index 126ab2060..eadb5c14d 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/JournalEntryRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/JournalEntryRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static JournalEntryRequestCurrency of(CurrencyEnum value) { + public static JournalEntryRequestCurrency of(TransactionCurrencyEnum value) { return new JournalEntryRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static JournalEntryRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer company; + private final Optional employee; + private final Optional contact; private final Optional taxRate; @@ -67,6 +69,7 @@ private JournalLine( Optional>> trackingCategories, Optional currency, Optional company, + Optional employee, Optional contact, Optional taxRate, Optional description, @@ -84,6 +87,7 @@ private JournalLine( this.trackingCategories = trackingCategories; this.currency = currency; this.company = company; + this.employee = employee; this.contact = contact; this.taxRate = taxRate; this.description = description; @@ -472,6 +476,11 @@ public Optional getCompany() { return company; } + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + @JsonProperty("contact") public Optional getContact() { return contact; @@ -536,6 +545,7 @@ private boolean equalTo(JournalLine other) { && trackingCategories.equals(other.trackingCategories) && currency.equals(other.currency) && company.equals(other.company) + && employee.equals(other.employee) && contact.equals(other.contact) && taxRate.equals(other.taxRate) && description.equals(other.description) @@ -557,6 +567,7 @@ public int hashCode() { this.trackingCategories, this.currency, this.company, + this.employee, this.contact, this.taxRate, this.description, @@ -596,6 +607,8 @@ public static final class Builder { private Optional company = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional contact = Optional.empty(); private Optional taxRate = Optional.empty(); @@ -624,6 +637,7 @@ public Builder from(JournalLine other) { trackingCategories(other.getTrackingCategories()); currency(other.getCurrency()); company(other.getCompany()); + employee(other.getEmployee()); contact(other.getContact()); taxRate(other.getTaxRate()); description(other.getDescription()); @@ -744,6 +758,17 @@ public Builder company(String company) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(String employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "contact", nulls = Nulls.SKIP) public Builder contact(Optional contact) { this.contact = contact; @@ -822,6 +847,7 @@ public JournalLine build() { trackingCategories, currency, company, + employee, contact, taxRate, description, diff --git a/src/main/java/com/merge/api/resources/accounting/types/JournalLineCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/JournalLineCurrency.java index 0fa37e953..1e2b025c8 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/JournalLineCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/JournalLineCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static JournalLineCurrency of(CurrencyEnum value) { + public static JournalLineCurrency of(TransactionCurrencyEnum value) { return new JournalLineCurrency(value, 0); } @@ -67,7 +67,7 @@ public static JournalLineCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public JournalLineCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequest.java b/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequest.java index 7afc5dfc3..2566de0ba 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequest.java +++ b/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequest.java @@ -36,6 +36,8 @@ public final class JournalLineRequest { private final Optional company; + private final Optional employee; + private final Optional contact; private final Optional taxRate; @@ -60,6 +62,7 @@ private JournalLineRequest( Optional>> trackingCategories, Optional currency, Optional company, + Optional employee, Optional contact, Optional taxRate, Optional description, @@ -75,6 +78,7 @@ private JournalLineRequest( this.trackingCategories = trackingCategories; this.currency = currency; this.company = company; + this.employee = employee; this.contact = contact; this.taxRate = taxRate; this.description = description; @@ -443,6 +447,11 @@ public Optional getCompany() { return company; } + @JsonProperty("employee") + public Optional getEmployee() { + return employee; + } + @JsonProperty("contact") public Optional getContact() { return contact; @@ -506,6 +515,7 @@ private boolean equalTo(JournalLineRequest other) { && trackingCategories.equals(other.trackingCategories) && currency.equals(other.currency) && company.equals(other.company) + && employee.equals(other.employee) && contact.equals(other.contact) && taxRate.equals(other.taxRate) && description.equals(other.description) @@ -525,6 +535,7 @@ public int hashCode() { this.trackingCategories, this.currency, this.company, + this.employee, this.contact, this.taxRate, this.description, @@ -560,6 +571,8 @@ public static final class Builder { private Optional company = Optional.empty(); + private Optional employee = Optional.empty(); + private Optional contact = Optional.empty(); private Optional taxRate = Optional.empty(); @@ -587,6 +600,7 @@ public Builder from(JournalLineRequest other) { trackingCategories(other.getTrackingCategories()); currency(other.getCurrency()); company(other.getCompany()); + employee(other.getEmployee()); contact(other.getContact()); taxRate(other.getTaxRate()); description(other.getDescription()); @@ -675,6 +689,17 @@ public Builder company(String company) { return this; } + @JsonSetter(value = "employee", nulls = Nulls.SKIP) + public Builder employee(Optional employee) { + this.employee = employee; + return this; + } + + public Builder employee(String employee) { + this.employee = Optional.of(employee); + return this; + } + @JsonSetter(value = "contact", nulls = Nulls.SKIP) public Builder contact(Optional contact) { this.contact = contact; @@ -761,6 +786,7 @@ public JournalLineRequest build() { trackingCategories, currency, company, + employee, contact, taxRate, description, diff --git a/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequestCurrency.java index bed6f6d19..a01fd03d4 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/JournalLineRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static JournalLineRequestCurrency of(CurrencyEnum value) { + public static JournalLineRequestCurrency of(TransactionCurrencyEnum value) { return new JournalLineRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static JournalLineRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer next; + + private final Optional previous; + + private final Optional> results; + + private final Map additionalProperties; + + private PaginatedBankFeedAccountList( + Optional next, + Optional previous, + Optional> results, + Map additionalProperties) { + this.next = next; + this.previous = previous; + this.results = results; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("next") + public Optional getNext() { + return next; + } + + @JsonProperty("previous") + public Optional getPrevious() { + return previous; + } + + @JsonProperty("results") + public Optional> getResults() { + return results; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof PaginatedBankFeedAccountList && equalTo((PaginatedBankFeedAccountList) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(PaginatedBankFeedAccountList other) { + return next.equals(other.next) && previous.equals(other.previous) && results.equals(other.results); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.next, this.previous, this.results); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Optional> results = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(PaginatedBankFeedAccountList other) { + next(other.getNext()); + previous(other.getPrevious()); + results(other.getResults()); + return this; + } + + @JsonSetter(value = "next", nulls = Nulls.SKIP) + public Builder next(Optional next) { + this.next = next; + return this; + } + + public Builder next(String next) { + this.next = Optional.of(next); + return this; + } + + @JsonSetter(value = "previous", nulls = Nulls.SKIP) + public Builder previous(Optional previous) { + this.previous = previous; + return this; + } + + public Builder previous(String previous) { + this.previous = Optional.of(previous); + return this; + } + + @JsonSetter(value = "results", nulls = Nulls.SKIP) + public Builder results(Optional> results) { + this.results = results; + return this; + } + + public Builder results(List results) { + this.results = Optional.of(results); + return this; + } + + public PaginatedBankFeedAccountList build() { + return new PaginatedBankFeedAccountList(next, previous, results, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/PaginatedBankFeedTransactionList.java b/src/main/java/com/merge/api/resources/accounting/types/PaginatedBankFeedTransactionList.java new file mode 100644 index 000000000..48ebf092e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/PaginatedBankFeedTransactionList.java @@ -0,0 +1,144 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = PaginatedBankFeedTransactionList.Builder.class) +public final class PaginatedBankFeedTransactionList { + private final Optional next; + + private final Optional previous; + + private final Optional> results; + + private final Map additionalProperties; + + private PaginatedBankFeedTransactionList( + Optional next, + Optional previous, + Optional> results, + Map additionalProperties) { + this.next = next; + this.previous = previous; + this.results = results; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("next") + public Optional getNext() { + return next; + } + + @JsonProperty("previous") + public Optional getPrevious() { + return previous; + } + + @JsonProperty("results") + public Optional> getResults() { + return results; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof PaginatedBankFeedTransactionList && equalTo((PaginatedBankFeedTransactionList) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(PaginatedBankFeedTransactionList other) { + return next.equals(other.next) && previous.equals(other.previous) && results.equals(other.results); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.next, this.previous, this.results); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Optional> results = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(PaginatedBankFeedTransactionList other) { + next(other.getNext()); + previous(other.getPrevious()); + results(other.getResults()); + return this; + } + + @JsonSetter(value = "next", nulls = Nulls.SKIP) + public Builder next(Optional next) { + this.next = next; + return this; + } + + public Builder next(String next) { + this.next = Optional.of(next); + return this; + } + + @JsonSetter(value = "previous", nulls = Nulls.SKIP) + public Builder previous(Optional previous) { + this.previous = previous; + return this; + } + + public Builder previous(String previous) { + this.previous = Optional.of(previous); + return this; + } + + @JsonSetter(value = "results", nulls = Nulls.SKIP) + public Builder results(Optional> results) { + this.results = results; + return this; + } + + public Builder results(List results) { + this.results = Optional.of(results); + return this; + } + + public PaginatedBankFeedTransactionList build() { + return new PaginatedBankFeedTransactionList(next, previous, results, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/PaginatedEmployeeList.java b/src/main/java/com/merge/api/resources/accounting/types/PaginatedEmployeeList.java new file mode 100644 index 000000000..be936fb3e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/PaginatedEmployeeList.java @@ -0,0 +1,144 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = PaginatedEmployeeList.Builder.class) +public final class PaginatedEmployeeList { + private final Optional next; + + private final Optional previous; + + private final Optional> results; + + private final Map additionalProperties; + + private PaginatedEmployeeList( + Optional next, + Optional previous, + Optional> results, + Map additionalProperties) { + this.next = next; + this.previous = previous; + this.results = results; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("next") + public Optional getNext() { + return next; + } + + @JsonProperty("previous") + public Optional getPrevious() { + return previous; + } + + @JsonProperty("results") + public Optional> getResults() { + return results; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof PaginatedEmployeeList && equalTo((PaginatedEmployeeList) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(PaginatedEmployeeList other) { + return next.equals(other.next) && previous.equals(other.previous) && results.equals(other.results); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.next, this.previous, this.results); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Optional> results = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(PaginatedEmployeeList other) { + next(other.getNext()); + previous(other.getPrevious()); + results(other.getResults()); + return this; + } + + @JsonSetter(value = "next", nulls = Nulls.SKIP) + public Builder next(Optional next) { + this.next = next; + return this; + } + + public Builder next(String next) { + this.next = Optional.of(next); + return this; + } + + @JsonSetter(value = "previous", nulls = Nulls.SKIP) + public Builder previous(Optional previous) { + this.previous = previous; + return this; + } + + public Builder previous(String previous) { + this.previous = Optional.of(previous); + return this; + } + + @JsonSetter(value = "results", nulls = Nulls.SKIP) + public Builder results(Optional> results) { + this.results = results; + return this; + } + + public Builder results(List results) { + this.results = Optional.of(results); + return this; + } + + public PaginatedEmployeeList build() { + return new PaginatedEmployeeList(next, previous, results, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/PaginatedGeneralLedgerTransactionList.java b/src/main/java/com/merge/api/resources/accounting/types/PaginatedGeneralLedgerTransactionList.java new file mode 100644 index 000000000..563e1002e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/PaginatedGeneralLedgerTransactionList.java @@ -0,0 +1,145 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = PaginatedGeneralLedgerTransactionList.Builder.class) +public final class PaginatedGeneralLedgerTransactionList { + private final Optional next; + + private final Optional previous; + + private final Optional> results; + + private final Map additionalProperties; + + private PaginatedGeneralLedgerTransactionList( + Optional next, + Optional previous, + Optional> results, + Map additionalProperties) { + this.next = next; + this.previous = previous; + this.results = results; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("next") + public Optional getNext() { + return next; + } + + @JsonProperty("previous") + public Optional getPrevious() { + return previous; + } + + @JsonProperty("results") + public Optional> getResults() { + return results; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof PaginatedGeneralLedgerTransactionList + && equalTo((PaginatedGeneralLedgerTransactionList) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(PaginatedGeneralLedgerTransactionList other) { + return next.equals(other.next) && previous.equals(other.previous) && results.equals(other.results); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.next, this.previous, this.results); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Optional> results = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(PaginatedGeneralLedgerTransactionList other) { + next(other.getNext()); + previous(other.getPrevious()); + results(other.getResults()); + return this; + } + + @JsonSetter(value = "next", nulls = Nulls.SKIP) + public Builder next(Optional next) { + this.next = next; + return this; + } + + public Builder next(String next) { + this.next = Optional.of(next); + return this; + } + + @JsonSetter(value = "previous", nulls = Nulls.SKIP) + public Builder previous(Optional previous) { + this.previous = previous; + return this; + } + + public Builder previous(String previous) { + this.previous = Optional.of(previous); + return this; + } + + @JsonSetter(value = "results", nulls = Nulls.SKIP) + public Builder results(Optional> results) { + this.results = results; + return this; + } + + public Builder results(List results) { + this.results = Optional.of(results); + return this; + } + + public PaginatedGeneralLedgerTransactionList build() { + return new PaginatedGeneralLedgerTransactionList(next, previous, results, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestAppliedToLinesItem.java b/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestAppliedToLinesItem.java index af34b1b51..cf40384c5 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestAppliedToLinesItem.java +++ b/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestAppliedToLinesItem.java @@ -33,7 +33,7 @@ public T visit(Visitor visitor) { if (this.type == 0) { return visitor.visit((String) this.value); } else if (this.type == 1) { - return visitor.visit((PaymentLineItem) this.value); + return visitor.visit((PaymentLineItemRequest) this.value); } throw new IllegalStateException("Failed to visit value. This should never happen."); } @@ -63,14 +63,14 @@ public static PatchedPaymentRequestAppliedToLinesItem of(String value) { return new PatchedPaymentRequestAppliedToLinesItem(value, 0); } - public static PatchedPaymentRequestAppliedToLinesItem of(PaymentLineItem value) { + public static PatchedPaymentRequestAppliedToLinesItem of(PaymentLineItemRequest value) { return new PatchedPaymentRequestAppliedToLinesItem(value, 1); } public interface Visitor { T visit(String value); - T visit(PaymentLineItem value); + T visit(PaymentLineItemRequest value); } static final class Deserializer extends StdDeserializer { @@ -87,7 +87,7 @@ public PatchedPaymentRequestAppliedToLinesItem deserialize(JsonParser p, Deseria } catch (IllegalArgumentException e) { } try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, PaymentLineItem.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, PaymentLineItemRequest.class)); } catch (IllegalArgumentException e) { } throw new JsonParseException(p, "Failed to deserialize"); diff --git a/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestCurrency.java index 033d20bd5..ef4df6118 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/PatchedPaymentRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static PatchedPaymentRequestCurrency of(CurrencyEnum value) { + public static PatchedPaymentRequestCurrency of(TransactionCurrencyEnum value) { return new PatchedPaymentRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static PatchedPaymentRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static PaymentCurrency of(CurrencyEnum value) { + public static PaymentCurrency of(TransactionCurrencyEnum value) { return new PaymentCurrency(value, 0); } @@ -67,7 +67,7 @@ public static PaymentCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public PaymentCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/PaymentRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/PaymentRequestCurrency.java index bf8699844..285c0b69c 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/PaymentRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/PaymentRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static PaymentRequestCurrency of(CurrencyEnum value) { + public static PaymentRequestCurrency of(TransactionCurrencyEnum value) { return new PaymentRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static PaymentRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer public PaymentRequestCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderCurrency.java index 248988c4b..86e23c616 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static PurchaseOrderCurrency of(CurrencyEnum value) { + public static PurchaseOrderCurrency of(TransactionCurrencyEnum value) { return new PurchaseOrderCurrency(value, 0); } @@ -67,7 +67,7 @@ public static PurchaseOrderCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public PurchaseOrderCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderLineItemCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderLineItemCurrency.java index 235127be6..d106d7b61 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderLineItemCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderLineItemCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static PurchaseOrderLineItemCurrency of(CurrencyEnum value) { + public static PurchaseOrderLineItemCurrency of(TransactionCurrencyEnum value) { return new PurchaseOrderLineItemCurrency(value, 0); } @@ -67,7 +67,7 @@ public static PurchaseOrderLineItemCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -59,7 +59,7 @@ public String toString() { return this.value.toString(); } - public static PurchaseOrderLineItemRequestCurrency of(CurrencyEnum value) { + public static PurchaseOrderLineItemRequestCurrency of(TransactionCurrencyEnum value) { return new PurchaseOrderLineItemRequestCurrency(value, 0); } @@ -68,7 +68,7 @@ public static PurchaseOrderLineItemRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -83,7 +83,7 @@ public PurchaseOrderLineItemRequestCurrency deserialize(JsonParser p, Deserializ throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderRequestCurrency.java index 922d5e6a3..226c2f9e3 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderRequestCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/PurchaseOrderRequestCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static PurchaseOrderRequestCurrency of(CurrencyEnum value) { + public static PurchaseOrderRequestCurrency of(TransactionCurrencyEnum value) { return new PurchaseOrderRequestCurrency(value, 0); } @@ -67,7 +67,7 @@ public static PurchaseOrderRequestCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer data, Map add this.additionalProperties = additionalProperties; } + /** + * @return The third-party API path that is being called. + */ @JsonProperty("path") public String getPath() { return path; @@ -104,6 +107,10 @@ public Builder from(RemoteData other) { return this; } + /** + *

                    The third-party API path that is being called.

                    + * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override @JsonSetter("path") public _FinalStage path(String path) { diff --git a/src/main/java/com/merge/api/resources/accounting/types/RemoteFieldApiResponse.java b/src/main/java/com/merge/api/resources/accounting/types/RemoteFieldApiResponse.java index dca6c101e..62bc6a09f 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/RemoteFieldApiResponse.java +++ b/src/main/java/com/merge/api/resources/accounting/types/RemoteFieldApiResponse.java @@ -63,6 +63,8 @@ public final class RemoteFieldApiResponse { private final Optional> bankFeedAccount; + private final Optional> employee; + private final Map additionalProperties; private RemoteFieldApiResponse( @@ -87,6 +89,7 @@ private RemoteFieldApiResponse( Optional> accountingPeriod, Optional> generalLedgerTransaction, Optional> bankFeedAccount, + Optional> employee, Map additionalProperties) { this.account = account; this.accountingAttachment = accountingAttachment; @@ -109,6 +112,7 @@ private RemoteFieldApiResponse( this.accountingPeriod = accountingPeriod; this.generalLedgerTransaction = generalLedgerTransaction; this.bankFeedAccount = bankFeedAccount; + this.employee = employee; this.additionalProperties = additionalProperties; } @@ -217,6 +221,11 @@ public Optional> getBankFeedAccount() { return bankFeedAccount; } + @JsonProperty("Employee") + public Optional> getEmployee() { + return employee; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -249,7 +258,8 @@ private boolean equalTo(RemoteFieldApiResponse other) { && transaction.equals(other.transaction) && accountingPeriod.equals(other.accountingPeriod) && generalLedgerTransaction.equals(other.generalLedgerTransaction) - && bankFeedAccount.equals(other.bankFeedAccount); + && bankFeedAccount.equals(other.bankFeedAccount) + && employee.equals(other.employee); } @java.lang.Override @@ -275,7 +285,8 @@ public int hashCode() { this.transaction, this.accountingPeriod, this.generalLedgerTransaction, - this.bankFeedAccount); + this.bankFeedAccount, + this.employee); } @java.lang.Override @@ -331,6 +342,8 @@ public static final class Builder { private Optional> bankFeedAccount = Optional.empty(); + private Optional> employee = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -358,6 +371,7 @@ public Builder from(RemoteFieldApiResponse other) { accountingPeriod(other.getAccountingPeriod()); generalLedgerTransaction(other.getGeneralLedgerTransaction()); bankFeedAccount(other.getBankFeedAccount()); + employee(other.getEmployee()); return this; } @@ -592,6 +606,17 @@ public Builder bankFeedAccount(List bankFeedAccount) { return this; } + @JsonSetter(value = "Employee", nulls = Nulls.SKIP) + public Builder employee(Optional> employee) { + this.employee = employee; + return this; + } + + public Builder employee(List employee) { + this.employee = Optional.of(employee); + return this; + } + public RemoteFieldApiResponse build() { return new RemoteFieldApiResponse( account, @@ -615,6 +640,7 @@ public RemoteFieldApiResponse build() { accountingPeriod, generalLedgerTransaction, bankFeedAccount, + employee, additionalProperties); } } diff --git a/src/main/java/com/merge/api/resources/accounting/types/Status895Enum.java b/src/main/java/com/merge/api/resources/accounting/types/Status895Enum.java new file mode 100644 index 000000000..797672865 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/Status895Enum.java @@ -0,0 +1,24 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum Status895Enum { + ACTIVE("ACTIVE"), + + INACTIVE("INACTIVE"); + + private final String value; + + Status895Enum(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/TrackingCategory.java b/src/main/java/com/merge/api/resources/accounting/types/TrackingCategory.java index 8a138068b..5abac5dbc 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/TrackingCategory.java +++ b/src/main/java/com/merge/api/resources/accounting/types/TrackingCategory.java @@ -15,7 +15,6 @@ import com.merge.api.core.ObjectMappers; import java.time.OffsetDateTime; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -45,8 +44,6 @@ public final class TrackingCategory { private final Optional> fieldMappings; - private final Optional> remoteData; - private final Map additionalProperties; private TrackingCategory( @@ -61,7 +58,6 @@ private TrackingCategory( Optional company, Optional remoteWasDeleted, Optional> fieldMappings, - Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -74,7 +70,6 @@ private TrackingCategory( this.company = company; this.remoteWasDeleted = remoteWasDeleted; this.fieldMappings = fieldMappings; - this.remoteData = remoteData; this.additionalProperties = additionalProperties; } @@ -139,16 +134,13 @@ public Optional getCategoryType() { return categoryType; } - /** - * @return ID of the parent tracking category. - */ @JsonProperty("parent_category") public Optional getParentCategory() { return parentCategory; } /** - * @return The company the tracking category belongs to. + * @return The company the GeneralLedgerTransaction belongs to. */ @JsonProperty("company") public Optional getCompany() { @@ -168,11 +160,6 @@ public Optional> getFieldMappings() { return fieldMappings; } - @JsonProperty("remote_data") - public Optional> getRemoteData() { - return remoteData; - } - @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -195,8 +182,7 @@ private boolean equalTo(TrackingCategory other) { && parentCategory.equals(other.parentCategory) && company.equals(other.company) && remoteWasDeleted.equals(other.remoteWasDeleted) - && fieldMappings.equals(other.fieldMappings) - && remoteData.equals(other.remoteData); + && fieldMappings.equals(other.fieldMappings); } @java.lang.Override @@ -212,8 +198,7 @@ public int hashCode() { this.parentCategory, this.company, this.remoteWasDeleted, - this.fieldMappings, - this.remoteData); + this.fieldMappings); } @java.lang.Override @@ -249,8 +234,6 @@ public static final class Builder { private Optional> fieldMappings = Optional.empty(); - private Optional> remoteData = Optional.empty(); - @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -268,7 +251,6 @@ public Builder from(TrackingCategory other) { company(other.getCompany()); remoteWasDeleted(other.getRemoteWasDeleted()); fieldMappings(other.getFieldMappings()); - remoteData(other.getRemoteData()); return this; } @@ -393,17 +375,6 @@ public Builder fieldMappings(Map fieldMappings) { return this; } - @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional> remoteData) { - this.remoteData = remoteData; - return this; - } - - public Builder remoteData(List remoteData) { - this.remoteData = Optional.of(remoteData); - return this; - } - public TrackingCategory build() { return new TrackingCategory( id, @@ -417,7 +388,6 @@ public TrackingCategory build() { company, remoteWasDeleted, fieldMappings, - remoteData, additionalProperties); } } diff --git a/src/main/java/com/merge/api/resources/accounting/types/TransactionCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/TransactionCurrency.java index 173c44118..d006f83bd 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/TransactionCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/TransactionCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static TransactionCurrency of(CurrencyEnum value) { + public static TransactionCurrency of(TransactionCurrencyEnum value) { return new TransactionCurrency(value, 0); } @@ -67,7 +67,7 @@ public static TransactionCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public TransactionCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/CurrencyEnum.java b/src/main/java/com/merge/api/resources/accounting/types/TransactionCurrencyEnum.java similarity index 98% rename from src/main/java/com/merge/api/resources/accounting/types/CurrencyEnum.java rename to src/main/java/com/merge/api/resources/accounting/types/TransactionCurrencyEnum.java index 58f88dc6a..853541e3d 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/CurrencyEnum.java +++ b/src/main/java/com/merge/api/resources/accounting/types/TransactionCurrencyEnum.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.annotation.JsonValue; -public enum CurrencyEnum { +public enum TransactionCurrencyEnum { XUA("XUA"), AFN("AFN"), @@ -620,7 +620,7 @@ public enum CurrencyEnum { private final String value; - CurrencyEnum(String value) { + TransactionCurrencyEnum(String value) { this.value = value; } diff --git a/src/main/java/com/merge/api/resources/accounting/types/TransactionLineItemCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/TransactionLineItemCurrency.java index 58fe09ea0..f2a01c301 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/TransactionLineItemCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/TransactionLineItemCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static TransactionLineItemCurrency of(CurrencyEnum value) { + public static TransactionLineItemCurrency of(TransactionCurrencyEnum value) { return new TransactionLineItemCurrency(value, 0); } @@ -67,7 +67,7 @@ public static TransactionLineItemCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer>> trackingCategories; + private final Optional> appliedToLines; + private final Optional remoteWasDeleted; private final Optional accountingPeriod; @@ -76,6 +78,7 @@ private VendorCredit( Optional company, Optional> lines, Optional>> trackingCategories, + Optional> appliedToLines, Optional remoteWasDeleted, Optional accountingPeriod, Optional> fieldMappings, @@ -95,6 +98,7 @@ private VendorCredit( this.company = company; this.lines = lines; this.trackingCategories = trackingCategories; + this.appliedToLines = appliedToLines; this.remoteWasDeleted = remoteWasDeleted; this.accountingPeriod = accountingPeriod; this.fieldMappings = fieldMappings; @@ -513,6 +517,14 @@ public Optional>> getTrackingC return trackingCategories; } + /** + * @return A list of VendorCredit Applied to Lines objects. + */ + @JsonProperty("applied_to_lines") + public Optional> getAppliedToLines() { + return appliedToLines; + } + /** * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. */ @@ -565,6 +577,7 @@ private boolean equalTo(VendorCredit other) { && company.equals(other.company) && lines.equals(other.lines) && trackingCategories.equals(other.trackingCategories) + && appliedToLines.equals(other.appliedToLines) && remoteWasDeleted.equals(other.remoteWasDeleted) && accountingPeriod.equals(other.accountingPeriod) && fieldMappings.equals(other.fieldMappings) @@ -588,6 +601,7 @@ public int hashCode() { this.company, this.lines, this.trackingCategories, + this.appliedToLines, this.remoteWasDeleted, this.accountingPeriod, this.fieldMappings, @@ -633,6 +647,8 @@ public static final class Builder { private Optional>> trackingCategories = Optional.empty(); + private Optional> appliedToLines = Optional.empty(); + private Optional remoteWasDeleted = Optional.empty(); private Optional accountingPeriod = Optional.empty(); @@ -661,6 +677,7 @@ public Builder from(VendorCredit other) { company(other.getCompany()); lines(other.getLines()); trackingCategories(other.getTrackingCategories()); + appliedToLines(other.getAppliedToLines()); remoteWasDeleted(other.getRemoteWasDeleted()); accountingPeriod(other.getAccountingPeriod()); fieldMappings(other.getFieldMappings()); @@ -823,6 +840,17 @@ public Builder trackingCategories(List> appliedToLines) { + this.appliedToLines = appliedToLines; + return this; + } + + public Builder appliedToLines(List appliedToLines) { + this.appliedToLines = Optional.of(appliedToLines); + return this; + } + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) public Builder remoteWasDeleted(Optional remoteWasDeleted) { this.remoteWasDeleted = remoteWasDeleted; @@ -883,6 +911,7 @@ public VendorCredit build() { company, lines, trackingCategories, + appliedToLines, remoteWasDeleted, accountingPeriod, fieldMappings, diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForInvoice.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForInvoice.java new file mode 100644 index 000000000..6147fc1b9 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForInvoice.java @@ -0,0 +1,275 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = VendorCreditApplyLineForInvoice.Builder.class) +public final class VendorCreditApplyLineForInvoice { + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional vendorCredit; + + private final Optional appliedDate; + + private final Optional appliedAmount; + + private final Optional remoteWasDeleted; + + private final Map additionalProperties; + + private VendorCreditApplyLineForInvoice( + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional vendorCredit, + Optional appliedDate, + Optional appliedAmount, + Optional remoteWasDeleted, + Map additionalProperties) { + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.vendorCredit = vendorCredit; + this.appliedDate = appliedDate; + this.appliedAmount = appliedAmount; + this.remoteWasDeleted = remoteWasDeleted; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + @JsonProperty("vendor_credit") + public Optional getVendorCredit() { + return vendorCredit; + } + + /** + * @return Date that the vendor credit is applied to the invoice. + */ + @JsonProperty("applied_date") + public Optional getAppliedDate() { + return appliedDate; + } + + /** + * @return The amount of the VendorCredit applied to the invoice. + */ + @JsonProperty("applied_amount") + public Optional getAppliedAmount() { + return appliedAmount; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditApplyLineForInvoice && equalTo((VendorCreditApplyLineForInvoice) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(VendorCreditApplyLineForInvoice other) { + return remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && vendorCredit.equals(other.vendorCredit) + && appliedDate.equals(other.appliedDate) + && appliedAmount.equals(other.appliedAmount) + && remoteWasDeleted.equals(other.remoteWasDeleted); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.createdAt, + this.modifiedAt, + this.vendorCredit, + this.appliedDate, + this.appliedAmount, + this.remoteWasDeleted); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional vendorCredit = Optional.empty(); + + private Optional appliedDate = Optional.empty(); + + private Optional appliedAmount = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(VendorCreditApplyLineForInvoice other) { + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + vendorCredit(other.getVendorCredit()); + appliedDate(other.getAppliedDate()); + appliedAmount(other.getAppliedAmount()); + remoteWasDeleted(other.getRemoteWasDeleted()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "vendor_credit", nulls = Nulls.SKIP) + public Builder vendorCredit(Optional vendorCredit) { + this.vendorCredit = vendorCredit; + return this; + } + + public Builder vendorCredit(VendorCreditApplyLineForInvoiceVendorCredit vendorCredit) { + this.vendorCredit = Optional.of(vendorCredit); + return this; + } + + @JsonSetter(value = "applied_date", nulls = Nulls.SKIP) + public Builder appliedDate(Optional appliedDate) { + this.appliedDate = appliedDate; + return this; + } + + public Builder appliedDate(OffsetDateTime appliedDate) { + this.appliedDate = Optional.of(appliedDate); + return this; + } + + @JsonSetter(value = "applied_amount", nulls = Nulls.SKIP) + public Builder appliedAmount(Optional appliedAmount) { + this.appliedAmount = appliedAmount; + return this; + } + + public Builder appliedAmount(String appliedAmount) { + this.appliedAmount = Optional.of(appliedAmount); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + public VendorCreditApplyLineForInvoice build() { + return new VendorCreditApplyLineForInvoice( + remoteId, + createdAt, + modifiedAt, + vendorCredit, + appliedDate, + appliedAmount, + remoteWasDeleted, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForInvoiceVendorCredit.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForInvoiceVendorCredit.java new file mode 100644 index 000000000..17bc6c7bf --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForInvoiceVendorCredit.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditApplyLineForInvoiceVendorCredit.Deserializer.class) +public final class VendorCreditApplyLineForInvoiceVendorCredit { + private final Object value; + + private final int type; + + private VendorCreditApplyLineForInvoiceVendorCredit(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((VendorCredit) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditApplyLineForInvoiceVendorCredit + && equalTo((VendorCreditApplyLineForInvoiceVendorCredit) other); + } + + private boolean equalTo(VendorCreditApplyLineForInvoiceVendorCredit other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditApplyLineForInvoiceVendorCredit of(String value) { + return new VendorCreditApplyLineForInvoiceVendorCredit(value, 0); + } + + public static VendorCreditApplyLineForInvoiceVendorCredit of(VendorCredit value) { + return new VendorCreditApplyLineForInvoiceVendorCredit(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(VendorCredit value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditApplyLineForInvoiceVendorCredit.class); + } + + @java.lang.Override + public VendorCreditApplyLineForInvoiceVendorCredit deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, VendorCredit.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCredit.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCredit.java new file mode 100644 index 000000000..6674e44f4 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCredit.java @@ -0,0 +1,276 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = VendorCreditApplyLineForVendorCredit.Builder.class) +public final class VendorCreditApplyLineForVendorCredit { + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional invoice; + + private final Optional appliedDate; + + private final Optional appliedAmount; + + private final Optional remoteWasDeleted; + + private final Map additionalProperties; + + private VendorCreditApplyLineForVendorCredit( + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional invoice, + Optional appliedDate, + Optional appliedAmount, + Optional remoteWasDeleted, + Map additionalProperties) { + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.invoice = invoice; + this.appliedDate = appliedDate; + this.appliedAmount = appliedAmount; + this.remoteWasDeleted = remoteWasDeleted; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + @JsonProperty("invoice") + public Optional getInvoice() { + return invoice; + } + + /** + * @return Date that the vendor credit is applied to the invoice. + */ + @JsonProperty("applied_date") + public Optional getAppliedDate() { + return appliedDate; + } + + /** + * @return The amount of the VendorCredit applied to the invoice. + */ + @JsonProperty("applied_amount") + public Optional getAppliedAmount() { + return appliedAmount; + } + + /** + * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. + */ + @JsonProperty("remote_was_deleted") + public Optional getRemoteWasDeleted() { + return remoteWasDeleted; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditApplyLineForVendorCredit + && equalTo((VendorCreditApplyLineForVendorCredit) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(VendorCreditApplyLineForVendorCredit other) { + return remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && invoice.equals(other.invoice) + && appliedDate.equals(other.appliedDate) + && appliedAmount.equals(other.appliedAmount) + && remoteWasDeleted.equals(other.remoteWasDeleted); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.createdAt, + this.modifiedAt, + this.invoice, + this.appliedDate, + this.appliedAmount, + this.remoteWasDeleted); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional invoice = Optional.empty(); + + private Optional appliedDate = Optional.empty(); + + private Optional appliedAmount = Optional.empty(); + + private Optional remoteWasDeleted = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(VendorCreditApplyLineForVendorCredit other) { + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + invoice(other.getInvoice()); + appliedDate(other.getAppliedDate()); + appliedAmount(other.getAppliedAmount()); + remoteWasDeleted(other.getRemoteWasDeleted()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "invoice", nulls = Nulls.SKIP) + public Builder invoice(Optional invoice) { + this.invoice = invoice; + return this; + } + + public Builder invoice(VendorCreditApplyLineForVendorCreditInvoice invoice) { + this.invoice = Optional.of(invoice); + return this; + } + + @JsonSetter(value = "applied_date", nulls = Nulls.SKIP) + public Builder appliedDate(Optional appliedDate) { + this.appliedDate = appliedDate; + return this; + } + + public Builder appliedDate(OffsetDateTime appliedDate) { + this.appliedDate = Optional.of(appliedDate); + return this; + } + + @JsonSetter(value = "applied_amount", nulls = Nulls.SKIP) + public Builder appliedAmount(Optional appliedAmount) { + this.appliedAmount = appliedAmount; + return this; + } + + public Builder appliedAmount(String appliedAmount) { + this.appliedAmount = Optional.of(appliedAmount); + return this; + } + + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) + public Builder remoteWasDeleted(Optional remoteWasDeleted) { + this.remoteWasDeleted = remoteWasDeleted; + return this; + } + + public Builder remoteWasDeleted(Boolean remoteWasDeleted) { + this.remoteWasDeleted = Optional.of(remoteWasDeleted); + return this; + } + + public VendorCreditApplyLineForVendorCredit build() { + return new VendorCreditApplyLineForVendorCredit( + remoteId, + createdAt, + modifiedAt, + invoice, + appliedDate, + appliedAmount, + remoteWasDeleted, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditInvoice.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditInvoice.java new file mode 100644 index 000000000..1e395997c --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditInvoice.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditApplyLineForVendorCreditInvoice.Deserializer.class) +public final class VendorCreditApplyLineForVendorCreditInvoice { + private final Object value; + + private final int type; + + private VendorCreditApplyLineForVendorCreditInvoice(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Invoice) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditApplyLineForVendorCreditInvoice + && equalTo((VendorCreditApplyLineForVendorCreditInvoice) other); + } + + private boolean equalTo(VendorCreditApplyLineForVendorCreditInvoice other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditApplyLineForVendorCreditInvoice of(String value) { + return new VendorCreditApplyLineForVendorCreditInvoice(value, 0); + } + + public static VendorCreditApplyLineForVendorCreditInvoice of(Invoice value) { + return new VendorCreditApplyLineForVendorCreditInvoice(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Invoice value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditApplyLineForVendorCreditInvoice.class); + } + + @java.lang.Override + public VendorCreditApplyLineForVendorCreditInvoice deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Invoice.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequest.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequest.java new file mode 100644 index 000000000..555143cf9 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequest.java @@ -0,0 +1,242 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = VendorCreditApplyLineForVendorCreditRequest.Builder.class) +public final class VendorCreditApplyLineForVendorCreditRequest { + private final Optional remoteId; + + private final Optional invoice; + + private final Optional appliedDate; + + private final Optional appliedAmount; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private VendorCreditApplyLineForVendorCreditRequest( + Optional remoteId, + Optional invoice, + Optional appliedDate, + Optional appliedAmount, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.remoteId = remoteId; + this.invoice = invoice; + this.appliedDate = appliedDate; + this.appliedAmount = appliedAmount; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + @JsonProperty("invoice") + public Optional getInvoice() { + return invoice; + } + + /** + * @return Date that the vendor credit is applied to the invoice. + */ + @JsonProperty("applied_date") + public Optional getAppliedDate() { + return appliedDate; + } + + /** + * @return The amount of the VendorCredit applied to the invoice. + */ + @JsonProperty("applied_amount") + public Optional getAppliedAmount() { + return appliedAmount; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditApplyLineForVendorCreditRequest + && equalTo((VendorCreditApplyLineForVendorCreditRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(VendorCreditApplyLineForVendorCreditRequest other) { + return remoteId.equals(other.remoteId) + && invoice.equals(other.invoice) + && appliedDate.equals(other.appliedDate) + && appliedAmount.equals(other.appliedAmount) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.invoice, + this.appliedDate, + this.appliedAmount, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional invoice = Optional.empty(); + + private Optional appliedDate = Optional.empty(); + + private Optional appliedAmount = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(VendorCreditApplyLineForVendorCreditRequest other) { + remoteId(other.getRemoteId()); + invoice(other.getInvoice()); + appliedDate(other.getAppliedDate()); + appliedAmount(other.getAppliedAmount()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "invoice", nulls = Nulls.SKIP) + public Builder invoice(Optional invoice) { + this.invoice = invoice; + return this; + } + + public Builder invoice(VendorCreditApplyLineForVendorCreditRequestInvoice invoice) { + this.invoice = Optional.of(invoice); + return this; + } + + @JsonSetter(value = "applied_date", nulls = Nulls.SKIP) + public Builder appliedDate(Optional appliedDate) { + this.appliedDate = appliedDate; + return this; + } + + public Builder appliedDate(OffsetDateTime appliedDate) { + this.appliedDate = Optional.of(appliedDate); + return this; + } + + @JsonSetter(value = "applied_amount", nulls = Nulls.SKIP) + public Builder appliedAmount(Optional appliedAmount) { + this.appliedAmount = appliedAmount; + return this; + } + + public Builder appliedAmount(String appliedAmount) { + this.appliedAmount = Optional.of(appliedAmount); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public VendorCreditApplyLineForVendorCreditRequest build() { + return new VendorCreditApplyLineForVendorCreditRequest( + remoteId, + invoice, + appliedDate, + appliedAmount, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.java new file mode 100644 index 000000000..fe83bc487 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditApplyLineForVendorCreditRequestInvoice.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditApplyLineForVendorCreditRequestInvoice.Deserializer.class) +public final class VendorCreditApplyLineForVendorCreditRequestInvoice { + private final Object value; + + private final int type; + + private VendorCreditApplyLineForVendorCreditRequestInvoice(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Invoice) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditApplyLineForVendorCreditRequestInvoice + && equalTo((VendorCreditApplyLineForVendorCreditRequestInvoice) other); + } + + private boolean equalTo(VendorCreditApplyLineForVendorCreditRequestInvoice other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditApplyLineForVendorCreditRequestInvoice of(String value) { + return new VendorCreditApplyLineForVendorCreditRequestInvoice(value, 0); + } + + public static VendorCreditApplyLineForVendorCreditRequestInvoice of(Invoice value) { + return new VendorCreditApplyLineForVendorCreditRequestInvoice(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Invoice value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditApplyLineForVendorCreditRequestInvoice.class); + } + + @java.lang.Override + public VendorCreditApplyLineForVendorCreditRequestInvoice deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Invoice.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditCurrency.java index ffcb673f6..418568614 100644 --- a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditCurrency.java +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditCurrency.java @@ -31,7 +31,7 @@ public Object get() { public T visit(Visitor visitor) { if (this.type == 0) { - return visitor.visit((CurrencyEnum) this.value); + return visitor.visit((TransactionCurrencyEnum) this.value); } else if (this.type == 1) { return visitor.visit((String) this.value); } @@ -58,7 +58,7 @@ public String toString() { return this.value.toString(); } - public static VendorCreditCurrency of(CurrencyEnum value) { + public static VendorCreditCurrency of(TransactionCurrencyEnum value) { return new VendorCreditCurrency(value, 0); } @@ -67,7 +67,7 @@ public static VendorCreditCurrency of(String value) { } public interface Visitor { - T visit(CurrencyEnum value); + T visit(TransactionCurrencyEnum value); T visit(String value); } @@ -81,7 +81,7 @@ static final class Deserializer extends StdDeserializer { public VendorCreditCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { Object value = p.readValueAs(Object.class); try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, CurrencyEnum.class)); + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); } catch (IllegalArgumentException e) { } try { diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditLineRequest.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditLineRequest.java new file mode 100644 index 000000000..cb4c65c50 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditLineRequest.java @@ -0,0 +1,389 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = VendorCreditLineRequest.Builder.class) +public final class VendorCreditLineRequest { + private final Optional remoteId; + + private final Optional netAmount; + + private final Optional trackingCategory; + + private final Optional>> trackingCategories; + + private final Optional description; + + private final Optional account; + + private final Optional company; + + private final Optional taxRate; + + private final Optional exchangeRate; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private VendorCreditLineRequest( + Optional remoteId, + Optional netAmount, + Optional trackingCategory, + Optional>> trackingCategories, + Optional description, + Optional account, + Optional company, + Optional taxRate, + Optional exchangeRate, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.remoteId = remoteId; + this.netAmount = netAmount; + this.trackingCategory = trackingCategory; + this.trackingCategories = trackingCategories; + this.description = description; + this.account = account; + this.company = company; + this.taxRate = taxRate; + this.exchangeRate = exchangeRate; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The full value of the credit. + */ + @JsonProperty("net_amount") + public Optional getNetAmount() { + return netAmount; + } + + /** + * @return The line's associated tracking category. + */ + @JsonProperty("tracking_category") + public Optional getTrackingCategory() { + return trackingCategory; + } + + /** + * @return The vendor credit line item's associated tracking categories. + */ + @JsonProperty("tracking_categories") + public Optional>> getTrackingCategories() { + return trackingCategories; + } + + /** + * @return The line's description. + */ + @JsonProperty("description") + public Optional getDescription() { + return description; + } + + /** + * @return The line's account. + */ + @JsonProperty("account") + public Optional getAccount() { + return account; + } + + /** + * @return The company the line belongs to. + */ + @JsonProperty("company") + public Optional getCompany() { + return company; + } + + /** + * @return The tax rate that applies to this line item. + */ + @JsonProperty("tax_rate") + public Optional getTaxRate() { + return taxRate; + } + + /** + * @return The vendor credit line item's exchange rate. + */ + @JsonProperty("exchange_rate") + public Optional getExchangeRate() { + return exchangeRate; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditLineRequest && equalTo((VendorCreditLineRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(VendorCreditLineRequest other) { + return remoteId.equals(other.remoteId) + && netAmount.equals(other.netAmount) + && trackingCategory.equals(other.trackingCategory) + && trackingCategories.equals(other.trackingCategories) + && description.equals(other.description) + && account.equals(other.account) + && company.equals(other.company) + && taxRate.equals(other.taxRate) + && exchangeRate.equals(other.exchangeRate) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.remoteId, + this.netAmount, + this.trackingCategory, + this.trackingCategories, + this.description, + this.account, + this.company, + this.taxRate, + this.exchangeRate, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional remoteId = Optional.empty(); + + private Optional netAmount = Optional.empty(); + + private Optional trackingCategory = Optional.empty(); + + private Optional>> trackingCategories = Optional.empty(); + + private Optional description = Optional.empty(); + + private Optional account = Optional.empty(); + + private Optional company = Optional.empty(); + + private Optional taxRate = Optional.empty(); + + private Optional exchangeRate = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(VendorCreditLineRequest other) { + remoteId(other.getRemoteId()); + netAmount(other.getNetAmount()); + trackingCategory(other.getTrackingCategory()); + trackingCategories(other.getTrackingCategories()); + description(other.getDescription()); + account(other.getAccount()); + company(other.getCompany()); + taxRate(other.getTaxRate()); + exchangeRate(other.getExchangeRate()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "net_amount", nulls = Nulls.SKIP) + public Builder netAmount(Optional netAmount) { + this.netAmount = netAmount; + return this; + } + + public Builder netAmount(Double netAmount) { + this.netAmount = Optional.of(netAmount); + return this; + } + + @JsonSetter(value = "tracking_category", nulls = Nulls.SKIP) + public Builder trackingCategory(Optional trackingCategory) { + this.trackingCategory = trackingCategory; + return this; + } + + public Builder trackingCategory(String trackingCategory) { + this.trackingCategory = Optional.of(trackingCategory); + return this; + } + + @JsonSetter(value = "tracking_categories", nulls = Nulls.SKIP) + public Builder trackingCategories(Optional>> trackingCategories) { + this.trackingCategories = trackingCategories; + return this; + } + + public Builder trackingCategories(List> trackingCategories) { + this.trackingCategories = Optional.of(trackingCategories); + return this; + } + + @JsonSetter(value = "description", nulls = Nulls.SKIP) + public Builder description(Optional description) { + this.description = description; + return this; + } + + public Builder description(String description) { + this.description = Optional.of(description); + return this; + } + + @JsonSetter(value = "account", nulls = Nulls.SKIP) + public Builder account(Optional account) { + this.account = account; + return this; + } + + public Builder account(VendorCreditLineRequestAccount account) { + this.account = Optional.of(account); + return this; + } + + @JsonSetter(value = "company", nulls = Nulls.SKIP) + public Builder company(Optional company) { + this.company = company; + return this; + } + + public Builder company(String company) { + this.company = Optional.of(company); + return this; + } + + @JsonSetter(value = "tax_rate", nulls = Nulls.SKIP) + public Builder taxRate(Optional taxRate) { + this.taxRate = taxRate; + return this; + } + + public Builder taxRate(String taxRate) { + this.taxRate = Optional.of(taxRate); + return this; + } + + @JsonSetter(value = "exchange_rate", nulls = Nulls.SKIP) + public Builder exchangeRate(Optional exchangeRate) { + this.exchangeRate = exchangeRate; + return this; + } + + public Builder exchangeRate(String exchangeRate) { + this.exchangeRate = Optional.of(exchangeRate); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public VendorCreditLineRequest build() { + return new VendorCreditLineRequest( + remoteId, + netAmount, + trackingCategory, + trackingCategories, + description, + account, + company, + taxRate, + exchangeRate, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditLineRequestAccount.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditLineRequestAccount.java new file mode 100644 index 000000000..2cd0d1391 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditLineRequestAccount.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditLineRequestAccount.Deserializer.class) +public final class VendorCreditLineRequestAccount { + private final Object value; + + private final int type; + + private VendorCreditLineRequestAccount(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Account) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditLineRequestAccount && equalTo((VendorCreditLineRequestAccount) other); + } + + private boolean equalTo(VendorCreditLineRequestAccount other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditLineRequestAccount of(String value) { + return new VendorCreditLineRequestAccount(value, 0); + } + + public static VendorCreditLineRequestAccount of(Account value) { + return new VendorCreditLineRequestAccount(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Account value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditLineRequestAccount.class); + } + + @java.lang.Override + public VendorCreditLineRequestAccount deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Account.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequest.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequest.java new file mode 100644 index 000000000..55acb1ac0 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequest.java @@ -0,0 +1,756 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = VendorCreditRequest.Builder.class) +public final class VendorCreditRequest { + private final Optional number; + + private final Optional transactionDate; + + private final Optional vendor; + + private final Optional totalAmount; + + private final Optional currency; + + private final Optional exchangeRate; + + private final Optional inclusiveOfTax; + + private final Optional company; + + private final Optional>> trackingCategories; + + private final Optional> appliedToLines; + + private final Optional accountingPeriod; + + private final Optional> integrationParams; + + private final Optional> linkedAccountParams; + + private final Map additionalProperties; + + private VendorCreditRequest( + Optional number, + Optional transactionDate, + Optional vendor, + Optional totalAmount, + Optional currency, + Optional exchangeRate, + Optional inclusiveOfTax, + Optional company, + Optional>> trackingCategories, + Optional> appliedToLines, + Optional accountingPeriod, + Optional> integrationParams, + Optional> linkedAccountParams, + Map additionalProperties) { + this.number = number; + this.transactionDate = transactionDate; + this.vendor = vendor; + this.totalAmount = totalAmount; + this.currency = currency; + this.exchangeRate = exchangeRate; + this.inclusiveOfTax = inclusiveOfTax; + this.company = company; + this.trackingCategories = trackingCategories; + this.appliedToLines = appliedToLines; + this.accountingPeriod = accountingPeriod; + this.integrationParams = integrationParams; + this.linkedAccountParams = linkedAccountParams; + this.additionalProperties = additionalProperties; + } + + /** + * @return The vendor credit's number. + */ + @JsonProperty("number") + public Optional getNumber() { + return number; + } + + /** + * @return The vendor credit's transaction date. + */ + @JsonProperty("transaction_date") + public Optional getTransactionDate() { + return transactionDate; + } + + /** + * @return The vendor that owes the gift or refund. + */ + @JsonProperty("vendor") + public Optional getVendor() { + return vendor; + } + + /** + * @return The vendor credit's total amount. + */ + @JsonProperty("total_amount") + public Optional getTotalAmount() { + return totalAmount; + } + + /** + * @return The vendor credit's currency. + *
                      + *
                    • XUA - ADB Unit of Account
                    • + *
                    • AFN - Afghan Afghani
                    • + *
                    • AFA - Afghan Afghani (1927–2002)
                    • + *
                    • ALL - Albanian Lek
                    • + *
                    • ALK - Albanian Lek (1946–1965)
                    • + *
                    • DZD - Algerian Dinar
                    • + *
                    • ADP - Andorran Peseta
                    • + *
                    • AOA - Angolan Kwanza
                    • + *
                    • AOK - Angolan Kwanza (1977–1991)
                    • + *
                    • AON - Angolan New Kwanza (1990–2000)
                    • + *
                    • AOR - Angolan Readjusted Kwanza (1995–1999)
                    • + *
                    • ARA - Argentine Austral
                    • + *
                    • ARS - Argentine Peso
                    • + *
                    • ARM - Argentine Peso (1881–1970)
                    • + *
                    • ARP - Argentine Peso (1983–1985)
                    • + *
                    • ARL - Argentine Peso Ley (1970–1983)
                    • + *
                    • AMD - Armenian Dram
                    • + *
                    • AWG - Aruban Florin
                    • + *
                    • AUD - Australian Dollar
                    • + *
                    • ATS - Austrian Schilling
                    • + *
                    • AZN - Azerbaijani Manat
                    • + *
                    • AZM - Azerbaijani Manat (1993–2006)
                    • + *
                    • BSD - Bahamian Dollar
                    • + *
                    • BHD - Bahraini Dinar
                    • + *
                    • BDT - Bangladeshi Taka
                    • + *
                    • BBD - Barbadian Dollar
                    • + *
                    • BYN - Belarusian Ruble
                    • + *
                    • BYB - Belarusian Ruble (1994–1999)
                    • + *
                    • BYR - Belarusian Ruble (2000–2016)
                    • + *
                    • BEF - Belgian Franc
                    • + *
                    • BEC - Belgian Franc (convertible)
                    • + *
                    • BEL - Belgian Franc (financial)
                    • + *
                    • BZD - Belize Dollar
                    • + *
                    • BMD - Bermudan Dollar
                    • + *
                    • BTN - Bhutanese Ngultrum
                    • + *
                    • BOB - Bolivian Boliviano
                    • + *
                    • BOL - Bolivian Boliviano (1863–1963)
                    • + *
                    • BOV - Bolivian Mvdol
                    • + *
                    • BOP - Bolivian Peso
                    • + *
                    • BAM - Bosnia-Herzegovina Convertible Mark
                    • + *
                    • BAD - Bosnia-Herzegovina Dinar (1992–1994)
                    • + *
                    • BAN - Bosnia-Herzegovina New Dinar (1994–1997)
                    • + *
                    • BWP - Botswanan Pula
                    • + *
                    • BRC - 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 Real
                    • + *
                    • GBP - British Pound
                    • + *
                    • BND - Brunei Dollar
                    • + *
                    • BGL - Bulgarian Hard Lev
                    • + *
                    • BGN - Bulgarian Lev
                    • + *
                    • BGO - Bulgarian Lev (1879–1952)
                    • + *
                    • BGM - Bulgarian Socialist Lev
                    • + *
                    • BUK - Burmese Kyat
                    • + *
                    • BIF - Burundian Franc
                    • + *
                    • XPF - CFP Franc
                    • + *
                    • KHR - Cambodian Riel
                    • + *
                    • CAD - Canadian Dollar
                    • + *
                    • CVE - Cape Verdean Escudo
                    • + *
                    • KYD - Cayman Islands Dollar
                    • + *
                    • XAF - Central African CFA Franc
                    • + *
                    • CLE - Chilean Escudo
                    • + *
                    • CLP - Chilean Peso
                    • + *
                    • CLF - Chilean Unit of Account (UF)
                    • + *
                    • CNX - Chinese People’s Bank Dollar
                    • + *
                    • CNY - Chinese Yuan
                    • + *
                    • CNH - Chinese Yuan (offshore)
                    • + *
                    • COP - Colombian Peso
                    • + *
                    • COU - Colombian Real Value Unit
                    • + *
                    • KMF - Comorian Franc
                    • + *
                    • CDF - Congolese Franc
                    • + *
                    • CRC - Costa Rican Colón
                    • + *
                    • HRD - Croatian Dinar
                    • + *
                    • HRK - Croatian Kuna
                    • + *
                    • CUC - Cuban Convertible Peso
                    • + *
                    • CUP - Cuban Peso
                    • + *
                    • CYP - Cypriot Pound
                    • + *
                    • CZK - Czech Koruna
                    • + *
                    • CSK - Czechoslovak Hard Koruna
                    • + *
                    • DKK - Danish Krone
                    • + *
                    • DJF - Djiboutian Franc
                    • + *
                    • DOP - Dominican Peso
                    • + *
                    • NLG - Dutch Guilder
                    • + *
                    • XCD - East Caribbean Dollar
                    • + *
                    • DDM - East German Mark
                    • + *
                    • ECS - Ecuadorian Sucre
                    • + *
                    • ECV - Ecuadorian Unit of Constant Value
                    • + *
                    • EGP - Egyptian Pound
                    • + *
                    • GQE - Equatorial Guinean Ekwele
                    • + *
                    • ERN - Eritrean Nakfa
                    • + *
                    • EEK - Estonian Kroon
                    • + *
                    • ETB - Ethiopian Birr
                    • + *
                    • EUR - Euro
                    • + *
                    • XBA - European Composite Unit
                    • + *
                    • XEU - European Currency Unit
                    • + *
                    • XBB - European Monetary Unit
                    • + *
                    • XBC - European Unit of Account (XBC)
                    • + *
                    • XBD - European Unit of Account (XBD)
                    • + *
                    • FKP - Falkland Islands Pound
                    • + *
                    • FJD - Fijian Dollar
                    • + *
                    • FIM - Finnish Markka
                    • + *
                    • FRF - French Franc
                    • + *
                    • XFO - French Gold Franc
                    • + *
                    • XFU - French UIC-Franc
                    • + *
                    • GMD - Gambian Dalasi
                    • + *
                    • GEK - Georgian Kupon Larit
                    • + *
                    • GEL - Georgian Lari
                    • + *
                    • DEM - German Mark
                    • + *
                    • GHS - Ghanaian Cedi
                    • + *
                    • GHC - Ghanaian Cedi (1979–2007)
                    • + *
                    • GIP - Gibraltar Pound
                    • + *
                    • XAU - Gold
                    • + *
                    • GRD - Greek Drachma
                    • + *
                    • GTQ - Guatemalan Quetzal
                    • + *
                    • GWP - Guinea-Bissau Peso
                    • + *
                    • GNF - Guinean Franc
                    • + *
                    • GNS - Guinean Syli
                    • + *
                    • GYD - Guyanaese Dollar
                    • + *
                    • HTG - Haitian Gourde
                    • + *
                    • HNL - Honduran Lempira
                    • + *
                    • HKD - Hong Kong Dollar
                    • + *
                    • HUF - Hungarian Forint
                    • + *
                    • IMP - IMP
                    • + *
                    • ISK - Icelandic Króna
                    • + *
                    • ISJ - Icelandic Króna (1918–1981)
                    • + *
                    • INR - Indian Rupee
                    • + *
                    • IDR - Indonesian Rupiah
                    • + *
                    • IRR - Iranian Rial
                    • + *
                    • IQD - Iraqi Dinar
                    • + *
                    • IEP - Irish Pound
                    • + *
                    • ILS - Israeli New Shekel
                    • + *
                    • ILP - Israeli Pound
                    • + *
                    • ILR - Israeli Shekel (1980–1985)
                    • + *
                    • ITL - Italian Lira
                    • + *
                    • JMD - Jamaican Dollar
                    • + *
                    • JPY - Japanese Yen
                    • + *
                    • JOD - Jordanian Dinar
                    • + *
                    • KZT - Kazakhstani Tenge
                    • + *
                    • KES - Kenyan Shilling
                    • + *
                    • KWD - Kuwaiti Dinar
                    • + *
                    • KGS - Kyrgystani Som
                    • + *
                    • LAK - Laotian Kip
                    • + *
                    • LVL - Latvian Lats
                    • + *
                    • LVR - Latvian Ruble
                    • + *
                    • LBP - Lebanese Pound
                    • + *
                    • LSL - Lesotho Loti
                    • + *
                    • LRD - Liberian Dollar
                    • + *
                    • LYD - Libyan Dinar
                    • + *
                    • LTL - Lithuanian Litas
                    • + *
                    • LTT - Lithuanian Talonas
                    • + *
                    • LUL - Luxembourg Financial Franc
                    • + *
                    • LUC - Luxembourgian Convertible Franc
                    • + *
                    • LUF - Luxembourgian Franc
                    • + *
                    • MOP - Macanese Pataca
                    • + *
                    • MKD - Macedonian Denar
                    • + *
                    • MKN - Macedonian Denar (1992–1993)
                    • + *
                    • MGA - Malagasy Ariary
                    • + *
                    • MGF - Malagasy Franc
                    • + *
                    • MWK - Malawian Kwacha
                    • + *
                    • MYR - Malaysian Ringgit
                    • + *
                    • MVR - Maldivian Rufiyaa
                    • + *
                    • MVP - Maldivian Rupee (1947–1981)
                    • + *
                    • MLF - Malian Franc
                    • + *
                    • MTL - Maltese Lira
                    • + *
                    • MTP - Maltese Pound
                    • + *
                    • MRU - Mauritanian Ouguiya
                    • + *
                    • MRO - Mauritanian Ouguiya (1973–2017)
                    • + *
                    • MUR - Mauritian Rupee
                    • + *
                    • MXV - Mexican Investment Unit
                    • + *
                    • MXN - Mexican Peso
                    • + *
                    • MXP - Mexican Silver Peso (1861–1992)
                    • + *
                    • MDC - Moldovan Cupon
                    • + *
                    • MDL - Moldovan Leu
                    • + *
                    • MCF - Monegasque Franc
                    • + *
                    • MNT - Mongolian Tugrik
                    • + *
                    • MAD - Moroccan Dirham
                    • + *
                    • MAF - Moroccan Franc
                    • + *
                    • MZE - Mozambican Escudo
                    • + *
                    • MZN - Mozambican Metical
                    • + *
                    • MZM - Mozambican Metical (1980–2006)
                    • + *
                    • MMK - Myanmar Kyat
                    • + *
                    • NAD - Namibian Dollar
                    • + *
                    • NPR - Nepalese Rupee
                    • + *
                    • ANG - Netherlands Antillean Guilder
                    • + *
                    • TWD - New Taiwan Dollar
                    • + *
                    • NZD - New Zealand Dollar
                    • + *
                    • NIO - Nicaraguan Córdoba
                    • + *
                    • NIC - Nicaraguan Córdoba (1988–1991)
                    • + *
                    • NGN - Nigerian Naira
                    • + *
                    • KPW - North Korean Won
                    • + *
                    • NOK - Norwegian Krone
                    • + *
                    • OMR - Omani Rial
                    • + *
                    • PKR - Pakistani Rupee
                    • + *
                    • XPD - Palladium
                    • + *
                    • PAB - Panamanian Balboa
                    • + *
                    • PGK - Papua New Guinean Kina
                    • + *
                    • PYG - Paraguayan Guarani
                    • + *
                    • PEI - Peruvian Inti
                    • + *
                    • PEN - Peruvian Sol
                    • + *
                    • PES - Peruvian Sol (1863–1965)
                    • + *
                    • PHP - Philippine Peso
                    • + *
                    • XPT - Platinum
                    • + *
                    • PLN - Polish Zloty
                    • + *
                    • PLZ - Polish Zloty (1950–1995)
                    • + *
                    • PTE - Portuguese Escudo
                    • + *
                    • GWE - Portuguese Guinea Escudo
                    • + *
                    • QAR - Qatari Rial
                    • + *
                    • XRE - RINET Funds
                    • + *
                    • RHD - Rhodesian Dollar
                    • + *
                    • RON - Romanian Leu
                    • + *
                    • ROL - Romanian Leu (1952–2006)
                    • + *
                    • RUB - Russian Ruble
                    • + *
                    • RUR - Russian Ruble (1991–1998)
                    • + *
                    • RWF - Rwandan Franc
                    • + *
                    • SVC - Salvadoran Colón
                    • + *
                    • WST - Samoan Tala
                    • + *
                    • SAR - Saudi Riyal
                    • + *
                    • RSD - Serbian Dinar
                    • + *
                    • CSD - Serbian Dinar (2002–2006)
                    • + *
                    • SCR - Seychellois Rupee
                    • + *
                    • SLL - Sierra Leonean Leone
                    • + *
                    • XAG - Silver
                    • + *
                    • SGD - Singapore Dollar
                    • + *
                    • SKK - Slovak Koruna
                    • + *
                    • SIT - Slovenian Tolar
                    • + *
                    • SBD - Solomon Islands Dollar
                    • + *
                    • SOS - Somali Shilling
                    • + *
                    • ZAR - South African Rand
                    • + *
                    • ZAL - South African Rand (financial)
                    • + *
                    • KRH - South Korean Hwan (1953–1962)
                    • + *
                    • KRW - South Korean Won
                    • + *
                    • KRO - South Korean Won (1945–1953)
                    • + *
                    • SSP - South Sudanese Pound
                    • + *
                    • SUR - Soviet Rouble
                    • + *
                    • ESP - Spanish Peseta
                    • + *
                    • ESA - Spanish Peseta (A account)
                    • + *
                    • ESB - Spanish Peseta (convertible account)
                    • + *
                    • XDR - Special Drawing Rights
                    • + *
                    • LKR - Sri Lankan Rupee
                    • + *
                    • SHP - St. Helena Pound
                    • + *
                    • XSU - Sucre
                    • + *
                    • SDD - Sudanese Dinar (1992–2007)
                    • + *
                    • SDG - Sudanese Pound
                    • + *
                    • SDP - Sudanese Pound (1957–1998)
                    • + *
                    • SRD - Surinamese Dollar
                    • + *
                    • SRG - Surinamese Guilder
                    • + *
                    • SZL - Swazi Lilangeni
                    • + *
                    • SEK - Swedish Krona
                    • + *
                    • CHF - Swiss Franc
                    • + *
                    • SYP - Syrian Pound
                    • + *
                    • STN - São Tomé & Príncipe Dobra
                    • + *
                    • STD - São Tomé & Príncipe Dobra (1977–2017)
                    • + *
                    • TVD - TVD
                    • + *
                    • TJR - Tajikistani Ruble
                    • + *
                    • TJS - Tajikistani Somoni
                    • + *
                    • TZS - Tanzanian Shilling
                    • + *
                    • XTS - Testing Currency Code
                    • + *
                    • THB - Thai Baht
                    • + *
                    • XXX - The codes assigned for transactions where no currency is involved
                    • + *
                    • TPE - Timorese Escudo
                    • + *
                    • TOP - Tongan Paʻanga
                    • + *
                    • TTD - Trinidad & Tobago Dollar
                    • + *
                    • TND - Tunisian Dinar
                    • + *
                    • TRY - Turkish Lira
                    • + *
                    • TRL - Turkish Lira (1922–2005)
                    • + *
                    • TMT - Turkmenistani Manat
                    • + *
                    • TMM - Turkmenistani Manat (1993–2009)
                    • + *
                    • USD - US Dollar
                    • + *
                    • USN - US Dollar (Next day)
                    • + *
                    • USS - US Dollar (Same day)
                    • + *
                    • UGX - Ugandan Shilling
                    • + *
                    • UGS - Ugandan Shilling (1966–1987)
                    • + *
                    • UAH - Ukrainian Hryvnia
                    • + *
                    • UAK - Ukrainian Karbovanets
                    • + *
                    • AED - United Arab Emirates Dirham
                    • + *
                    • UYW - Uruguayan Nominal Wage Index Unit
                    • + *
                    • UYU - Uruguayan Peso
                    • + *
                    • UYP - Uruguayan Peso (1975–1993)
                    • + *
                    • UYI - Uruguayan Peso (Indexed Units)
                    • + *
                    • UZS - Uzbekistani Som
                    • + *
                    • VUV - Vanuatu Vatu
                    • + *
                    • VES - Venezuelan Bolívar
                    • + *
                    • VEB - Venezuelan Bolívar (1871–2008)
                    • + *
                    • VEF - Venezuelan Bolívar (2008–2018)
                    • + *
                    • VND - Vietnamese Dong
                    • + *
                    • VNN - Vietnamese Dong (1978–1985)
                    • + *
                    • CHE - WIR Euro
                    • + *
                    • CHW - WIR Franc
                    • + *
                    • XOF - West African CFA Franc
                    • + *
                    • YDD - Yemeni Dinar
                    • + *
                    • YER - Yemeni Rial
                    • + *
                    • YUN - Yugoslavian Convertible Dinar (1990–1992)
                    • + *
                    • YUD - Yugoslavian Hard Dinar (1966–1990)
                    • + *
                    • YUM - Yugoslavian New Dinar (1994–2002)
                    • + *
                    • YUR - Yugoslavian Reformed Dinar (1992–1993)
                    • + *
                    • ZWN - ZWN
                    • + *
                    • ZRN - Zairean New Zaire (1993–1998)
                    • + *
                    • ZRZ - Zairean Zaire (1971–1993)
                    • + *
                    • ZMW - Zambian Kwacha
                    • + *
                    • ZMK - Zambian Kwacha (1968–2012)
                    • + *
                    • ZWD - Zimbabwean Dollar (1980–2008)
                    • + *
                    • ZWR - Zimbabwean Dollar (2008)
                    • + *
                    • ZWL - Zimbabwean Dollar (2009)
                    • + *
                    + */ + @JsonProperty("currency") + public Optional getCurrency() { + return currency; + } + + /** + * @return The vendor credit's exchange rate. + */ + @JsonProperty("exchange_rate") + public Optional getExchangeRate() { + return exchangeRate; + } + + /** + * @return If the transaction is inclusive or exclusive of tax. True if inclusive, False if exclusive. + */ + @JsonProperty("inclusive_of_tax") + public Optional getInclusiveOfTax() { + return inclusiveOfTax; + } + + /** + * @return The company the vendor credit belongs to. + */ + @JsonProperty("company") + public Optional getCompany() { + return company; + } + + @JsonProperty("tracking_categories") + public Optional>> getTrackingCategories() { + return trackingCategories; + } + + /** + * @return A list of VendorCredit Applied to Lines objects. + */ + @JsonProperty("applied_to_lines") + public Optional> getAppliedToLines() { + return appliedToLines; + } + + /** + * @return The accounting period that the VendorCredit was generated in. + */ + @JsonProperty("accounting_period") + public Optional getAccountingPeriod() { + return accountingPeriod; + } + + @JsonProperty("integration_params") + public Optional> getIntegrationParams() { + return integrationParams; + } + + @JsonProperty("linked_account_params") + public Optional> getLinkedAccountParams() { + return linkedAccountParams; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditRequest && equalTo((VendorCreditRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(VendorCreditRequest other) { + return number.equals(other.number) + && transactionDate.equals(other.transactionDate) + && vendor.equals(other.vendor) + && totalAmount.equals(other.totalAmount) + && currency.equals(other.currency) + && exchangeRate.equals(other.exchangeRate) + && inclusiveOfTax.equals(other.inclusiveOfTax) + && company.equals(other.company) + && trackingCategories.equals(other.trackingCategories) + && appliedToLines.equals(other.appliedToLines) + && accountingPeriod.equals(other.accountingPeriod) + && integrationParams.equals(other.integrationParams) + && linkedAccountParams.equals(other.linkedAccountParams); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.number, + this.transactionDate, + this.vendor, + this.totalAmount, + this.currency, + this.exchangeRate, + this.inclusiveOfTax, + this.company, + this.trackingCategories, + this.appliedToLines, + this.accountingPeriod, + this.integrationParams, + this.linkedAccountParams); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional number = Optional.empty(); + + private Optional transactionDate = Optional.empty(); + + private Optional vendor = Optional.empty(); + + private Optional totalAmount = Optional.empty(); + + private Optional currency = Optional.empty(); + + private Optional exchangeRate = Optional.empty(); + + private Optional inclusiveOfTax = Optional.empty(); + + private Optional company = Optional.empty(); + + private Optional>> trackingCategories = + Optional.empty(); + + private Optional> appliedToLines = Optional.empty(); + + private Optional accountingPeriod = Optional.empty(); + + private Optional> integrationParams = Optional.empty(); + + private Optional> linkedAccountParams = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(VendorCreditRequest other) { + number(other.getNumber()); + transactionDate(other.getTransactionDate()); + vendor(other.getVendor()); + totalAmount(other.getTotalAmount()); + currency(other.getCurrency()); + exchangeRate(other.getExchangeRate()); + inclusiveOfTax(other.getInclusiveOfTax()); + company(other.getCompany()); + trackingCategories(other.getTrackingCategories()); + appliedToLines(other.getAppliedToLines()); + accountingPeriod(other.getAccountingPeriod()); + integrationParams(other.getIntegrationParams()); + linkedAccountParams(other.getLinkedAccountParams()); + return this; + } + + @JsonSetter(value = "number", nulls = Nulls.SKIP) + public Builder number(Optional number) { + this.number = number; + return this; + } + + public Builder number(String number) { + this.number = Optional.of(number); + return this; + } + + @JsonSetter(value = "transaction_date", nulls = Nulls.SKIP) + public Builder transactionDate(Optional transactionDate) { + this.transactionDate = transactionDate; + return this; + } + + public Builder transactionDate(OffsetDateTime transactionDate) { + this.transactionDate = Optional.of(transactionDate); + return this; + } + + @JsonSetter(value = "vendor", nulls = Nulls.SKIP) + public Builder vendor(Optional vendor) { + this.vendor = vendor; + return this; + } + + public Builder vendor(VendorCreditRequestVendor vendor) { + this.vendor = Optional.of(vendor); + return this; + } + + @JsonSetter(value = "total_amount", nulls = Nulls.SKIP) + public Builder totalAmount(Optional totalAmount) { + this.totalAmount = totalAmount; + return this; + } + + public Builder totalAmount(Double totalAmount) { + this.totalAmount = Optional.of(totalAmount); + return this; + } + + @JsonSetter(value = "currency", nulls = Nulls.SKIP) + public Builder currency(Optional currency) { + this.currency = currency; + return this; + } + + public Builder currency(VendorCreditRequestCurrency currency) { + this.currency = Optional.of(currency); + return this; + } + + @JsonSetter(value = "exchange_rate", nulls = Nulls.SKIP) + public Builder exchangeRate(Optional exchangeRate) { + this.exchangeRate = exchangeRate; + return this; + } + + public Builder exchangeRate(String exchangeRate) { + this.exchangeRate = Optional.of(exchangeRate); + return this; + } + + @JsonSetter(value = "inclusive_of_tax", nulls = Nulls.SKIP) + public Builder inclusiveOfTax(Optional inclusiveOfTax) { + this.inclusiveOfTax = inclusiveOfTax; + return this; + } + + public Builder inclusiveOfTax(Boolean inclusiveOfTax) { + this.inclusiveOfTax = Optional.of(inclusiveOfTax); + return this; + } + + @JsonSetter(value = "company", nulls = Nulls.SKIP) + public Builder company(Optional company) { + this.company = company; + return this; + } + + public Builder company(VendorCreditRequestCompany company) { + this.company = Optional.of(company); + return this; + } + + @JsonSetter(value = "tracking_categories", nulls = Nulls.SKIP) + public Builder trackingCategories( + Optional>> trackingCategories) { + this.trackingCategories = trackingCategories; + return this; + } + + public Builder trackingCategories( + List> trackingCategories) { + this.trackingCategories = Optional.of(trackingCategories); + return this; + } + + @JsonSetter(value = "applied_to_lines", nulls = Nulls.SKIP) + public Builder appliedToLines(Optional> appliedToLines) { + this.appliedToLines = appliedToLines; + return this; + } + + public Builder appliedToLines(List appliedToLines) { + this.appliedToLines = Optional.of(appliedToLines); + return this; + } + + @JsonSetter(value = "accounting_period", nulls = Nulls.SKIP) + public Builder accountingPeriod(Optional accountingPeriod) { + this.accountingPeriod = accountingPeriod; + return this; + } + + public Builder accountingPeriod(VendorCreditRequestAccountingPeriod accountingPeriod) { + this.accountingPeriod = Optional.of(accountingPeriod); + return this; + } + + @JsonSetter(value = "integration_params", nulls = Nulls.SKIP) + public Builder integrationParams(Optional> integrationParams) { + this.integrationParams = integrationParams; + return this; + } + + public Builder integrationParams(Map integrationParams) { + this.integrationParams = Optional.of(integrationParams); + return this; + } + + @JsonSetter(value = "linked_account_params", nulls = Nulls.SKIP) + public Builder linkedAccountParams(Optional> linkedAccountParams) { + this.linkedAccountParams = linkedAccountParams; + return this; + } + + public Builder linkedAccountParams(Map linkedAccountParams) { + this.linkedAccountParams = Optional.of(linkedAccountParams); + return this; + } + + public VendorCreditRequest build() { + return new VendorCreditRequest( + number, + transactionDate, + vendor, + totalAmount, + currency, + exchangeRate, + inclusiveOfTax, + company, + trackingCategories, + appliedToLines, + accountingPeriod, + integrationParams, + linkedAccountParams, + additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestAccountingPeriod.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestAccountingPeriod.java new file mode 100644 index 000000000..17d40f347 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestAccountingPeriod.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditRequestAccountingPeriod.Deserializer.class) +public final class VendorCreditRequestAccountingPeriod { + private final Object value; + + private final int type; + + private VendorCreditRequestAccountingPeriod(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((AccountingPeriod) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditRequestAccountingPeriod + && equalTo((VendorCreditRequestAccountingPeriod) other); + } + + private boolean equalTo(VendorCreditRequestAccountingPeriod other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditRequestAccountingPeriod of(String value) { + return new VendorCreditRequestAccountingPeriod(value, 0); + } + + public static VendorCreditRequestAccountingPeriod of(AccountingPeriod value) { + return new VendorCreditRequestAccountingPeriod(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(AccountingPeriod value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditRequestAccountingPeriod.class); + } + + @java.lang.Override + public VendorCreditRequestAccountingPeriod deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, AccountingPeriod.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestCompany.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestCompany.java new file mode 100644 index 000000000..6448a847c --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestCompany.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditRequestCompany.Deserializer.class) +public final class VendorCreditRequestCompany { + private final Object value; + + private final int type; + + private VendorCreditRequestCompany(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((CompanyInfo) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditRequestCompany && equalTo((VendorCreditRequestCompany) other); + } + + private boolean equalTo(VendorCreditRequestCompany other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditRequestCompany of(String value) { + return new VendorCreditRequestCompany(value, 0); + } + + public static VendorCreditRequestCompany of(CompanyInfo value) { + return new VendorCreditRequestCompany(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(CompanyInfo value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditRequestCompany.class); + } + + @java.lang.Override + public VendorCreditRequestCompany deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, CompanyInfo.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestCurrency.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestCurrency.java new file mode 100644 index 000000000..1457d0a2e --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestCurrency.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditRequestCurrency.Deserializer.class) +public final class VendorCreditRequestCurrency { + private final Object value; + + private final int type; + + private VendorCreditRequestCurrency(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((TransactionCurrencyEnum) this.value); + } else if (this.type == 1) { + return visitor.visit((String) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditRequestCurrency && equalTo((VendorCreditRequestCurrency) other); + } + + private boolean equalTo(VendorCreditRequestCurrency other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditRequestCurrency of(TransactionCurrencyEnum value) { + return new VendorCreditRequestCurrency(value, 0); + } + + public static VendorCreditRequestCurrency of(String value) { + return new VendorCreditRequestCurrency(value, 1); + } + + public interface Visitor { + T visit(TransactionCurrencyEnum value); + + T visit(String value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditRequestCurrency.class); + } + + @java.lang.Override + public VendorCreditRequestCurrency deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TransactionCurrencyEnum.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestTrackingCategoriesItem.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestTrackingCategoriesItem.java new file mode 100644 index 000000000..c8e5cda3a --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestTrackingCategoriesItem.java @@ -0,0 +1,96 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditRequestTrackingCategoriesItem.Deserializer.class) +public final class VendorCreditRequestTrackingCategoriesItem { + private final Object value; + + private final int type; + + private VendorCreditRequestTrackingCategoriesItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((TrackingCategory) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditRequestTrackingCategoriesItem + && equalTo((VendorCreditRequestTrackingCategoriesItem) other); + } + + private boolean equalTo(VendorCreditRequestTrackingCategoriesItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditRequestTrackingCategoriesItem of(String value) { + return new VendorCreditRequestTrackingCategoriesItem(value, 0); + } + + public static VendorCreditRequestTrackingCategoriesItem of(TrackingCategory value) { + return new VendorCreditRequestTrackingCategoriesItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(TrackingCategory value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditRequestTrackingCategoriesItem.class); + } + + @java.lang.Override + public VendorCreditRequestTrackingCategoriesItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, TrackingCategory.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestVendor.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestVendor.java new file mode 100644 index 000000000..8ef7e0754 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditRequestVendor.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = VendorCreditRequestVendor.Deserializer.class) +public final class VendorCreditRequestVendor { + private final Object value; + + private final int type; + + private VendorCreditRequestVendor(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Contact) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditRequestVendor && equalTo((VendorCreditRequestVendor) other); + } + + private boolean equalTo(VendorCreditRequestVendor other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static VendorCreditRequestVendor of(String value) { + return new VendorCreditRequestVendor(value, 0); + } + + public static VendorCreditRequestVendor of(Contact value) { + return new VendorCreditRequestVendor(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Contact value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(VendorCreditRequestVendor.class); + } + + @java.lang.Override + public VendorCreditRequestVendor deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Contact.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/types/VendorCreditResponse.java b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditResponse.java new file mode 100644 index 000000000..a64f2eca4 --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/types/VendorCreditResponse.java @@ -0,0 +1,215 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = VendorCreditResponse.Builder.class) +public final class VendorCreditResponse { + private final VendorCredit model; + + private final List warnings; + + private final List errors; + + private final Optional> logs; + + private final Map additionalProperties; + + private VendorCreditResponse( + VendorCredit model, + List warnings, + List errors, + Optional> logs, + Map additionalProperties) { + this.model = model; + this.warnings = warnings; + this.errors = errors; + this.logs = logs; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("model") + public VendorCredit getModel() { + return model; + } + + @JsonProperty("warnings") + public List getWarnings() { + return warnings; + } + + @JsonProperty("errors") + public List getErrors() { + return errors; + } + + @JsonProperty("logs") + public Optional> getLogs() { + return logs; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditResponse && equalTo((VendorCreditResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(VendorCreditResponse other) { + return model.equals(other.model) + && warnings.equals(other.warnings) + && errors.equals(other.errors) + && logs.equals(other.logs); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.model, this.warnings, this.errors, this.logs); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(VendorCredit model); + + Builder from(VendorCreditResponse other); + } + + public interface _FinalStage { + VendorCreditResponse build(); + + _FinalStage warnings(List warnings); + + _FinalStage addWarnings(WarningValidationProblem warnings); + + _FinalStage addAllWarnings(List warnings); + + _FinalStage errors(List errors); + + _FinalStage addErrors(ErrorValidationProblem errors); + + _FinalStage addAllErrors(List errors); + + _FinalStage logs(Optional> logs); + + _FinalStage logs(List logs); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private VendorCredit model; + + private Optional> logs = Optional.empty(); + + private List errors = new ArrayList<>(); + + private List warnings = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(VendorCreditResponse other) { + model(other.getModel()); + warnings(other.getWarnings()); + errors(other.getErrors()); + logs(other.getLogs()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(VendorCredit model) { + this.model = model; + return this; + } + + @java.lang.Override + public _FinalStage logs(List logs) { + this.logs = Optional.of(logs); + return this; + } + + @java.lang.Override + @JsonSetter(value = "logs", nulls = Nulls.SKIP) + public _FinalStage logs(Optional> logs) { + this.logs = logs; + return this; + } + + @java.lang.Override + public _FinalStage addAllErrors(List errors) { + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addErrors(ErrorValidationProblem errors) { + this.errors.add(errors); + return this; + } + + @java.lang.Override + @JsonSetter(value = "errors", nulls = Nulls.SKIP) + public _FinalStage errors(List errors) { + this.errors.clear(); + this.errors.addAll(errors); + return this; + } + + @java.lang.Override + public _FinalStage addAllWarnings(List warnings) { + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public _FinalStage addWarnings(WarningValidationProblem warnings) { + this.warnings.add(warnings); + return this; + } + + @java.lang.Override + @JsonSetter(value = "warnings", nulls = Nulls.SKIP) + public _FinalStage warnings(List warnings) { + this.warnings.clear(); + this.warnings.addAll(warnings); + return this; + } + + @java.lang.Override + public VendorCreditResponse build() { + return new VendorCreditResponse(model, warnings, errors, logs, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/accounting/vendorcredits/VendorCreditsClient.java b/src/main/java/com/merge/api/resources/accounting/vendorcredits/VendorCreditsClient.java index ba7ee11a1..326e8dd40 100644 --- a/src/main/java/com/merge/api/resources/accounting/vendorcredits/VendorCreditsClient.java +++ b/src/main/java/com/merge/api/resources/accounting/vendorcredits/VendorCreditsClient.java @@ -5,18 +5,25 @@ import com.merge.api.core.ApiError; import com.merge.api.core.ClientOptions; +import com.merge.api.core.MediaTypes; import com.merge.api.core.MergeException; import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; +import com.merge.api.resources.accounting.types.MetaResponse; import com.merge.api.resources.accounting.types.PaginatedVendorCreditList; import com.merge.api.resources.accounting.types.VendorCredit; +import com.merge.api.resources.accounting.types.VendorCreditResponse; +import com.merge.api.resources.accounting.vendorcredits.requests.VendorCreditEndpointRequest; import com.merge.api.resources.accounting.vendorcredits.requests.VendorCreditsListRequest; import com.merge.api.resources.accounting.vendorcredits.requests.VendorCreditsRetrieveRequest; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; +import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.ResponseBody; @@ -127,6 +134,61 @@ public PaginatedVendorCreditList list(VendorCreditsListRequest request, RequestO } } + /** + * Creates a VendorCredit object with the given values. + */ + public VendorCreditResponse create(VendorCreditEndpointRequest request) { + return create(request, null); + } + + /** + * Creates a VendorCredit object with the given values. + */ + public VendorCreditResponse create(VendorCreditEndpointRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/vendor-credits"); + if (request.getIsDebugMode().isPresent()) { + httpUrl.addQueryParameter( + "is_debug_mode", request.getIsDebugMode().get().toString()); + } + if (request.getRunAsync().isPresent()) { + httpUrl.addQueryParameter("run_async", request.getRunAsync().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("model", request.getModel()); + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), VendorCreditResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } + /** * Returns a VendorCredit object with the given id. */ @@ -180,4 +242,44 @@ public VendorCredit retrieve(String id, VendorCreditsRetrieveRequest request, Re throw new MergeException("Network error executing HTTP request", e); } } + + /** + * Returns metadata for VendorCredit POSTs. + */ + public MetaResponse metaPostRetrieve() { + return metaPostRetrieve(null); + } + + /** + * Returns metadata for VendorCredit POSTs. + */ + public MetaResponse metaPostRetrieve(RequestOptions requestOptions) { + HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("accounting/v1/vendor-credits/meta/post") + .build(); + Request okhttpRequest = new Request.Builder() + .url(httpUrl) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), MetaResponse.class); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + throw new ApiError( + "Error with status code " + response.code(), + response.code(), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); + } catch (IOException e) { + throw new MergeException("Network error executing HTTP request", e); + } + } } diff --git a/src/main/java/com/merge/api/resources/accounting/vendorcredits/requests/VendorCreditEndpointRequest.java b/src/main/java/com/merge/api/resources/accounting/vendorcredits/requests/VendorCreditEndpointRequest.java new file mode 100644 index 000000000..a7e701b8b --- /dev/null +++ b/src/main/java/com/merge/api/resources/accounting/vendorcredits/requests/VendorCreditEndpointRequest.java @@ -0,0 +1,178 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.accounting.vendorcredits.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.accounting.types.VendorCreditRequest; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = VendorCreditEndpointRequest.Builder.class) +public final class VendorCreditEndpointRequest { + private final Optional isDebugMode; + + private final Optional runAsync; + + private final VendorCreditRequest model; + + private final Map additionalProperties; + + private VendorCreditEndpointRequest( + Optional isDebugMode, + Optional runAsync, + VendorCreditRequest model, + Map additionalProperties) { + this.isDebugMode = isDebugMode; + this.runAsync = runAsync; + this.model = model; + this.additionalProperties = additionalProperties; + } + + /** + * @return Whether to include debug fields (such as log file links) in the response. + */ + @JsonProperty("is_debug_mode") + public Optional getIsDebugMode() { + return isDebugMode; + } + + /** + * @return Whether or not third-party updates should be run asynchronously. + */ + @JsonProperty("run_async") + public Optional getRunAsync() { + return runAsync; + } + + @JsonProperty("model") + public VendorCreditRequest getModel() { + return model; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof VendorCreditEndpointRequest && equalTo((VendorCreditEndpointRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(VendorCreditEndpointRequest other) { + return isDebugMode.equals(other.isDebugMode) && runAsync.equals(other.runAsync) && model.equals(other.model); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.isDebugMode, this.runAsync, this.model); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ModelStage builder() { + return new Builder(); + } + + public interface ModelStage { + _FinalStage model(VendorCreditRequest model); + + Builder from(VendorCreditEndpointRequest other); + } + + public interface _FinalStage { + VendorCreditEndpointRequest build(); + + _FinalStage isDebugMode(Optional isDebugMode); + + _FinalStage isDebugMode(Boolean isDebugMode); + + _FinalStage runAsync(Optional runAsync); + + _FinalStage runAsync(Boolean runAsync); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ModelStage, _FinalStage { + private VendorCreditRequest model; + + private Optional runAsync = Optional.empty(); + + private Optional isDebugMode = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(VendorCreditEndpointRequest other) { + isDebugMode(other.getIsDebugMode()); + runAsync(other.getRunAsync()); + model(other.getModel()); + return this; + } + + @java.lang.Override + @JsonSetter("model") + public _FinalStage model(VendorCreditRequest model) { + this.model = model; + return this; + } + + /** + *

                    Whether or not third-party updates should be run asynchronously.

                    + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage runAsync(Boolean runAsync) { + this.runAsync = Optional.of(runAsync); + return this; + } + + @java.lang.Override + @JsonSetter(value = "run_async", nulls = Nulls.SKIP) + public _FinalStage runAsync(Optional runAsync) { + this.runAsync = runAsync; + return this; + } + + /** + *

                    Whether to include debug fields (such as log file links) in the response.

                    + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage isDebugMode(Boolean isDebugMode) { + this.isDebugMode = Optional.of(isDebugMode); + return this; + } + + @java.lang.Override + @JsonSetter(value = "is_debug_mode", nulls = Nulls.SKIP) + public _FinalStage isDebugMode(Optional isDebugMode) { + this.isDebugMode = isDebugMode; + return this; + } + + @java.lang.Override + public VendorCreditEndpointRequest build() { + return new VendorCreditEndpointRequest(isDebugMode, runAsync, model, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ats/applications/ApplicationsClient.java b/src/main/java/com/merge/api/resources/ats/applications/ApplicationsClient.java index 332fa1cad..f0763c52e 100644 --- a/src/main/java/com/merge/api/resources/ats/applications/ApplicationsClient.java +++ b/src/main/java/com/merge/api/resources/ats/applications/ApplicationsClient.java @@ -146,6 +146,8 @@ public PaginatedApplicationList list(ApplicationsListRequest request, RequestOpt /** * Creates an Application object with the given values. + * For certain integrations, but not all, our API detects duplicate candidates and will associate applications with existing records in the third-party. New candidates are created and automatically linked to the application. + *

                    See our Help Center article for detailed support per integration.

                    */ public ApplicationResponse create(ApplicationEndpointRequest request) { return create(request, null); @@ -153,6 +155,8 @@ public ApplicationResponse create(ApplicationEndpointRequest request) { /** * Creates an Application object with the given values. + * For certain integrations, but not all, our API detects duplicate candidates and will associate applications with existing records in the third-party. New candidates are created and automatically linked to the application. + *

                    See our Help Center article for detailed support per integration.

                    */ public ApplicationResponse create(ApplicationEndpointRequest request, RequestOptions requestOptions) { HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) diff --git a/src/main/java/com/merge/api/resources/ats/audittrail/requests/AuditTrailListRequest.java b/src/main/java/com/merge/api/resources/ats/audittrail/requests/AuditTrailListRequest.java index 6f292f89d..1f37557ce 100644 --- a/src/main/java/com/merge/api/resources/ats/audittrail/requests/AuditTrailListRequest.java +++ b/src/main/java/com/merge/api/resources/ats/audittrail/requests/AuditTrailListRequest.java @@ -68,7 +68,7 @@ public Optional getEndDate() { } /** - * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED + * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED */ @JsonProperty("event_type") public Optional getEventType() { diff --git a/src/main/java/com/merge/api/resources/ats/fieldmapping/FieldMappingClient.java b/src/main/java/com/merge/api/resources/ats/fieldmapping/FieldMappingClient.java index 7e092b37e..73757bf9e 100644 --- a/src/main/java/com/merge/api/resources/ats/fieldmapping/FieldMappingClient.java +++ b/src/main/java/com/merge/api/resources/ats/fieldmapping/FieldMappingClient.java @@ -11,6 +11,7 @@ import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; import com.merge.api.resources.ats.fieldmapping.requests.CreateFieldMappingRequest; +import com.merge.api.resources.ats.fieldmapping.requests.FieldMappingsRetrieveRequest; import com.merge.api.resources.ats.fieldmapping.requests.PatchedEditFieldMappingRequest; import com.merge.api.resources.ats.fieldmapping.requests.RemoteFieldsRetrieveRequest; import com.merge.api.resources.ats.types.ExternalTargetFieldApiResponse; @@ -18,6 +19,8 @@ import com.merge.api.resources.ats.types.FieldMappingInstanceResponse; import com.merge.api.resources.ats.types.RemoteFieldApiResponse; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -37,23 +40,35 @@ public FieldMappingClient(ClientOptions clientOptions) { * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ public FieldMappingApiInstanceResponse fieldMappingsRetrieve() { - return fieldMappingsRetrieve(null); + return fieldMappingsRetrieve(FieldMappingsRetrieveRequest.builder().build()); } /** * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ - public FieldMappingApiInstanceResponse fieldMappingsRetrieve(RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + public FieldMappingApiInstanceResponse fieldMappingsRetrieve(FieldMappingsRetrieveRequest request) { + return fieldMappingsRetrieve(request, null); + } + + /** + * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. + */ + public FieldMappingApiInstanceResponse fieldMappingsRetrieve( + FieldMappingsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("ats/v1/field-mappings") - .build(); - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + .addPathSegments("ats/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("GET", null) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -86,23 +101,34 @@ public FieldMappingInstanceResponse fieldMappingsCreate(CreateFieldMappingReques */ public FieldMappingInstanceResponse fieldMappingsCreate( CreateFieldMappingRequest request, RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("ats/v1/field-mappings") - .build(); + .addPathSegments("ats/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("target_field_name", request.getTargetFieldName()); + properties.put("target_field_description", request.getTargetFieldDescription()); + properties.put("remote_field_traversal_path", request.getRemoteFieldTraversalPath()); + properties.put("remote_method", request.getRemoteMethod()); + properties.put("remote_url_path", request.getRemoteUrlPath()); + properties.put("common_model_name", request.getCommonModelName()); RequestBody body; try { body = RequestBody.create( - ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); - } catch (JsonProcessingException e) { - throw new MergeException("Failed to serialize request", e); + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); } - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("POST", body) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); diff --git a/src/main/java/com/merge/api/resources/ats/fieldmapping/requests/CreateFieldMappingRequest.java b/src/main/java/com/merge/api/resources/ats/fieldmapping/requests/CreateFieldMappingRequest.java index b6ba8970e..eb4fe5f72 100644 --- a/src/main/java/com/merge/api/resources/ats/fieldmapping/requests/CreateFieldMappingRequest.java +++ b/src/main/java/com/merge/api/resources/ats/fieldmapping/requests/CreateFieldMappingRequest.java @@ -18,10 +18,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = CreateFieldMappingRequest.Builder.class) public final class CreateFieldMappingRequest { + private final Optional excludeRemoteFieldMetadata; + private final String targetFieldName; private final String targetFieldDescription; @@ -37,6 +40,7 @@ public final class CreateFieldMappingRequest { private final Map additionalProperties; private CreateFieldMappingRequest( + Optional excludeRemoteFieldMetadata, String targetFieldName, String targetFieldDescription, List remoteFieldTraversalPath, @@ -44,6 +48,7 @@ private CreateFieldMappingRequest( String remoteUrlPath, String commonModelName, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; this.targetFieldName = targetFieldName; this.targetFieldDescription = targetFieldDescription; this.remoteFieldTraversalPath = remoteFieldTraversalPath; @@ -53,6 +58,14 @@ private CreateFieldMappingRequest( this.additionalProperties = additionalProperties; } + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + /** * @return The name of the target field you want this remote field to map to. */ @@ -113,7 +126,8 @@ public Map getAdditionalProperties() { } private boolean equalTo(CreateFieldMappingRequest other) { - return targetFieldName.equals(other.targetFieldName) + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata) + && targetFieldName.equals(other.targetFieldName) && targetFieldDescription.equals(other.targetFieldDescription) && remoteFieldTraversalPath.equals(other.remoteFieldTraversalPath) && remoteMethod.equals(other.remoteMethod) @@ -124,6 +138,7 @@ private boolean equalTo(CreateFieldMappingRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( + this.excludeRemoteFieldMetadata, this.targetFieldName, this.targetFieldDescription, this.remoteFieldTraversalPath, @@ -166,6 +181,10 @@ public interface CommonModelNameStage { public interface _FinalStage { CreateFieldMappingRequest build(); + _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata); + + _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata); + _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalPath); _FinalStage addRemoteFieldTraversalPath(JsonNode remoteFieldTraversalPath); @@ -193,6 +212,8 @@ public static final class Builder private List remoteFieldTraversalPath = new ArrayList<>(); + private Optional excludeRemoteFieldMetadata = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -200,6 +221,7 @@ private Builder() {} @java.lang.Override public Builder from(CreateFieldMappingRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); targetFieldName(other.getTargetFieldName()); targetFieldDescription(other.getTargetFieldDescription()); remoteFieldTraversalPath(other.getRemoteFieldTraversalPath()); @@ -292,9 +314,27 @@ public _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalP return this; } + /** + *

                    If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations.

                    + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + @java.lang.Override + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + @java.lang.Override public CreateFieldMappingRequest build() { return new CreateFieldMappingRequest( + excludeRemoteFieldMetadata, targetFieldName, targetFieldDescription, remoteFieldTraversalPath, diff --git a/src/main/java/com/merge/api/resources/ats/fieldmapping/requests/FieldMappingsRetrieveRequest.java b/src/main/java/com/merge/api/resources/ats/fieldmapping/requests/FieldMappingsRetrieveRequest.java new file mode 100644 index 000000000..f333e0ac2 --- /dev/null +++ b/src/main/java/com/merge/api/resources/ats/fieldmapping/requests/FieldMappingsRetrieveRequest.java @@ -0,0 +1,99 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ats.fieldmapping.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = FieldMappingsRetrieveRequest.Builder.class) +public final class FieldMappingsRetrieveRequest { + private final Optional excludeRemoteFieldMetadata; + + private final Map additionalProperties; + + private FieldMappingsRetrieveRequest( + Optional excludeRemoteFieldMetadata, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + this.additionalProperties = additionalProperties; + } + + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof FieldMappingsRetrieveRequest && equalTo((FieldMappingsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(FieldMappingsRetrieveRequest other) { + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional excludeRemoteFieldMetadata = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(FieldMappingsRetrieveRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); + return this; + } + + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public Builder excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + + public Builder excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + public FieldMappingsRetrieveRequest build() { + return new FieldMappingsRetrieveRequest(excludeRemoteFieldMetadata, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ats/linktoken/requests/EndUserDetailsRequest.java b/src/main/java/com/merge/api/resources/ats/linktoken/requests/EndUserDetailsRequest.java index 3b4cb03df..7c7ba01b4 100644 --- a/src/main/java/com/merge/api/resources/ats/linktoken/requests/EndUserDetailsRequest.java +++ b/src/main/java/com/merge/api/resources/ats/linktoken/requests/EndUserDetailsRequest.java @@ -50,6 +50,8 @@ public final class EndUserDetailsRequest { private final Optional language; + private final Optional areSyncsDisabled; + private final Optional> integrationSpecificConfig; private final Map additionalProperties; @@ -67,6 +69,7 @@ private EndUserDetailsRequest( Optional>>> categoryCommonModelScopes, Optional language, + Optional areSyncsDisabled, Optional> integrationSpecificConfig, Map additionalProperties) { this.endUserEmailAddress = endUserEmailAddress; @@ -80,6 +83,7 @@ private EndUserDetailsRequest( this.commonModels = commonModels; this.categoryCommonModelScopes = categoryCommonModelScopes; this.language = language; + this.areSyncsDisabled = areSyncsDisabled; this.integrationSpecificConfig = integrationSpecificConfig; this.additionalProperties = additionalProperties; } @@ -177,6 +181,14 @@ public Optional getLanguage() { return language; } + /** + * @return The boolean that indicates whether initial, periodic, and force syncs will be disabled. + */ + @JsonProperty("are_syncs_disabled") + public Optional getAreSyncsDisabled() { + return areSyncsDisabled; + } + /** * @return A JSON object containing integration-specific configuration options. */ @@ -208,6 +220,7 @@ private boolean equalTo(EndUserDetailsRequest other) { && commonModels.equals(other.commonModels) && categoryCommonModelScopes.equals(other.categoryCommonModelScopes) && language.equals(other.language) + && areSyncsDisabled.equals(other.areSyncsDisabled) && integrationSpecificConfig.equals(other.integrationSpecificConfig); } @@ -225,6 +238,7 @@ public int hashCode() { this.commonModels, this.categoryCommonModelScopes, this.language, + this.areSyncsDisabled, this.integrationSpecificConfig); } @@ -291,6 +305,10 @@ _FinalStage categoryCommonModelScopes( _FinalStage language(LanguageEnum language); + _FinalStage areSyncsDisabled(Optional areSyncsDisabled); + + _FinalStage areSyncsDisabled(Boolean areSyncsDisabled); + _FinalStage integrationSpecificConfig(Optional> integrationSpecificConfig); _FinalStage integrationSpecificConfig(Map integrationSpecificConfig); @@ -307,6 +325,8 @@ public static final class Builder private Optional> integrationSpecificConfig = Optional.empty(); + private Optional areSyncsDisabled = Optional.empty(); + private Optional language = Optional.empty(); private Optional>>> @@ -342,6 +362,7 @@ public Builder from(EndUserDetailsRequest other) { commonModels(other.getCommonModels()); categoryCommonModelScopes(other.getCategoryCommonModelScopes()); language(other.getLanguage()); + areSyncsDisabled(other.getAreSyncsDisabled()); integrationSpecificConfig(other.getIntegrationSpecificConfig()); return this; } @@ -396,6 +417,23 @@ public _FinalStage integrationSpecificConfig(Optional> int return this; } + /** + *

                    The boolean that indicates whether initial, periodic, and force syncs will be disabled.

                    + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage areSyncsDisabled(Boolean areSyncsDisabled) { + this.areSyncsDisabled = Optional.of(areSyncsDisabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "are_syncs_disabled", nulls = Nulls.SKIP) + public _FinalStage areSyncsDisabled(Optional areSyncsDisabled) { + this.areSyncsDisabled = areSyncsDisabled; + return this; + } + /** *

                    The following subset of IETF language tags can be used to configure localization.

                    *
                      @@ -564,6 +602,7 @@ public EndUserDetailsRequest build() { commonModels, categoryCommonModelScopes, language, + areSyncsDisabled, integrationSpecificConfig, additionalProperties); } diff --git a/src/main/java/com/merge/api/resources/ats/types/AuditLogEvent.java b/src/main/java/com/merge/api/resources/ats/types/AuditLogEvent.java index 209a28a09..dc4982011 100644 --- a/src/main/java/com/merge/api/resources/ats/types/AuditLogEvent.java +++ b/src/main/java/com/merge/api/resources/ats/types/AuditLogEvent.java @@ -136,6 +136,9 @@ public String getIpAddress() { *
                    • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                    • *
                    • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                    • *
                    • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                    • + *
                    • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                    • + *
                    • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                    • + *
                    • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                    • *
                    • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                    • *
                    • MUTED_ISSUE - MUTED_ISSUE
                    • *
                    • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                    • @@ -339,6 +342,9 @@ public EventTypeStage ipAddress(String ipAddress) { *
                    • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                    • *
                    • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                    • *
                    • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                    • + *
                    • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                    • + *
                    • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                    • + *
                    • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                    • *
                    • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                    • *
                    • MUTED_ISSUE - MUTED_ISSUE
                    • *
                    • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                    • diff --git a/src/main/java/com/merge/api/resources/ats/types/EventTypeEnum.java b/src/main/java/com/merge/api/resources/ats/types/EventTypeEnum.java index 129e2a98a..cbbb99e0a 100644 --- a/src/main/java/com/merge/api/resources/ats/types/EventTypeEnum.java +++ b/src/main/java/com/merge/api/resources/ats/types/EventTypeEnum.java @@ -68,6 +68,12 @@ public enum EventTypeEnum { DELETED_LINKED_ACCOUNT_FIELD_MAPPING("DELETED_LINKED_ACCOUNT_FIELD_MAPPING"), + CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + FORCED_LINKED_ACCOUNT_RESYNC("FORCED_LINKED_ACCOUNT_RESYNC"), MUTED_ISSUE("MUTED_ISSUE"), diff --git a/src/main/java/com/merge/api/resources/ats/types/FieldMappingApiInstanceRemoteField.java b/src/main/java/com/merge/api/resources/ats/types/FieldMappingApiInstanceRemoteField.java index 366bf9c00..51ed68eb5 100644 --- a/src/main/java/com/merge/api/resources/ats/types/FieldMappingApiInstanceRemoteField.java +++ b/src/main/java/com/merge/api/resources/ats/types/FieldMappingApiInstanceRemoteField.java @@ -14,24 +14,24 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldMappingApiInstanceRemoteField.Builder.class) public final class FieldMappingApiInstanceRemoteField { - private final String remoteKeyName; + private final Optional remoteKeyName; - private final Map schema; + private final Optional> schema; private final FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; private final Map additionalProperties; private FieldMappingApiInstanceRemoteField( - String remoteKeyName, - Map schema, + Optional remoteKeyName, + Optional> schema, FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo, Map additionalProperties) { this.remoteKeyName = remoteKeyName; @@ -41,12 +41,12 @@ private FieldMappingApiInstanceRemoteField( } @JsonProperty("remote_key_name") - public String getRemoteKeyName() { + public Optional getRemoteKeyName() { return remoteKeyName; } @JsonProperty("schema") - public Map getSchema() { + public Optional> getSchema() { return schema; } @@ -83,37 +83,35 @@ public String toString() { return ObjectMappers.stringify(this); } - public static RemoteKeyNameStage builder() { + public static RemoteEndpointInfoStage builder() { return new Builder(); } - public interface RemoteKeyNameStage { - RemoteEndpointInfoStage remoteKeyName(String remoteKeyName); - - Builder from(FieldMappingApiInstanceRemoteField other); - } - public interface RemoteEndpointInfoStage { _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo); + + Builder from(FieldMappingApiInstanceRemoteField other); } public interface _FinalStage { FieldMappingApiInstanceRemoteField build(); - _FinalStage schema(Map schema); + _FinalStage remoteKeyName(Optional remoteKeyName); + + _FinalStage remoteKeyName(String remoteKeyName); - _FinalStage putAllSchema(Map schema); + _FinalStage schema(Optional> schema); - _FinalStage schema(String key, JsonNode value); + _FinalStage schema(Map schema); } @JsonIgnoreProperties(ignoreUnknown = true) - public static final class Builder implements RemoteKeyNameStage, RemoteEndpointInfoStage, _FinalStage { - private String remoteKeyName; - + public static final class Builder implements RemoteEndpointInfoStage, _FinalStage { private FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; - private Map schema = new LinkedHashMap<>(); + private Optional> schema = Optional.empty(); + + private Optional remoteKeyName = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -129,36 +127,35 @@ public Builder from(FieldMappingApiInstanceRemoteField other) { } @java.lang.Override - @JsonSetter("remote_key_name") - public RemoteEndpointInfoStage remoteKeyName(String remoteKeyName) { - this.remoteKeyName = remoteKeyName; + @JsonSetter("remote_endpoint_info") + public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { + this.remoteEndpointInfo = remoteEndpointInfo; return this; } @java.lang.Override - @JsonSetter("remote_endpoint_info") - public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { - this.remoteEndpointInfo = remoteEndpointInfo; + public _FinalStage schema(Map schema) { + this.schema = Optional.of(schema); return this; } @java.lang.Override - public _FinalStage schema(String key, JsonNode value) { - this.schema.put(key, value); + @JsonSetter(value = "schema", nulls = Nulls.SKIP) + public _FinalStage schema(Optional> schema) { + this.schema = schema; return this; } @java.lang.Override - public _FinalStage putAllSchema(Map schema) { - this.schema.putAll(schema); + public _FinalStage remoteKeyName(String remoteKeyName) { + this.remoteKeyName = Optional.of(remoteKeyName); return this; } @java.lang.Override - @JsonSetter(value = "schema", nulls = Nulls.SKIP) - public _FinalStage schema(Map schema) { - this.schema.clear(); - this.schema.putAll(schema); + @JsonSetter(value = "remote_key_name", nulls = Nulls.SKIP) + public _FinalStage remoteKeyName(Optional remoteKeyName) { + this.remoteKeyName = remoteKeyName; return this; } diff --git a/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializer.java b/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializer.java index 963ab70c5..df12c268d 100644 --- a/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializer.java +++ b/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializer.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializer.Builder.class) public final class FieldPermissionDeserializer { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializer( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -59,12 +59,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializer other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -78,9 +78,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -88,35 +88,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializer other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializer build() { - return new FieldPermissionDeserializer(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializer(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializerRequest.java b/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializerRequest.java index 6be4269bd..95d180256 100644 --- a/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializerRequest.java +++ b/src/main/java/com/merge/api/resources/ats/types/FieldPermissionDeserializerRequest.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializerRequest.Builder.class) public final class FieldPermissionDeserializerRequest { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializerRequest( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -60,12 +60,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializerRequest other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -79,9 +79,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -89,35 +89,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializerRequest other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializerRequest build() { - return new FieldPermissionDeserializerRequest(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializerRequest(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/ats/types/RemoteData.java b/src/main/java/com/merge/api/resources/ats/types/RemoteData.java index 83ff27b1c..0aa9333d6 100644 --- a/src/main/java/com/merge/api/resources/ats/types/RemoteData.java +++ b/src/main/java/com/merge/api/resources/ats/types/RemoteData.java @@ -33,6 +33,9 @@ private RemoteData(String path, Optional data, Map add this.additionalProperties = additionalProperties; } + /** + * @return The third-party API path that is being called. + */ @JsonProperty("path") public String getPath() { return path; @@ -104,6 +107,10 @@ public Builder from(RemoteData other) { return this; } + /** + *

                      The third-party API path that is being called.

                      + * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override @JsonSetter("path") public _FinalStage path(String path) { diff --git a/src/main/java/com/merge/api/resources/crm/audittrail/requests/AuditTrailListRequest.java b/src/main/java/com/merge/api/resources/crm/audittrail/requests/AuditTrailListRequest.java index 7af1d937e..f1888c816 100644 --- a/src/main/java/com/merge/api/resources/crm/audittrail/requests/AuditTrailListRequest.java +++ b/src/main/java/com/merge/api/resources/crm/audittrail/requests/AuditTrailListRequest.java @@ -68,7 +68,7 @@ public Optional getEndDate() { } /** - * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED + * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED */ @JsonProperty("event_type") public Optional getEventType() { diff --git a/src/main/java/com/merge/api/resources/crm/fieldmapping/FieldMappingClient.java b/src/main/java/com/merge/api/resources/crm/fieldmapping/FieldMappingClient.java index e2a986992..6d7b4052d 100644 --- a/src/main/java/com/merge/api/resources/crm/fieldmapping/FieldMappingClient.java +++ b/src/main/java/com/merge/api/resources/crm/fieldmapping/FieldMappingClient.java @@ -11,6 +11,7 @@ import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; import com.merge.api.resources.crm.fieldmapping.requests.CreateFieldMappingRequest; +import com.merge.api.resources.crm.fieldmapping.requests.FieldMappingsRetrieveRequest; import com.merge.api.resources.crm.fieldmapping.requests.PatchedEditFieldMappingRequest; import com.merge.api.resources.crm.fieldmapping.requests.RemoteFieldsRetrieveRequest; import com.merge.api.resources.crm.types.ExternalTargetFieldApiResponse; @@ -18,6 +19,8 @@ import com.merge.api.resources.crm.types.FieldMappingInstanceResponse; import com.merge.api.resources.crm.types.RemoteFieldApiResponse; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -37,23 +40,35 @@ public FieldMappingClient(ClientOptions clientOptions) { * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ public FieldMappingApiInstanceResponse fieldMappingsRetrieve() { - return fieldMappingsRetrieve(null); + return fieldMappingsRetrieve(FieldMappingsRetrieveRequest.builder().build()); } /** * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ - public FieldMappingApiInstanceResponse fieldMappingsRetrieve(RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + public FieldMappingApiInstanceResponse fieldMappingsRetrieve(FieldMappingsRetrieveRequest request) { + return fieldMappingsRetrieve(request, null); + } + + /** + * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. + */ + public FieldMappingApiInstanceResponse fieldMappingsRetrieve( + FieldMappingsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("crm/v1/field-mappings") - .build(); - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + .addPathSegments("crm/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("GET", null) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -86,23 +101,34 @@ public FieldMappingInstanceResponse fieldMappingsCreate(CreateFieldMappingReques */ public FieldMappingInstanceResponse fieldMappingsCreate( CreateFieldMappingRequest request, RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("crm/v1/field-mappings") - .build(); + .addPathSegments("crm/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("target_field_name", request.getTargetFieldName()); + properties.put("target_field_description", request.getTargetFieldDescription()); + properties.put("remote_field_traversal_path", request.getRemoteFieldTraversalPath()); + properties.put("remote_method", request.getRemoteMethod()); + properties.put("remote_url_path", request.getRemoteUrlPath()); + properties.put("common_model_name", request.getCommonModelName()); RequestBody body; try { body = RequestBody.create( - ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); - } catch (JsonProcessingException e) { - throw new MergeException("Failed to serialize request", e); + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); } - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("POST", body) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); diff --git a/src/main/java/com/merge/api/resources/crm/fieldmapping/requests/CreateFieldMappingRequest.java b/src/main/java/com/merge/api/resources/crm/fieldmapping/requests/CreateFieldMappingRequest.java index 1fefb76fe..2e62c4e58 100644 --- a/src/main/java/com/merge/api/resources/crm/fieldmapping/requests/CreateFieldMappingRequest.java +++ b/src/main/java/com/merge/api/resources/crm/fieldmapping/requests/CreateFieldMappingRequest.java @@ -18,10 +18,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = CreateFieldMappingRequest.Builder.class) public final class CreateFieldMappingRequest { + private final Optional excludeRemoteFieldMetadata; + private final String targetFieldName; private final String targetFieldDescription; @@ -37,6 +40,7 @@ public final class CreateFieldMappingRequest { private final Map additionalProperties; private CreateFieldMappingRequest( + Optional excludeRemoteFieldMetadata, String targetFieldName, String targetFieldDescription, List remoteFieldTraversalPath, @@ -44,6 +48,7 @@ private CreateFieldMappingRequest( String remoteUrlPath, String commonModelName, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; this.targetFieldName = targetFieldName; this.targetFieldDescription = targetFieldDescription; this.remoteFieldTraversalPath = remoteFieldTraversalPath; @@ -53,6 +58,14 @@ private CreateFieldMappingRequest( this.additionalProperties = additionalProperties; } + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + /** * @return The name of the target field you want this remote field to map to. */ @@ -113,7 +126,8 @@ public Map getAdditionalProperties() { } private boolean equalTo(CreateFieldMappingRequest other) { - return targetFieldName.equals(other.targetFieldName) + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata) + && targetFieldName.equals(other.targetFieldName) && targetFieldDescription.equals(other.targetFieldDescription) && remoteFieldTraversalPath.equals(other.remoteFieldTraversalPath) && remoteMethod.equals(other.remoteMethod) @@ -124,6 +138,7 @@ private boolean equalTo(CreateFieldMappingRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( + this.excludeRemoteFieldMetadata, this.targetFieldName, this.targetFieldDescription, this.remoteFieldTraversalPath, @@ -166,6 +181,10 @@ public interface CommonModelNameStage { public interface _FinalStage { CreateFieldMappingRequest build(); + _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata); + + _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata); + _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalPath); _FinalStage addRemoteFieldTraversalPath(JsonNode remoteFieldTraversalPath); @@ -193,6 +212,8 @@ public static final class Builder private List remoteFieldTraversalPath = new ArrayList<>(); + private Optional excludeRemoteFieldMetadata = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -200,6 +221,7 @@ private Builder() {} @java.lang.Override public Builder from(CreateFieldMappingRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); targetFieldName(other.getTargetFieldName()); targetFieldDescription(other.getTargetFieldDescription()); remoteFieldTraversalPath(other.getRemoteFieldTraversalPath()); @@ -292,9 +314,27 @@ public _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalP return this; } + /** + *

                      If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations.

                      + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + @java.lang.Override + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + @java.lang.Override public CreateFieldMappingRequest build() { return new CreateFieldMappingRequest( + excludeRemoteFieldMetadata, targetFieldName, targetFieldDescription, remoteFieldTraversalPath, diff --git a/src/main/java/com/merge/api/resources/crm/fieldmapping/requests/FieldMappingsRetrieveRequest.java b/src/main/java/com/merge/api/resources/crm/fieldmapping/requests/FieldMappingsRetrieveRequest.java new file mode 100644 index 000000000..9b2e9f341 --- /dev/null +++ b/src/main/java/com/merge/api/resources/crm/fieldmapping/requests/FieldMappingsRetrieveRequest.java @@ -0,0 +1,99 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.crm.fieldmapping.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = FieldMappingsRetrieveRequest.Builder.class) +public final class FieldMappingsRetrieveRequest { + private final Optional excludeRemoteFieldMetadata; + + private final Map additionalProperties; + + private FieldMappingsRetrieveRequest( + Optional excludeRemoteFieldMetadata, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + this.additionalProperties = additionalProperties; + } + + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof FieldMappingsRetrieveRequest && equalTo((FieldMappingsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(FieldMappingsRetrieveRequest other) { + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional excludeRemoteFieldMetadata = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(FieldMappingsRetrieveRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); + return this; + } + + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public Builder excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + + public Builder excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + public FieldMappingsRetrieveRequest build() { + return new FieldMappingsRetrieveRequest(excludeRemoteFieldMetadata, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/crm/linktoken/requests/EndUserDetailsRequest.java b/src/main/java/com/merge/api/resources/crm/linktoken/requests/EndUserDetailsRequest.java index 8e992f3cd..cfa6bba30 100644 --- a/src/main/java/com/merge/api/resources/crm/linktoken/requests/EndUserDetailsRequest.java +++ b/src/main/java/com/merge/api/resources/crm/linktoken/requests/EndUserDetailsRequest.java @@ -50,6 +50,8 @@ public final class EndUserDetailsRequest { private final Optional language; + private final Optional areSyncsDisabled; + private final Optional> integrationSpecificConfig; private final Map additionalProperties; @@ -67,6 +69,7 @@ private EndUserDetailsRequest( Optional>>> categoryCommonModelScopes, Optional language, + Optional areSyncsDisabled, Optional> integrationSpecificConfig, Map additionalProperties) { this.endUserEmailAddress = endUserEmailAddress; @@ -80,6 +83,7 @@ private EndUserDetailsRequest( this.commonModels = commonModels; this.categoryCommonModelScopes = categoryCommonModelScopes; this.language = language; + this.areSyncsDisabled = areSyncsDisabled; this.integrationSpecificConfig = integrationSpecificConfig; this.additionalProperties = additionalProperties; } @@ -177,6 +181,14 @@ public Optional getLanguage() { return language; } + /** + * @return The boolean that indicates whether initial, periodic, and force syncs will be disabled. + */ + @JsonProperty("are_syncs_disabled") + public Optional getAreSyncsDisabled() { + return areSyncsDisabled; + } + /** * @return A JSON object containing integration-specific configuration options. */ @@ -208,6 +220,7 @@ private boolean equalTo(EndUserDetailsRequest other) { && commonModels.equals(other.commonModels) && categoryCommonModelScopes.equals(other.categoryCommonModelScopes) && language.equals(other.language) + && areSyncsDisabled.equals(other.areSyncsDisabled) && integrationSpecificConfig.equals(other.integrationSpecificConfig); } @@ -225,6 +238,7 @@ public int hashCode() { this.commonModels, this.categoryCommonModelScopes, this.language, + this.areSyncsDisabled, this.integrationSpecificConfig); } @@ -291,6 +305,10 @@ _FinalStage categoryCommonModelScopes( _FinalStage language(LanguageEnum language); + _FinalStage areSyncsDisabled(Optional areSyncsDisabled); + + _FinalStage areSyncsDisabled(Boolean areSyncsDisabled); + _FinalStage integrationSpecificConfig(Optional> integrationSpecificConfig); _FinalStage integrationSpecificConfig(Map integrationSpecificConfig); @@ -307,6 +325,8 @@ public static final class Builder private Optional> integrationSpecificConfig = Optional.empty(); + private Optional areSyncsDisabled = Optional.empty(); + private Optional language = Optional.empty(); private Optional>>> @@ -342,6 +362,7 @@ public Builder from(EndUserDetailsRequest other) { commonModels(other.getCommonModels()); categoryCommonModelScopes(other.getCategoryCommonModelScopes()); language(other.getLanguage()); + areSyncsDisabled(other.getAreSyncsDisabled()); integrationSpecificConfig(other.getIntegrationSpecificConfig()); return this; } @@ -396,6 +417,23 @@ public _FinalStage integrationSpecificConfig(Optional> int return this; } + /** + *

                      The boolean that indicates whether initial, periodic, and force syncs will be disabled.

                      + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage areSyncsDisabled(Boolean areSyncsDisabled) { + this.areSyncsDisabled = Optional.of(areSyncsDisabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "are_syncs_disabled", nulls = Nulls.SKIP) + public _FinalStage areSyncsDisabled(Optional areSyncsDisabled) { + this.areSyncsDisabled = areSyncsDisabled; + return this; + } + /** *

                      The following subset of IETF language tags can be used to configure localization.

                      *
                        @@ -564,6 +602,7 @@ public EndUserDetailsRequest build() { commonModels, categoryCommonModelScopes, language, + areSyncsDisabled, integrationSpecificConfig, additionalProperties); } diff --git a/src/main/java/com/merge/api/resources/crm/types/AuditLogEvent.java b/src/main/java/com/merge/api/resources/crm/types/AuditLogEvent.java index cbf9a8459..773c182d2 100644 --- a/src/main/java/com/merge/api/resources/crm/types/AuditLogEvent.java +++ b/src/main/java/com/merge/api/resources/crm/types/AuditLogEvent.java @@ -136,6 +136,9 @@ public String getIpAddress() { *
                      • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                      • *
                      • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                      • *
                      • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                      • + *
                      • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                      • + *
                      • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                      • + *
                      • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                      • *
                      • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                      • *
                      • MUTED_ISSUE - MUTED_ISSUE
                      • *
                      • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                      • @@ -339,6 +342,9 @@ public EventTypeStage ipAddress(String ipAddress) { *
                      • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                      • *
                      • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                      • *
                      • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                      • + *
                      • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                      • + *
                      • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                      • + *
                      • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                      • *
                      • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                      • *
                      • MUTED_ISSUE - MUTED_ISSUE
                      • *
                      • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                      • diff --git a/src/main/java/com/merge/api/resources/crm/types/EventTypeEnum.java b/src/main/java/com/merge/api/resources/crm/types/EventTypeEnum.java index 96c109187..c1d32f29b 100644 --- a/src/main/java/com/merge/api/resources/crm/types/EventTypeEnum.java +++ b/src/main/java/com/merge/api/resources/crm/types/EventTypeEnum.java @@ -68,6 +68,12 @@ public enum EventTypeEnum { DELETED_LINKED_ACCOUNT_FIELD_MAPPING("DELETED_LINKED_ACCOUNT_FIELD_MAPPING"), + CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + FORCED_LINKED_ACCOUNT_RESYNC("FORCED_LINKED_ACCOUNT_RESYNC"), MUTED_ISSUE("MUTED_ISSUE"), diff --git a/src/main/java/com/merge/api/resources/crm/types/FieldMappingApiInstanceRemoteField.java b/src/main/java/com/merge/api/resources/crm/types/FieldMappingApiInstanceRemoteField.java index a15d7f1cf..179ab57c8 100644 --- a/src/main/java/com/merge/api/resources/crm/types/FieldMappingApiInstanceRemoteField.java +++ b/src/main/java/com/merge/api/resources/crm/types/FieldMappingApiInstanceRemoteField.java @@ -14,24 +14,24 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldMappingApiInstanceRemoteField.Builder.class) public final class FieldMappingApiInstanceRemoteField { - private final String remoteKeyName; + private final Optional remoteKeyName; - private final Map schema; + private final Optional> schema; private final FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; private final Map additionalProperties; private FieldMappingApiInstanceRemoteField( - String remoteKeyName, - Map schema, + Optional remoteKeyName, + Optional> schema, FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo, Map additionalProperties) { this.remoteKeyName = remoteKeyName; @@ -41,12 +41,12 @@ private FieldMappingApiInstanceRemoteField( } @JsonProperty("remote_key_name") - public String getRemoteKeyName() { + public Optional getRemoteKeyName() { return remoteKeyName; } @JsonProperty("schema") - public Map getSchema() { + public Optional> getSchema() { return schema; } @@ -83,37 +83,35 @@ public String toString() { return ObjectMappers.stringify(this); } - public static RemoteKeyNameStage builder() { + public static RemoteEndpointInfoStage builder() { return new Builder(); } - public interface RemoteKeyNameStage { - RemoteEndpointInfoStage remoteKeyName(String remoteKeyName); - - Builder from(FieldMappingApiInstanceRemoteField other); - } - public interface RemoteEndpointInfoStage { _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo); + + Builder from(FieldMappingApiInstanceRemoteField other); } public interface _FinalStage { FieldMappingApiInstanceRemoteField build(); - _FinalStage schema(Map schema); + _FinalStage remoteKeyName(Optional remoteKeyName); + + _FinalStage remoteKeyName(String remoteKeyName); - _FinalStage putAllSchema(Map schema); + _FinalStage schema(Optional> schema); - _FinalStage schema(String key, JsonNode value); + _FinalStage schema(Map schema); } @JsonIgnoreProperties(ignoreUnknown = true) - public static final class Builder implements RemoteKeyNameStage, RemoteEndpointInfoStage, _FinalStage { - private String remoteKeyName; - + public static final class Builder implements RemoteEndpointInfoStage, _FinalStage { private FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; - private Map schema = new LinkedHashMap<>(); + private Optional> schema = Optional.empty(); + + private Optional remoteKeyName = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -129,36 +127,35 @@ public Builder from(FieldMappingApiInstanceRemoteField other) { } @java.lang.Override - @JsonSetter("remote_key_name") - public RemoteEndpointInfoStage remoteKeyName(String remoteKeyName) { - this.remoteKeyName = remoteKeyName; + @JsonSetter("remote_endpoint_info") + public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { + this.remoteEndpointInfo = remoteEndpointInfo; return this; } @java.lang.Override - @JsonSetter("remote_endpoint_info") - public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { - this.remoteEndpointInfo = remoteEndpointInfo; + public _FinalStage schema(Map schema) { + this.schema = Optional.of(schema); return this; } @java.lang.Override - public _FinalStage schema(String key, JsonNode value) { - this.schema.put(key, value); + @JsonSetter(value = "schema", nulls = Nulls.SKIP) + public _FinalStage schema(Optional> schema) { + this.schema = schema; return this; } @java.lang.Override - public _FinalStage putAllSchema(Map schema) { - this.schema.putAll(schema); + public _FinalStage remoteKeyName(String remoteKeyName) { + this.remoteKeyName = Optional.of(remoteKeyName); return this; } @java.lang.Override - @JsonSetter(value = "schema", nulls = Nulls.SKIP) - public _FinalStage schema(Map schema) { - this.schema.clear(); - this.schema.putAll(schema); + @JsonSetter(value = "remote_key_name", nulls = Nulls.SKIP) + public _FinalStage remoteKeyName(Optional remoteKeyName) { + this.remoteKeyName = remoteKeyName; return this; } diff --git a/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializer.java b/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializer.java index 34a737a7c..b22e4d9cb 100644 --- a/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializer.java +++ b/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializer.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializer.Builder.class) public final class FieldPermissionDeserializer { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializer( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -59,12 +59,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializer other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -78,9 +78,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -88,35 +88,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializer other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializer build() { - return new FieldPermissionDeserializer(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializer(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializerRequest.java b/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializerRequest.java index 325124e5c..c6d7c43bb 100644 --- a/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializerRequest.java +++ b/src/main/java/com/merge/api/resources/crm/types/FieldPermissionDeserializerRequest.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializerRequest.Builder.class) public final class FieldPermissionDeserializerRequest { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializerRequest( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -60,12 +60,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializerRequest other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -79,9 +79,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -89,35 +89,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializerRequest other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializerRequest build() { - return new FieldPermissionDeserializerRequest(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializerRequest(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/crm/types/RemoteData.java b/src/main/java/com/merge/api/resources/crm/types/RemoteData.java index 0eb11ad7e..8657b2980 100644 --- a/src/main/java/com/merge/api/resources/crm/types/RemoteData.java +++ b/src/main/java/com/merge/api/resources/crm/types/RemoteData.java @@ -33,6 +33,9 @@ private RemoteData(String path, Optional data, Map add this.additionalProperties = additionalProperties; } + /** + * @return The third-party API path that is being called. + */ @JsonProperty("path") public String getPath() { return path; @@ -104,6 +107,10 @@ public Builder from(RemoteData other) { return this; } + /** + *

                        The third-party API path that is being called.

                        + * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override @JsonSetter("path") public _FinalStage path(String path) { diff --git a/src/main/java/com/merge/api/resources/crm/users/UsersClient.java b/src/main/java/com/merge/api/resources/crm/users/UsersClient.java index 59d113a2b..89b190131 100644 --- a/src/main/java/com/merge/api/resources/crm/users/UsersClient.java +++ b/src/main/java/com/merge/api/resources/crm/users/UsersClient.java @@ -65,6 +65,9 @@ public PaginatedUserList list(UsersListRequest request, RequestOptions requestOp if (request.getCursor().isPresent()) { httpUrl.addQueryParameter("cursor", request.getCursor().get()); } + if (request.getEmail().isPresent()) { + httpUrl.addQueryParameter("email", request.getEmail().get()); + } if (request.getIncludeDeletedData().isPresent()) { httpUrl.addQueryParameter( "include_deleted_data", diff --git a/src/main/java/com/merge/api/resources/crm/users/requests/UsersListRequest.java b/src/main/java/com/merge/api/resources/crm/users/requests/UsersListRequest.java index 69da31112..6719b3df8 100644 --- a/src/main/java/com/merge/api/resources/crm/users/requests/UsersListRequest.java +++ b/src/main/java/com/merge/api/resources/crm/users/requests/UsersListRequest.java @@ -27,6 +27,8 @@ public final class UsersListRequest { private final Optional cursor; + private final Optional email; + private final Optional includeDeletedData; private final Optional includeRemoteData; @@ -49,6 +51,7 @@ private UsersListRequest( Optional createdAfter, Optional createdBefore, Optional cursor, + Optional email, Optional includeDeletedData, Optional includeRemoteData, Optional includeRemoteFields, @@ -61,6 +64,7 @@ private UsersListRequest( this.createdAfter = createdAfter; this.createdBefore = createdBefore; this.cursor = cursor; + this.email = email; this.includeDeletedData = includeDeletedData; this.includeRemoteData = includeRemoteData; this.includeRemoteFields = includeRemoteFields; @@ -96,6 +100,14 @@ public Optional getCursor() { return cursor; } + /** + * @return If provided, will only return users with this email. + */ + @JsonProperty("email") + public Optional getEmail() { + return email; + } + /** * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. */ @@ -175,6 +187,7 @@ private boolean equalTo(UsersListRequest other) { return createdAfter.equals(other.createdAfter) && createdBefore.equals(other.createdBefore) && cursor.equals(other.cursor) + && email.equals(other.email) && includeDeletedData.equals(other.includeDeletedData) && includeRemoteData.equals(other.includeRemoteData) && includeRemoteFields.equals(other.includeRemoteFields) @@ -191,6 +204,7 @@ public int hashCode() { this.createdAfter, this.createdBefore, this.cursor, + this.email, this.includeDeletedData, this.includeRemoteData, this.includeRemoteFields, @@ -218,6 +232,8 @@ public static final class Builder { private Optional cursor = Optional.empty(); + private Optional email = Optional.empty(); + private Optional includeDeletedData = Optional.empty(); private Optional includeRemoteData = Optional.empty(); @@ -243,6 +259,7 @@ public Builder from(UsersListRequest other) { createdAfter(other.getCreatedAfter()); createdBefore(other.getCreatedBefore()); cursor(other.getCursor()); + email(other.getEmail()); includeDeletedData(other.getIncludeDeletedData()); includeRemoteData(other.getIncludeRemoteData()); includeRemoteFields(other.getIncludeRemoteFields()); @@ -287,6 +304,17 @@ public Builder cursor(String cursor) { return this; } + @JsonSetter(value = "email", nulls = Nulls.SKIP) + public Builder email(Optional email) { + this.email = email; + return this; + } + + public Builder email(String email) { + this.email = Optional.of(email); + return this; + } + @JsonSetter(value = "include_deleted_data", nulls = Nulls.SKIP) public Builder includeDeletedData(Optional includeDeletedData) { this.includeDeletedData = includeDeletedData; @@ -380,6 +408,7 @@ public UsersListRequest build() { createdAfter, createdBefore, cursor, + email, includeDeletedData, includeRemoteData, includeRemoteFields, diff --git a/src/main/java/com/merge/api/resources/filestorage/audittrail/requests/AuditTrailListRequest.java b/src/main/java/com/merge/api/resources/filestorage/audittrail/requests/AuditTrailListRequest.java index 5446d96ff..c2d58654d 100644 --- a/src/main/java/com/merge/api/resources/filestorage/audittrail/requests/AuditTrailListRequest.java +++ b/src/main/java/com/merge/api/resources/filestorage/audittrail/requests/AuditTrailListRequest.java @@ -68,7 +68,7 @@ public Optional getEndDate() { } /** - * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED + * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED */ @JsonProperty("event_type") public Optional getEventType() { diff --git a/src/main/java/com/merge/api/resources/filestorage/fieldmapping/FieldMappingClient.java b/src/main/java/com/merge/api/resources/filestorage/fieldmapping/FieldMappingClient.java index 78fc31630..9a44596c9 100644 --- a/src/main/java/com/merge/api/resources/filestorage/fieldmapping/FieldMappingClient.java +++ b/src/main/java/com/merge/api/resources/filestorage/fieldmapping/FieldMappingClient.java @@ -11,6 +11,7 @@ import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; import com.merge.api.resources.filestorage.fieldmapping.requests.CreateFieldMappingRequest; +import com.merge.api.resources.filestorage.fieldmapping.requests.FieldMappingsRetrieveRequest; import com.merge.api.resources.filestorage.fieldmapping.requests.PatchedEditFieldMappingRequest; import com.merge.api.resources.filestorage.fieldmapping.requests.RemoteFieldsRetrieveRequest; import com.merge.api.resources.filestorage.types.ExternalTargetFieldApiResponse; @@ -18,6 +19,8 @@ import com.merge.api.resources.filestorage.types.FieldMappingInstanceResponse; import com.merge.api.resources.filestorage.types.RemoteFieldApiResponse; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -37,23 +40,35 @@ public FieldMappingClient(ClientOptions clientOptions) { * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ public FieldMappingApiInstanceResponse fieldMappingsRetrieve() { - return fieldMappingsRetrieve(null); + return fieldMappingsRetrieve(FieldMappingsRetrieveRequest.builder().build()); } /** * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ - public FieldMappingApiInstanceResponse fieldMappingsRetrieve(RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + public FieldMappingApiInstanceResponse fieldMappingsRetrieve(FieldMappingsRetrieveRequest request) { + return fieldMappingsRetrieve(request, null); + } + + /** + * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. + */ + public FieldMappingApiInstanceResponse fieldMappingsRetrieve( + FieldMappingsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("filestorage/v1/field-mappings") - .build(); - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + .addPathSegments("filestorage/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("GET", null) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -86,23 +101,34 @@ public FieldMappingInstanceResponse fieldMappingsCreate(CreateFieldMappingReques */ public FieldMappingInstanceResponse fieldMappingsCreate( CreateFieldMappingRequest request, RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("filestorage/v1/field-mappings") - .build(); + .addPathSegments("filestorage/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("target_field_name", request.getTargetFieldName()); + properties.put("target_field_description", request.getTargetFieldDescription()); + properties.put("remote_field_traversal_path", request.getRemoteFieldTraversalPath()); + properties.put("remote_method", request.getRemoteMethod()); + properties.put("remote_url_path", request.getRemoteUrlPath()); + properties.put("common_model_name", request.getCommonModelName()); RequestBody body; try { body = RequestBody.create( - ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); - } catch (JsonProcessingException e) { - throw new MergeException("Failed to serialize request", e); + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); } - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("POST", body) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); diff --git a/src/main/java/com/merge/api/resources/filestorage/fieldmapping/requests/CreateFieldMappingRequest.java b/src/main/java/com/merge/api/resources/filestorage/fieldmapping/requests/CreateFieldMappingRequest.java index 6d88a5874..5cbb0211e 100644 --- a/src/main/java/com/merge/api/resources/filestorage/fieldmapping/requests/CreateFieldMappingRequest.java +++ b/src/main/java/com/merge/api/resources/filestorage/fieldmapping/requests/CreateFieldMappingRequest.java @@ -18,10 +18,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = CreateFieldMappingRequest.Builder.class) public final class CreateFieldMappingRequest { + private final Optional excludeRemoteFieldMetadata; + private final String targetFieldName; private final String targetFieldDescription; @@ -37,6 +40,7 @@ public final class CreateFieldMappingRequest { private final Map additionalProperties; private CreateFieldMappingRequest( + Optional excludeRemoteFieldMetadata, String targetFieldName, String targetFieldDescription, List remoteFieldTraversalPath, @@ -44,6 +48,7 @@ private CreateFieldMappingRequest( String remoteUrlPath, String commonModelName, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; this.targetFieldName = targetFieldName; this.targetFieldDescription = targetFieldDescription; this.remoteFieldTraversalPath = remoteFieldTraversalPath; @@ -53,6 +58,14 @@ private CreateFieldMappingRequest( this.additionalProperties = additionalProperties; } + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + /** * @return The name of the target field you want this remote field to map to. */ @@ -113,7 +126,8 @@ public Map getAdditionalProperties() { } private boolean equalTo(CreateFieldMappingRequest other) { - return targetFieldName.equals(other.targetFieldName) + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata) + && targetFieldName.equals(other.targetFieldName) && targetFieldDescription.equals(other.targetFieldDescription) && remoteFieldTraversalPath.equals(other.remoteFieldTraversalPath) && remoteMethod.equals(other.remoteMethod) @@ -124,6 +138,7 @@ private boolean equalTo(CreateFieldMappingRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( + this.excludeRemoteFieldMetadata, this.targetFieldName, this.targetFieldDescription, this.remoteFieldTraversalPath, @@ -166,6 +181,10 @@ public interface CommonModelNameStage { public interface _FinalStage { CreateFieldMappingRequest build(); + _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata); + + _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata); + _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalPath); _FinalStage addRemoteFieldTraversalPath(JsonNode remoteFieldTraversalPath); @@ -193,6 +212,8 @@ public static final class Builder private List remoteFieldTraversalPath = new ArrayList<>(); + private Optional excludeRemoteFieldMetadata = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -200,6 +221,7 @@ private Builder() {} @java.lang.Override public Builder from(CreateFieldMappingRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); targetFieldName(other.getTargetFieldName()); targetFieldDescription(other.getTargetFieldDescription()); remoteFieldTraversalPath(other.getRemoteFieldTraversalPath()); @@ -292,9 +314,27 @@ public _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalP return this; } + /** + *

                        If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations.

                        + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + @java.lang.Override + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + @java.lang.Override public CreateFieldMappingRequest build() { return new CreateFieldMappingRequest( + excludeRemoteFieldMetadata, targetFieldName, targetFieldDescription, remoteFieldTraversalPath, diff --git a/src/main/java/com/merge/api/resources/filestorage/fieldmapping/requests/FieldMappingsRetrieveRequest.java b/src/main/java/com/merge/api/resources/filestorage/fieldmapping/requests/FieldMappingsRetrieveRequest.java new file mode 100644 index 000000000..08b66bb7e --- /dev/null +++ b/src/main/java/com/merge/api/resources/filestorage/fieldmapping/requests/FieldMappingsRetrieveRequest.java @@ -0,0 +1,99 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.filestorage.fieldmapping.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = FieldMappingsRetrieveRequest.Builder.class) +public final class FieldMappingsRetrieveRequest { + private final Optional excludeRemoteFieldMetadata; + + private final Map additionalProperties; + + private FieldMappingsRetrieveRequest( + Optional excludeRemoteFieldMetadata, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + this.additionalProperties = additionalProperties; + } + + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof FieldMappingsRetrieveRequest && equalTo((FieldMappingsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(FieldMappingsRetrieveRequest other) { + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional excludeRemoteFieldMetadata = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(FieldMappingsRetrieveRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); + return this; + } + + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public Builder excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + + public Builder excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + public FieldMappingsRetrieveRequest build() { + return new FieldMappingsRetrieveRequest(excludeRemoteFieldMetadata, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/filestorage/groups/GroupsClient.java b/src/main/java/com/merge/api/resources/filestorage/groups/GroupsClient.java index 8edc70469..e44e637d4 100644 --- a/src/main/java/com/merge/api/resources/filestorage/groups/GroupsClient.java +++ b/src/main/java/com/merge/api/resources/filestorage/groups/GroupsClient.java @@ -59,6 +59,9 @@ public PaginatedGroupList list(GroupsListRequest request, RequestOptions request if (request.getCursor().isPresent()) { httpUrl.addQueryParameter("cursor", request.getCursor().get()); } + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); + } if (request.getIncludeDeletedData().isPresent()) { httpUrl.addQueryParameter( "include_deleted_data", @@ -133,6 +136,9 @@ public Group retrieve(String id, GroupsRetrieveRequest request, RequestOptions r .newBuilder() .addPathSegments("filestorage/v1/groups") .addPathSegment(id); + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); + } if (request.getIncludeRemoteData().isPresent()) { httpUrl.addQueryParameter( "include_remote_data", request.getIncludeRemoteData().get().toString()); diff --git a/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsListRequest.java b/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsListRequest.java index 48ad60ea2..ad73436d9 100644 --- a/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsListRequest.java +++ b/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsListRequest.java @@ -27,6 +27,8 @@ public final class GroupsListRequest { private final Optional cursor; + private final Optional expand; + private final Optional includeDeletedData; private final Optional includeRemoteData; @@ -47,6 +49,7 @@ private GroupsListRequest( Optional createdAfter, Optional createdBefore, Optional cursor, + Optional expand, Optional includeDeletedData, Optional includeRemoteData, Optional includeShellData, @@ -58,6 +61,7 @@ private GroupsListRequest( this.createdAfter = createdAfter; this.createdBefore = createdBefore; this.cursor = cursor; + this.expand = expand; this.includeDeletedData = includeDeletedData; this.includeRemoteData = includeRemoteData; this.includeShellData = includeShellData; @@ -92,6 +96,14 @@ public Optional getCursor() { return cursor; } + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + /** * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. */ @@ -163,6 +175,7 @@ private boolean equalTo(GroupsListRequest other) { return createdAfter.equals(other.createdAfter) && createdBefore.equals(other.createdBefore) && cursor.equals(other.cursor) + && expand.equals(other.expand) && includeDeletedData.equals(other.includeDeletedData) && includeRemoteData.equals(other.includeRemoteData) && includeShellData.equals(other.includeShellData) @@ -178,6 +191,7 @@ public int hashCode() { this.createdAfter, this.createdBefore, this.cursor, + this.expand, this.includeDeletedData, this.includeRemoteData, this.includeShellData, @@ -204,6 +218,8 @@ public static final class Builder { private Optional cursor = Optional.empty(); + private Optional expand = Optional.empty(); + private Optional includeDeletedData = Optional.empty(); private Optional includeRemoteData = Optional.empty(); @@ -227,6 +243,7 @@ public Builder from(GroupsListRequest other) { createdAfter(other.getCreatedAfter()); createdBefore(other.getCreatedBefore()); cursor(other.getCursor()); + expand(other.getExpand()); includeDeletedData(other.getIncludeDeletedData()); includeRemoteData(other.getIncludeRemoteData()); includeShellData(other.getIncludeShellData()); @@ -270,6 +287,17 @@ public Builder cursor(String cursor) { return this; } + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(String expand) { + this.expand = Optional.of(expand); + return this; + } + @JsonSetter(value = "include_deleted_data", nulls = Nulls.SKIP) public Builder includeDeletedData(Optional includeDeletedData) { this.includeDeletedData = includeDeletedData; @@ -352,6 +380,7 @@ public GroupsListRequest build() { createdAfter, createdBefore, cursor, + expand, includeDeletedData, includeRemoteData, includeShellData, diff --git a/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsRetrieveRequest.java b/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsRetrieveRequest.java index 579261ad5..493c10ec1 100644 --- a/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsRetrieveRequest.java +++ b/src/main/java/com/merge/api/resources/filestorage/groups/requests/GroupsRetrieveRequest.java @@ -20,15 +20,27 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = GroupsRetrieveRequest.Builder.class) public final class GroupsRetrieveRequest { + private final Optional expand; + private final Optional includeRemoteData; private final Map additionalProperties; - private GroupsRetrieveRequest(Optional includeRemoteData, Map additionalProperties) { + private GroupsRetrieveRequest( + Optional expand, Optional includeRemoteData, Map additionalProperties) { + this.expand = expand; this.includeRemoteData = includeRemoteData; this.additionalProperties = additionalProperties; } + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + /** * @return Whether to include the original data Merge fetched from the third-party to produce these models. */ @@ -49,12 +61,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(GroupsRetrieveRequest other) { - return includeRemoteData.equals(other.includeRemoteData); + return expand.equals(other.expand) && includeRemoteData.equals(other.includeRemoteData); } @java.lang.Override public int hashCode() { - return Objects.hash(this.includeRemoteData); + return Objects.hash(this.expand, this.includeRemoteData); } @java.lang.Override @@ -68,6 +80,8 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { + private Optional expand = Optional.empty(); + private Optional includeRemoteData = Optional.empty(); @JsonAnySetter @@ -76,10 +90,22 @@ public static final class Builder { private Builder() {} public Builder from(GroupsRetrieveRequest other) { + expand(other.getExpand()); includeRemoteData(other.getIncludeRemoteData()); return this; } + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(String expand) { + this.expand = Optional.of(expand); + return this; + } + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) public Builder includeRemoteData(Optional includeRemoteData) { this.includeRemoteData = includeRemoteData; @@ -92,7 +118,7 @@ public Builder includeRemoteData(Boolean includeRemoteData) { } public GroupsRetrieveRequest build() { - return new GroupsRetrieveRequest(includeRemoteData, additionalProperties); + return new GroupsRetrieveRequest(expand, includeRemoteData, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/filestorage/linktoken/requests/EndUserDetailsRequest.java b/src/main/java/com/merge/api/resources/filestorage/linktoken/requests/EndUserDetailsRequest.java index ab1f9624f..7aaf26030 100644 --- a/src/main/java/com/merge/api/resources/filestorage/linktoken/requests/EndUserDetailsRequest.java +++ b/src/main/java/com/merge/api/resources/filestorage/linktoken/requests/EndUserDetailsRequest.java @@ -50,6 +50,8 @@ public final class EndUserDetailsRequest { private final Optional language; + private final Optional areSyncsDisabled; + private final Optional> integrationSpecificConfig; private final Map additionalProperties; @@ -67,6 +69,7 @@ private EndUserDetailsRequest( Optional>>> categoryCommonModelScopes, Optional language, + Optional areSyncsDisabled, Optional> integrationSpecificConfig, Map additionalProperties) { this.endUserEmailAddress = endUserEmailAddress; @@ -80,6 +83,7 @@ private EndUserDetailsRequest( this.commonModels = commonModels; this.categoryCommonModelScopes = categoryCommonModelScopes; this.language = language; + this.areSyncsDisabled = areSyncsDisabled; this.integrationSpecificConfig = integrationSpecificConfig; this.additionalProperties = additionalProperties; } @@ -177,6 +181,14 @@ public Optional getLanguage() { return language; } + /** + * @return The boolean that indicates whether initial, periodic, and force syncs will be disabled. + */ + @JsonProperty("are_syncs_disabled") + public Optional getAreSyncsDisabled() { + return areSyncsDisabled; + } + /** * @return A JSON object containing integration-specific configuration options. */ @@ -208,6 +220,7 @@ private boolean equalTo(EndUserDetailsRequest other) { && commonModels.equals(other.commonModels) && categoryCommonModelScopes.equals(other.categoryCommonModelScopes) && language.equals(other.language) + && areSyncsDisabled.equals(other.areSyncsDisabled) && integrationSpecificConfig.equals(other.integrationSpecificConfig); } @@ -225,6 +238,7 @@ public int hashCode() { this.commonModels, this.categoryCommonModelScopes, this.language, + this.areSyncsDisabled, this.integrationSpecificConfig); } @@ -291,6 +305,10 @@ _FinalStage categoryCommonModelScopes( _FinalStage language(LanguageEnum language); + _FinalStage areSyncsDisabled(Optional areSyncsDisabled); + + _FinalStage areSyncsDisabled(Boolean areSyncsDisabled); + _FinalStage integrationSpecificConfig(Optional> integrationSpecificConfig); _FinalStage integrationSpecificConfig(Map integrationSpecificConfig); @@ -307,6 +325,8 @@ public static final class Builder private Optional> integrationSpecificConfig = Optional.empty(); + private Optional areSyncsDisabled = Optional.empty(); + private Optional language = Optional.empty(); private Optional>>> @@ -342,6 +362,7 @@ public Builder from(EndUserDetailsRequest other) { commonModels(other.getCommonModels()); categoryCommonModelScopes(other.getCategoryCommonModelScopes()); language(other.getLanguage()); + areSyncsDisabled(other.getAreSyncsDisabled()); integrationSpecificConfig(other.getIntegrationSpecificConfig()); return this; } @@ -396,6 +417,23 @@ public _FinalStage integrationSpecificConfig(Optional> int return this; } + /** + *

                        The boolean that indicates whether initial, periodic, and force syncs will be disabled.

                        + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage areSyncsDisabled(Boolean areSyncsDisabled) { + this.areSyncsDisabled = Optional.of(areSyncsDisabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "are_syncs_disabled", nulls = Nulls.SKIP) + public _FinalStage areSyncsDisabled(Optional areSyncsDisabled) { + this.areSyncsDisabled = areSyncsDisabled; + return this; + } + /** *

                        The following subset of IETF language tags can be used to configure localization.

                        *
                          @@ -564,6 +602,7 @@ public EndUserDetailsRequest build() { commonModels, categoryCommonModelScopes, language, + areSyncsDisabled, integrationSpecificConfig, additionalProperties); } diff --git a/src/main/java/com/merge/api/resources/filestorage/types/AuditLogEvent.java b/src/main/java/com/merge/api/resources/filestorage/types/AuditLogEvent.java index 77bb91941..0cfa80050 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/AuditLogEvent.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/AuditLogEvent.java @@ -136,6 +136,9 @@ public String getIpAddress() { *
                        • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                        • *
                        • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                        • *
                        • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                        • + *
                        • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                        • + *
                        • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                        • + *
                        • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                        • *
                        • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                        • *
                        • MUTED_ISSUE - MUTED_ISSUE
                        • *
                        • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                        • @@ -339,6 +342,9 @@ public EventTypeStage ipAddress(String ipAddress) { *
                        • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                        • *
                        • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                        • *
                        • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                        • + *
                        • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                        • + *
                        • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                        • + *
                        • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                        • *
                        • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                        • *
                        • MUTED_ISSUE - MUTED_ISSUE
                        • *
                        • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                        • diff --git a/src/main/java/com/merge/api/resources/filestorage/types/Drive.java b/src/main/java/com/merge/api/resources/filestorage/types/Drive.java index e7952532b..51264500a 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/Drive.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/Drive.java @@ -41,7 +41,7 @@ public final class Drive { private final Optional> fieldMappings; - private final Optional>>> remoteData; + private final Optional> remoteData; private final Map additionalProperties; @@ -55,7 +55,7 @@ private Drive( Optional driveUrl, Optional remoteWasDeleted, Optional> fieldMappings, - Optional>>> remoteData, + Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -137,7 +137,7 @@ public Optional> getFieldMappings() { } @JsonProperty("remote_data") - public Optional>>> getRemoteData() { + public Optional> getRemoteData() { return remoteData; } @@ -209,7 +209,7 @@ public static final class Builder { private Optional> fieldMappings = Optional.empty(); - private Optional>>> remoteData = Optional.empty(); + private Optional> remoteData = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -330,12 +330,12 @@ public Builder fieldMappings(Map fieldMappings) { } @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional>>> remoteData) { + public Builder remoteData(Optional> remoteData) { this.remoteData = remoteData; return this; } - public Builder remoteData(List>> remoteData) { + public Builder remoteData(List remoteData) { this.remoteData = Optional.of(remoteData); return this; } diff --git a/src/main/java/com/merge/api/resources/filestorage/types/EventTypeEnum.java b/src/main/java/com/merge/api/resources/filestorage/types/EventTypeEnum.java index de8afc7f4..b199074a0 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/EventTypeEnum.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/EventTypeEnum.java @@ -68,6 +68,12 @@ public enum EventTypeEnum { DELETED_LINKED_ACCOUNT_FIELD_MAPPING("DELETED_LINKED_ACCOUNT_FIELD_MAPPING"), + CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + FORCED_LINKED_ACCOUNT_RESYNC("FORCED_LINKED_ACCOUNT_RESYNC"), MUTED_ISSUE("MUTED_ISSUE"), diff --git a/src/main/java/com/merge/api/resources/filestorage/types/FieldMappingApiInstanceRemoteField.java b/src/main/java/com/merge/api/resources/filestorage/types/FieldMappingApiInstanceRemoteField.java index 08c4368ca..dffc6db8e 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/FieldMappingApiInstanceRemoteField.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/FieldMappingApiInstanceRemoteField.java @@ -14,24 +14,24 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldMappingApiInstanceRemoteField.Builder.class) public final class FieldMappingApiInstanceRemoteField { - private final String remoteKeyName; + private final Optional remoteKeyName; - private final Map schema; + private final Optional> schema; private final FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; private final Map additionalProperties; private FieldMappingApiInstanceRemoteField( - String remoteKeyName, - Map schema, + Optional remoteKeyName, + Optional> schema, FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo, Map additionalProperties) { this.remoteKeyName = remoteKeyName; @@ -41,12 +41,12 @@ private FieldMappingApiInstanceRemoteField( } @JsonProperty("remote_key_name") - public String getRemoteKeyName() { + public Optional getRemoteKeyName() { return remoteKeyName; } @JsonProperty("schema") - public Map getSchema() { + public Optional> getSchema() { return schema; } @@ -83,37 +83,35 @@ public String toString() { return ObjectMappers.stringify(this); } - public static RemoteKeyNameStage builder() { + public static RemoteEndpointInfoStage builder() { return new Builder(); } - public interface RemoteKeyNameStage { - RemoteEndpointInfoStage remoteKeyName(String remoteKeyName); - - Builder from(FieldMappingApiInstanceRemoteField other); - } - public interface RemoteEndpointInfoStage { _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo); + + Builder from(FieldMappingApiInstanceRemoteField other); } public interface _FinalStage { FieldMappingApiInstanceRemoteField build(); - _FinalStage schema(Map schema); + _FinalStage remoteKeyName(Optional remoteKeyName); + + _FinalStage remoteKeyName(String remoteKeyName); - _FinalStage putAllSchema(Map schema); + _FinalStage schema(Optional> schema); - _FinalStage schema(String key, JsonNode value); + _FinalStage schema(Map schema); } @JsonIgnoreProperties(ignoreUnknown = true) - public static final class Builder implements RemoteKeyNameStage, RemoteEndpointInfoStage, _FinalStage { - private String remoteKeyName; - + public static final class Builder implements RemoteEndpointInfoStage, _FinalStage { private FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; - private Map schema = new LinkedHashMap<>(); + private Optional> schema = Optional.empty(); + + private Optional remoteKeyName = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -129,36 +127,35 @@ public Builder from(FieldMappingApiInstanceRemoteField other) { } @java.lang.Override - @JsonSetter("remote_key_name") - public RemoteEndpointInfoStage remoteKeyName(String remoteKeyName) { - this.remoteKeyName = remoteKeyName; + @JsonSetter("remote_endpoint_info") + public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { + this.remoteEndpointInfo = remoteEndpointInfo; return this; } @java.lang.Override - @JsonSetter("remote_endpoint_info") - public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { - this.remoteEndpointInfo = remoteEndpointInfo; + public _FinalStage schema(Map schema) { + this.schema = Optional.of(schema); return this; } @java.lang.Override - public _FinalStage schema(String key, JsonNode value) { - this.schema.put(key, value); + @JsonSetter(value = "schema", nulls = Nulls.SKIP) + public _FinalStage schema(Optional> schema) { + this.schema = schema; return this; } @java.lang.Override - public _FinalStage putAllSchema(Map schema) { - this.schema.putAll(schema); + public _FinalStage remoteKeyName(String remoteKeyName) { + this.remoteKeyName = Optional.of(remoteKeyName); return this; } @java.lang.Override - @JsonSetter(value = "schema", nulls = Nulls.SKIP) - public _FinalStage schema(Map schema) { - this.schema.clear(); - this.schema.putAll(schema); + @JsonSetter(value = "remote_key_name", nulls = Nulls.SKIP) + public _FinalStage remoteKeyName(Optional remoteKeyName) { + this.remoteKeyName = remoteKeyName; return this; } diff --git a/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializer.java b/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializer.java index 7621352fc..d5a1271c9 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializer.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializer.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializer.Builder.class) public final class FieldPermissionDeserializer { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializer( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -59,12 +59,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializer other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -78,9 +78,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -88,35 +88,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializer other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializer build() { - return new FieldPermissionDeserializer(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializer(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializerRequest.java b/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializerRequest.java index f4814823b..3efd8412e 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializerRequest.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/FieldPermissionDeserializerRequest.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializerRequest.Builder.class) public final class FieldPermissionDeserializerRequest { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializerRequest( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -60,12 +60,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializerRequest other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -79,9 +79,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -89,35 +89,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializerRequest other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializerRequest build() { - return new FieldPermissionDeserializerRequest(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializerRequest(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/filestorage/types/File.java b/src/main/java/com/merge/api/resources/filestorage/types/File.java index 90250e7e8..42cf38fd8 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/File.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/File.java @@ -57,7 +57,7 @@ public final class File { private final Optional> fieldMappings; - private final Optional>>> remoteData; + private final Optional> remoteData; private final Map additionalProperties; @@ -79,7 +79,7 @@ private File( Optional remoteUpdatedAt, Optional remoteWasDeleted, Optional> fieldMappings, - Optional>>> remoteData, + Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -233,7 +233,7 @@ public Optional> getFieldMappings() { } @JsonProperty("remote_data") - public Optional>>> getRemoteData() { + public Optional> getRemoteData() { return remoteData; } @@ -337,7 +337,7 @@ public static final class Builder { private Optional> fieldMappings = Optional.empty(); - private Optional>>> remoteData = Optional.empty(); + private Optional> remoteData = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -554,12 +554,12 @@ public Builder fieldMappings(Map fieldMappings) { } @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional>>> remoteData) { + public Builder remoteData(Optional> remoteData) { this.remoteData = remoteData; return this; } - public Builder remoteData(List>> remoteData) { + public Builder remoteData(List remoteData) { this.remoteData = Optional.of(remoteData); return this; } diff --git a/src/main/java/com/merge/api/resources/filestorage/types/Folder.java b/src/main/java/com/merge/api/resources/filestorage/types/Folder.java index dd92214d8..80792e7f5 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/Folder.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/Folder.java @@ -53,7 +53,7 @@ public final class Folder { private final Optional> fieldMappings; - private final Optional>>> remoteData; + private final Optional> remoteData; private final Map additionalProperties; @@ -73,7 +73,7 @@ private Folder( Optional remoteUpdatedAt, Optional remoteWasDeleted, Optional> fieldMappings, - Optional>>> remoteData, + Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -209,7 +209,7 @@ public Optional> getFieldMappings() { } @JsonProperty("remote_data") - public Optional>>> getRemoteData() { + public Optional> getRemoteData() { return remoteData; } @@ -305,7 +305,7 @@ public static final class Builder { private Optional> fieldMappings = Optional.empty(); - private Optional>>> remoteData = Optional.empty(); + private Optional> remoteData = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -498,12 +498,12 @@ public Builder fieldMappings(Map fieldMappings) { } @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional>>> remoteData) { + public Builder remoteData(Optional> remoteData) { this.remoteData = remoteData; return this; } - public Builder remoteData(List>> remoteData) { + public Builder remoteData(List remoteData) { this.remoteData = Optional.of(remoteData); return this; } diff --git a/src/main/java/com/merge/api/resources/filestorage/types/Group.java b/src/main/java/com/merge/api/resources/filestorage/types/Group.java index ed24a6751..36ce7916f 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/Group.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/Group.java @@ -36,11 +36,13 @@ public final class Group { private final List users; + private final Optional> childGroups; + private final Optional remoteWasDeleted; private final Optional> fieldMappings; - private final Optional>>> remoteData; + private final Optional> remoteData; private final Map additionalProperties; @@ -51,9 +53,10 @@ private Group( Optional modifiedAt, Optional name, List users, + Optional> childGroups, Optional remoteWasDeleted, Optional> fieldMappings, - Optional>>> remoteData, + Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -61,6 +64,7 @@ private Group( this.modifiedAt = modifiedAt; this.name = name; this.users = users; + this.childGroups = childGroups; this.remoteWasDeleted = remoteWasDeleted; this.fieldMappings = fieldMappings; this.remoteData = remoteData; @@ -112,6 +116,14 @@ public List getUsers() { return users; } + /** + * @return Groups that inherit the permissions of the parent group. + */ + @JsonProperty("child_groups") + public Optional> getChildGroups() { + return childGroups; + } + /** * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. */ @@ -126,7 +138,7 @@ public Optional> getFieldMappings() { } @JsonProperty("remote_data") - public Optional>>> getRemoteData() { + public Optional> getRemoteData() { return remoteData; } @@ -148,6 +160,7 @@ private boolean equalTo(Group other) { && modifiedAt.equals(other.modifiedAt) && name.equals(other.name) && users.equals(other.users) + && childGroups.equals(other.childGroups) && remoteWasDeleted.equals(other.remoteWasDeleted) && fieldMappings.equals(other.fieldMappings) && remoteData.equals(other.remoteData); @@ -162,6 +175,7 @@ public int hashCode() { this.modifiedAt, this.name, this.users, + this.childGroups, this.remoteWasDeleted, this.fieldMappings, this.remoteData); @@ -190,11 +204,13 @@ public static final class Builder { private List users = new ArrayList<>(); + private Optional> childGroups = Optional.empty(); + private Optional remoteWasDeleted = Optional.empty(); private Optional> fieldMappings = Optional.empty(); - private Optional>>> remoteData = Optional.empty(); + private Optional> remoteData = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -208,6 +224,7 @@ public Builder from(Group other) { modifiedAt(other.getModifiedAt()); name(other.getName()); users(other.getUsers()); + childGroups(other.getChildGroups()); remoteWasDeleted(other.getRemoteWasDeleted()); fieldMappings(other.getFieldMappings()); remoteData(other.getRemoteData()); @@ -286,6 +303,17 @@ public Builder addAllUsers(List users) { return this; } + @JsonSetter(value = "child_groups", nulls = Nulls.SKIP) + public Builder childGroups(Optional> childGroups) { + this.childGroups = childGroups; + return this; + } + + public Builder childGroups(List childGroups) { + this.childGroups = Optional.of(childGroups); + return this; + } + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) public Builder remoteWasDeleted(Optional remoteWasDeleted) { this.remoteWasDeleted = remoteWasDeleted; @@ -309,12 +337,12 @@ public Builder fieldMappings(Map fieldMappings) { } @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional>>> remoteData) { + public Builder remoteData(Optional> remoteData) { this.remoteData = remoteData; return this; } - public Builder remoteData(List>> remoteData) { + public Builder remoteData(List remoteData) { this.remoteData = Optional.of(remoteData); return this; } @@ -327,6 +355,7 @@ public Group build() { modifiedAt, name, users, + childGroups, remoteWasDeleted, fieldMappings, remoteData, diff --git a/src/main/java/com/merge/api/resources/filestorage/types/GroupChildGroupsItem.java b/src/main/java/com/merge/api/resources/filestorage/types/GroupChildGroupsItem.java new file mode 100644 index 000000000..ae72f8b88 --- /dev/null +++ b/src/main/java/com/merge/api/resources/filestorage/types/GroupChildGroupsItem.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.filestorage.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = GroupChildGroupsItem.Deserializer.class) +public final class GroupChildGroupsItem { + private final Object value; + + private final int type; + + private GroupChildGroupsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Group) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GroupChildGroupsItem && equalTo((GroupChildGroupsItem) other); + } + + private boolean equalTo(GroupChildGroupsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static GroupChildGroupsItem of(String value) { + return new GroupChildGroupsItem(value, 0); + } + + public static GroupChildGroupsItem of(Group value) { + return new GroupChildGroupsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Group value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(GroupChildGroupsItem.class); + } + + @java.lang.Override + public GroupChildGroupsItem deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Group.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/filestorage/types/Permission.java b/src/main/java/com/merge/api/resources/filestorage/types/Permission.java index 17a361313..3add86cc5 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/Permission.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/Permission.java @@ -91,7 +91,7 @@ public Optional getModifiedAt() { } /** - * @return The user that is granted this permission. + * @return The user that is granted this permission. This will only be populated if the type is USER. */ @JsonProperty("user") public Optional getUser() { @@ -99,7 +99,7 @@ public Optional getUser() { } /** - * @return The group that is granted this permission. + * @return The group that is granted this permission. This will only be populated if the type is GROUP. */ @JsonProperty("group") public Optional getGroup() { diff --git a/src/main/java/com/merge/api/resources/filestorage/types/PermissionRequest.java b/src/main/java/com/merge/api/resources/filestorage/types/PermissionRequest.java index 90eee7b1b..4dab3f1ad 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/PermissionRequest.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/PermissionRequest.java @@ -66,7 +66,7 @@ public Optional getRemoteId() { } /** - * @return The user that is granted this permission. + * @return The user that is granted this permission. This will only be populated if the type is USER. */ @JsonProperty("user") public Optional getUser() { @@ -74,7 +74,7 @@ public Optional getUser() { } /** - * @return The group that is granted this permission. + * @return The group that is granted this permission. This will only be populated if the type is GROUP. */ @JsonProperty("group") public Optional getGroup() { diff --git a/src/main/java/com/merge/api/resources/filestorage/types/RemoteData.java b/src/main/java/com/merge/api/resources/filestorage/types/RemoteData.java new file mode 100644 index 000000000..84186c56c --- /dev/null +++ b/src/main/java/com/merge/api/resources/filestorage/types/RemoteData.java @@ -0,0 +1,139 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.filestorage.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = RemoteData.Builder.class) +public final class RemoteData { + private final String path; + + private final Optional data; + + private final Map additionalProperties; + + private RemoteData(String path, Optional data, Map additionalProperties) { + this.path = path; + this.data = data; + this.additionalProperties = additionalProperties; + } + + /** + * @return The third-party API path that is being called. + */ + @JsonProperty("path") + public String getPath() { + return path; + } + + @JsonProperty("data") + public Optional getData() { + return data; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof RemoteData && equalTo((RemoteData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(RemoteData other) { + return path.equals(other.path) && data.equals(other.data); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.path, this.data); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static PathStage builder() { + return new Builder(); + } + + public interface PathStage { + _FinalStage path(String path); + + Builder from(RemoteData other); + } + + public interface _FinalStage { + RemoteData build(); + + _FinalStage data(Optional data); + + _FinalStage data(JsonNode data); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements PathStage, _FinalStage { + private String path; + + private Optional data = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(RemoteData other) { + path(other.getPath()); + data(other.getData()); + return this; + } + + /** + *

                          The third-party API path that is being called.

                          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("path") + public _FinalStage path(String path) { + this.path = path; + return this; + } + + @java.lang.Override + public _FinalStage data(JsonNode data) { + this.data = Optional.of(data); + return this; + } + + @java.lang.Override + @JsonSetter(value = "data", nulls = Nulls.SKIP) + public _FinalStage data(Optional data) { + this.data = data; + return this; + } + + @java.lang.Override + public RemoteData build() { + return new RemoteData(path, data, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/filestorage/types/User.java b/src/main/java/com/merge/api/resources/filestorage/types/User.java index 3b5c88da4..165e7aa74 100644 --- a/src/main/java/com/merge/api/resources/filestorage/types/User.java +++ b/src/main/java/com/merge/api/resources/filestorage/types/User.java @@ -41,7 +41,7 @@ public final class User { private final Optional> fieldMappings; - private final Optional>>> remoteData; + private final Optional> remoteData; private final Map additionalProperties; @@ -55,7 +55,7 @@ private User( Optional isMe, Optional remoteWasDeleted, Optional> fieldMappings, - Optional>>> remoteData, + Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -137,7 +137,7 @@ public Optional> getFieldMappings() { } @JsonProperty("remote_data") - public Optional>>> getRemoteData() { + public Optional> getRemoteData() { return remoteData; } @@ -209,7 +209,7 @@ public static final class Builder { private Optional> fieldMappings = Optional.empty(); - private Optional>>> remoteData = Optional.empty(); + private Optional> remoteData = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -330,12 +330,12 @@ public Builder fieldMappings(Map fieldMappings) { } @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional>>> remoteData) { + public Builder remoteData(Optional> remoteData) { this.remoteData = remoteData; return this; } - public Builder remoteData(List>> remoteData) { + public Builder remoteData(List remoteData) { this.remoteData = Optional.of(remoteData); return this; } diff --git a/src/main/java/com/merge/api/resources/hris/audittrail/requests/AuditTrailListRequest.java b/src/main/java/com/merge/api/resources/hris/audittrail/requests/AuditTrailListRequest.java index 9718e1dc6..113327a2b 100644 --- a/src/main/java/com/merge/api/resources/hris/audittrail/requests/AuditTrailListRequest.java +++ b/src/main/java/com/merge/api/resources/hris/audittrail/requests/AuditTrailListRequest.java @@ -68,7 +68,7 @@ public Optional getEndDate() { } /** - * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED + * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED */ @JsonProperty("event_type") public Optional getEventType() { diff --git a/src/main/java/com/merge/api/resources/hris/fieldmapping/FieldMappingClient.java b/src/main/java/com/merge/api/resources/hris/fieldmapping/FieldMappingClient.java index 498bb7ccb..43336af2c 100644 --- a/src/main/java/com/merge/api/resources/hris/fieldmapping/FieldMappingClient.java +++ b/src/main/java/com/merge/api/resources/hris/fieldmapping/FieldMappingClient.java @@ -11,6 +11,7 @@ import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; import com.merge.api.resources.hris.fieldmapping.requests.CreateFieldMappingRequest; +import com.merge.api.resources.hris.fieldmapping.requests.FieldMappingsRetrieveRequest; import com.merge.api.resources.hris.fieldmapping.requests.PatchedEditFieldMappingRequest; import com.merge.api.resources.hris.fieldmapping.requests.RemoteFieldsRetrieveRequest; import com.merge.api.resources.hris.types.ExternalTargetFieldApiResponse; @@ -18,6 +19,8 @@ import com.merge.api.resources.hris.types.FieldMappingInstanceResponse; import com.merge.api.resources.hris.types.RemoteFieldApiResponse; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -37,23 +40,35 @@ public FieldMappingClient(ClientOptions clientOptions) { * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ public FieldMappingApiInstanceResponse fieldMappingsRetrieve() { - return fieldMappingsRetrieve(null); + return fieldMappingsRetrieve(FieldMappingsRetrieveRequest.builder().build()); } /** * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ - public FieldMappingApiInstanceResponse fieldMappingsRetrieve(RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + public FieldMappingApiInstanceResponse fieldMappingsRetrieve(FieldMappingsRetrieveRequest request) { + return fieldMappingsRetrieve(request, null); + } + + /** + * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. + */ + public FieldMappingApiInstanceResponse fieldMappingsRetrieve( + FieldMappingsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("hris/v1/field-mappings") - .build(); - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + .addPathSegments("hris/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("GET", null) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -86,23 +101,34 @@ public FieldMappingInstanceResponse fieldMappingsCreate(CreateFieldMappingReques */ public FieldMappingInstanceResponse fieldMappingsCreate( CreateFieldMappingRequest request, RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("hris/v1/field-mappings") - .build(); + .addPathSegments("hris/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("target_field_name", request.getTargetFieldName()); + properties.put("target_field_description", request.getTargetFieldDescription()); + properties.put("remote_field_traversal_path", request.getRemoteFieldTraversalPath()); + properties.put("remote_method", request.getRemoteMethod()); + properties.put("remote_url_path", request.getRemoteUrlPath()); + properties.put("common_model_name", request.getCommonModelName()); RequestBody body; try { body = RequestBody.create( - ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); - } catch (JsonProcessingException e) { - throw new MergeException("Failed to serialize request", e); + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); } - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("POST", body) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); diff --git a/src/main/java/com/merge/api/resources/hris/fieldmapping/requests/CreateFieldMappingRequest.java b/src/main/java/com/merge/api/resources/hris/fieldmapping/requests/CreateFieldMappingRequest.java index e00d8a0b1..39b1099df 100644 --- a/src/main/java/com/merge/api/resources/hris/fieldmapping/requests/CreateFieldMappingRequest.java +++ b/src/main/java/com/merge/api/resources/hris/fieldmapping/requests/CreateFieldMappingRequest.java @@ -18,10 +18,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = CreateFieldMappingRequest.Builder.class) public final class CreateFieldMappingRequest { + private final Optional excludeRemoteFieldMetadata; + private final String targetFieldName; private final String targetFieldDescription; @@ -37,6 +40,7 @@ public final class CreateFieldMappingRequest { private final Map additionalProperties; private CreateFieldMappingRequest( + Optional excludeRemoteFieldMetadata, String targetFieldName, String targetFieldDescription, List remoteFieldTraversalPath, @@ -44,6 +48,7 @@ private CreateFieldMappingRequest( String remoteUrlPath, String commonModelName, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; this.targetFieldName = targetFieldName; this.targetFieldDescription = targetFieldDescription; this.remoteFieldTraversalPath = remoteFieldTraversalPath; @@ -53,6 +58,14 @@ private CreateFieldMappingRequest( this.additionalProperties = additionalProperties; } + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + /** * @return The name of the target field you want this remote field to map to. */ @@ -113,7 +126,8 @@ public Map getAdditionalProperties() { } private boolean equalTo(CreateFieldMappingRequest other) { - return targetFieldName.equals(other.targetFieldName) + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata) + && targetFieldName.equals(other.targetFieldName) && targetFieldDescription.equals(other.targetFieldDescription) && remoteFieldTraversalPath.equals(other.remoteFieldTraversalPath) && remoteMethod.equals(other.remoteMethod) @@ -124,6 +138,7 @@ private boolean equalTo(CreateFieldMappingRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( + this.excludeRemoteFieldMetadata, this.targetFieldName, this.targetFieldDescription, this.remoteFieldTraversalPath, @@ -166,6 +181,10 @@ public interface CommonModelNameStage { public interface _FinalStage { CreateFieldMappingRequest build(); + _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata); + + _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata); + _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalPath); _FinalStage addRemoteFieldTraversalPath(JsonNode remoteFieldTraversalPath); @@ -193,6 +212,8 @@ public static final class Builder private List remoteFieldTraversalPath = new ArrayList<>(); + private Optional excludeRemoteFieldMetadata = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -200,6 +221,7 @@ private Builder() {} @java.lang.Override public Builder from(CreateFieldMappingRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); targetFieldName(other.getTargetFieldName()); targetFieldDescription(other.getTargetFieldDescription()); remoteFieldTraversalPath(other.getRemoteFieldTraversalPath()); @@ -292,9 +314,27 @@ public _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalP return this; } + /** + *

                          If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations.

                          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + @java.lang.Override + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + @java.lang.Override public CreateFieldMappingRequest build() { return new CreateFieldMappingRequest( + excludeRemoteFieldMetadata, targetFieldName, targetFieldDescription, remoteFieldTraversalPath, diff --git a/src/main/java/com/merge/api/resources/hris/fieldmapping/requests/FieldMappingsRetrieveRequest.java b/src/main/java/com/merge/api/resources/hris/fieldmapping/requests/FieldMappingsRetrieveRequest.java new file mode 100644 index 000000000..4143e3886 --- /dev/null +++ b/src/main/java/com/merge/api/resources/hris/fieldmapping/requests/FieldMappingsRetrieveRequest.java @@ -0,0 +1,99 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.hris.fieldmapping.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = FieldMappingsRetrieveRequest.Builder.class) +public final class FieldMappingsRetrieveRequest { + private final Optional excludeRemoteFieldMetadata; + + private final Map additionalProperties; + + private FieldMappingsRetrieveRequest( + Optional excludeRemoteFieldMetadata, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + this.additionalProperties = additionalProperties; + } + + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof FieldMappingsRetrieveRequest && equalTo((FieldMappingsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(FieldMappingsRetrieveRequest other) { + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional excludeRemoteFieldMetadata = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(FieldMappingsRetrieveRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); + return this; + } + + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public Builder excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + + public Builder excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + public FieldMappingsRetrieveRequest build() { + return new FieldMappingsRetrieveRequest(excludeRemoteFieldMetadata, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/hris/linktoken/requests/EndUserDetailsRequest.java b/src/main/java/com/merge/api/resources/hris/linktoken/requests/EndUserDetailsRequest.java index 25f623f6e..f109d422a 100644 --- a/src/main/java/com/merge/api/resources/hris/linktoken/requests/EndUserDetailsRequest.java +++ b/src/main/java/com/merge/api/resources/hris/linktoken/requests/EndUserDetailsRequest.java @@ -50,6 +50,8 @@ public final class EndUserDetailsRequest { private final Optional language; + private final Optional areSyncsDisabled; + private final Optional> integrationSpecificConfig; private final Map additionalProperties; @@ -67,6 +69,7 @@ private EndUserDetailsRequest( Optional>>> categoryCommonModelScopes, Optional language, + Optional areSyncsDisabled, Optional> integrationSpecificConfig, Map additionalProperties) { this.endUserEmailAddress = endUserEmailAddress; @@ -80,6 +83,7 @@ private EndUserDetailsRequest( this.commonModels = commonModels; this.categoryCommonModelScopes = categoryCommonModelScopes; this.language = language; + this.areSyncsDisabled = areSyncsDisabled; this.integrationSpecificConfig = integrationSpecificConfig; this.additionalProperties = additionalProperties; } @@ -177,6 +181,14 @@ public Optional getLanguage() { return language; } + /** + * @return The boolean that indicates whether initial, periodic, and force syncs will be disabled. + */ + @JsonProperty("are_syncs_disabled") + public Optional getAreSyncsDisabled() { + return areSyncsDisabled; + } + /** * @return A JSON object containing integration-specific configuration options. */ @@ -208,6 +220,7 @@ private boolean equalTo(EndUserDetailsRequest other) { && commonModels.equals(other.commonModels) && categoryCommonModelScopes.equals(other.categoryCommonModelScopes) && language.equals(other.language) + && areSyncsDisabled.equals(other.areSyncsDisabled) && integrationSpecificConfig.equals(other.integrationSpecificConfig); } @@ -225,6 +238,7 @@ public int hashCode() { this.commonModels, this.categoryCommonModelScopes, this.language, + this.areSyncsDisabled, this.integrationSpecificConfig); } @@ -291,6 +305,10 @@ _FinalStage categoryCommonModelScopes( _FinalStage language(LanguageEnum language); + _FinalStage areSyncsDisabled(Optional areSyncsDisabled); + + _FinalStage areSyncsDisabled(Boolean areSyncsDisabled); + _FinalStage integrationSpecificConfig(Optional> integrationSpecificConfig); _FinalStage integrationSpecificConfig(Map integrationSpecificConfig); @@ -307,6 +325,8 @@ public static final class Builder private Optional> integrationSpecificConfig = Optional.empty(); + private Optional areSyncsDisabled = Optional.empty(); + private Optional language = Optional.empty(); private Optional>>> @@ -342,6 +362,7 @@ public Builder from(EndUserDetailsRequest other) { commonModels(other.getCommonModels()); categoryCommonModelScopes(other.getCategoryCommonModelScopes()); language(other.getLanguage()); + areSyncsDisabled(other.getAreSyncsDisabled()); integrationSpecificConfig(other.getIntegrationSpecificConfig()); return this; } @@ -396,6 +417,23 @@ public _FinalStage integrationSpecificConfig(Optional> int return this; } + /** + *

                          The boolean that indicates whether initial, periodic, and force syncs will be disabled.

                          + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage areSyncsDisabled(Boolean areSyncsDisabled) { + this.areSyncsDisabled = Optional.of(areSyncsDisabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "are_syncs_disabled", nulls = Nulls.SKIP) + public _FinalStage areSyncsDisabled(Optional areSyncsDisabled) { + this.areSyncsDisabled = areSyncsDisabled; + return this; + } + /** *

                          The following subset of IETF language tags can be used to configure localization.

                          *
                            @@ -564,6 +602,7 @@ public EndUserDetailsRequest build() { commonModels, categoryCommonModelScopes, language, + areSyncsDisabled, integrationSpecificConfig, additionalProperties); } diff --git a/src/main/java/com/merge/api/resources/hris/locations/LocationsClient.java b/src/main/java/com/merge/api/resources/hris/locations/LocationsClient.java index 220919c69..79e1acfe1 100644 --- a/src/main/java/com/merge/api/resources/hris/locations/LocationsClient.java +++ b/src/main/java/com/merge/api/resources/hris/locations/LocationsClient.java @@ -88,14 +88,15 @@ public PaginatedLocationList list(LocationsListRequest request, RequestOptions r httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); } if (request.getRemoteFields().isPresent()) { - httpUrl.addQueryParameter("remote_fields", request.getRemoteFields().get()); + httpUrl.addQueryParameter( + "remote_fields", request.getRemoteFields().get().toString()); } if (request.getRemoteId().isPresent()) { httpUrl.addQueryParameter("remote_id", request.getRemoteId().get()); } if (request.getShowEnumOrigins().isPresent()) { httpUrl.addQueryParameter( - "show_enum_origins", request.getShowEnumOrigins().get()); + "show_enum_origins", request.getShowEnumOrigins().get().toString()); } Request.Builder _requestBuilder = new Request.Builder() .url(httpUrl.build()) @@ -149,11 +150,12 @@ public Location retrieve(String id, LocationsRetrieveRequest request, RequestOpt "include_remote_data", request.getIncludeRemoteData().get().toString()); } if (request.getRemoteFields().isPresent()) { - httpUrl.addQueryParameter("remote_fields", request.getRemoteFields().get()); + httpUrl.addQueryParameter( + "remote_fields", request.getRemoteFields().get().toString()); } if (request.getShowEnumOrigins().isPresent()) { httpUrl.addQueryParameter( - "show_enum_origins", request.getShowEnumOrigins().get()); + "show_enum_origins", request.getShowEnumOrigins().get().toString()); } Request.Builder _requestBuilder = new Request.Builder() .url(httpUrl.build()) diff --git a/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsListRequest.java b/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsListRequest.java index 11430856d..d2c69bf4f 100644 --- a/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsListRequest.java +++ b/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsListRequest.java @@ -13,6 +13,8 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import com.merge.api.resources.hris.locations.types.LocationsListRequestLocationType; +import com.merge.api.resources.hris.locations.types.LocationsListRequestRemoteFields; +import com.merge.api.resources.hris.locations.types.LocationsListRequestShowEnumOrigins; import java.time.OffsetDateTime; import java.util.HashMap; import java.util.Map; @@ -42,11 +44,11 @@ public final class LocationsListRequest { private final Optional pageSize; - private final Optional remoteFields; + private final Optional remoteFields; private final Optional remoteId; - private final Optional showEnumOrigins; + private final Optional showEnumOrigins; private final Map additionalProperties; @@ -61,9 +63,9 @@ private LocationsListRequest( Optional modifiedAfter, Optional modifiedBefore, Optional pageSize, - Optional remoteFields, + Optional remoteFields, Optional remoteId, - Optional showEnumOrigins, + Optional showEnumOrigins, Map additionalProperties) { this.createdAfter = createdAfter; this.createdBefore = createdBefore; @@ -169,7 +171,7 @@ public Optional getPageSize() { * @return Deprecated. Use show_enum_origins. */ @JsonProperty("remote_fields") - public Optional getRemoteFields() { + public Optional getRemoteFields() { return remoteFields; } @@ -185,7 +187,7 @@ public Optional getRemoteId() { * @return A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. Learn more */ @JsonProperty("show_enum_origins") - public Optional getShowEnumOrigins() { + public Optional getShowEnumOrigins() { return showEnumOrigins; } @@ -265,11 +267,11 @@ public static final class Builder { private Optional pageSize = Optional.empty(); - private Optional remoteFields = Optional.empty(); + private Optional remoteFields = Optional.empty(); private Optional remoteId = Optional.empty(); - private Optional showEnumOrigins = Optional.empty(); + private Optional showEnumOrigins = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -404,12 +406,12 @@ public Builder pageSize(Integer pageSize) { } @JsonSetter(value = "remote_fields", nulls = Nulls.SKIP) - public Builder remoteFields(Optional remoteFields) { + public Builder remoteFields(Optional remoteFields) { this.remoteFields = remoteFields; return this; } - public Builder remoteFields(String remoteFields) { + public Builder remoteFields(LocationsListRequestRemoteFields remoteFields) { this.remoteFields = Optional.of(remoteFields); return this; } @@ -426,12 +428,12 @@ public Builder remoteId(String remoteId) { } @JsonSetter(value = "show_enum_origins", nulls = Nulls.SKIP) - public Builder showEnumOrigins(Optional showEnumOrigins) { + public Builder showEnumOrigins(Optional showEnumOrigins) { this.showEnumOrigins = showEnumOrigins; return this; } - public Builder showEnumOrigins(String showEnumOrigins) { + public Builder showEnumOrigins(LocationsListRequestShowEnumOrigins showEnumOrigins) { this.showEnumOrigins = Optional.of(showEnumOrigins); return this; } diff --git a/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsRetrieveRequest.java b/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsRetrieveRequest.java index d3aaef620..b5222b863 100644 --- a/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsRetrieveRequest.java +++ b/src/main/java/com/merge/api/resources/hris/locations/requests/LocationsRetrieveRequest.java @@ -12,6 +12,8 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.hris.locations.types.LocationsRetrieveRequestRemoteFields; +import com.merge.api.resources.hris.locations.types.LocationsRetrieveRequestShowEnumOrigins; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -22,16 +24,16 @@ public final class LocationsRetrieveRequest { private final Optional includeRemoteData; - private final Optional remoteFields; + private final Optional remoteFields; - private final Optional showEnumOrigins; + private final Optional showEnumOrigins; private final Map additionalProperties; private LocationsRetrieveRequest( Optional includeRemoteData, - Optional remoteFields, - Optional showEnumOrigins, + Optional remoteFields, + Optional showEnumOrigins, Map additionalProperties) { this.includeRemoteData = includeRemoteData; this.remoteFields = remoteFields; @@ -51,7 +53,7 @@ public Optional getIncludeRemoteData() { * @return Deprecated. Use show_enum_origins. */ @JsonProperty("remote_fields") - public Optional getRemoteFields() { + public Optional getRemoteFields() { return remoteFields; } @@ -59,7 +61,7 @@ public Optional getRemoteFields() { * @return A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. Learn more */ @JsonProperty("show_enum_origins") - public Optional getShowEnumOrigins() { + public Optional getShowEnumOrigins() { return showEnumOrigins; } @@ -98,9 +100,9 @@ public static Builder builder() { public static final class Builder { private Optional includeRemoteData = Optional.empty(); - private Optional remoteFields = Optional.empty(); + private Optional remoteFields = Optional.empty(); - private Optional showEnumOrigins = Optional.empty(); + private Optional showEnumOrigins = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -126,23 +128,23 @@ public Builder includeRemoteData(Boolean includeRemoteData) { } @JsonSetter(value = "remote_fields", nulls = Nulls.SKIP) - public Builder remoteFields(Optional remoteFields) { + public Builder remoteFields(Optional remoteFields) { this.remoteFields = remoteFields; return this; } - public Builder remoteFields(String remoteFields) { + public Builder remoteFields(LocationsRetrieveRequestRemoteFields remoteFields) { this.remoteFields = Optional.of(remoteFields); return this; } @JsonSetter(value = "show_enum_origins", nulls = Nulls.SKIP) - public Builder showEnumOrigins(Optional showEnumOrigins) { + public Builder showEnumOrigins(Optional showEnumOrigins) { this.showEnumOrigins = showEnumOrigins; return this; } - public Builder showEnumOrigins(String showEnumOrigins) { + public Builder showEnumOrigins(LocationsRetrieveRequestShowEnumOrigins showEnumOrigins) { this.showEnumOrigins = Optional.of(showEnumOrigins); return this; } diff --git a/src/main/java/com/merge/api/resources/hris/locations/types/LocationsListRequestRemoteFields.java b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsListRequestRemoteFields.java new file mode 100644 index 000000000..c1542467d --- /dev/null +++ b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsListRequestRemoteFields.java @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.hris.locations.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum LocationsListRequestRemoteFields { + COUNTRY("country"), + + COUNTRY_LOCATION_TYPE("country,location_type"), + + LOCATION_TYPE("location_type"); + + private final String value; + + LocationsListRequestRemoteFields(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/hris/locations/types/LocationsListRequestShowEnumOrigins.java b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsListRequestShowEnumOrigins.java new file mode 100644 index 000000000..d2137bc96 --- /dev/null +++ b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsListRequestShowEnumOrigins.java @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.hris.locations.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum LocationsListRequestShowEnumOrigins { + COUNTRY("country"), + + COUNTRY_LOCATION_TYPE("country,location_type"), + + LOCATION_TYPE("location_type"); + + private final String value; + + LocationsListRequestShowEnumOrigins(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/hris/locations/types/LocationsRetrieveRequestRemoteFields.java b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsRetrieveRequestRemoteFields.java new file mode 100644 index 000000000..ef4663b68 --- /dev/null +++ b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsRetrieveRequestRemoteFields.java @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.hris.locations.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum LocationsRetrieveRequestRemoteFields { + COUNTRY("country"), + + COUNTRY_LOCATION_TYPE("country,location_type"), + + LOCATION_TYPE("location_type"); + + private final String value; + + LocationsRetrieveRequestRemoteFields(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/hris/locations/types/LocationsRetrieveRequestShowEnumOrigins.java b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsRetrieveRequestShowEnumOrigins.java new file mode 100644 index 000000000..b6e868531 --- /dev/null +++ b/src/main/java/com/merge/api/resources/hris/locations/types/LocationsRetrieveRequestShowEnumOrigins.java @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.hris.locations.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum LocationsRetrieveRequestShowEnumOrigins { + COUNTRY("country"), + + COUNTRY_LOCATION_TYPE("country,location_type"), + + LOCATION_TYPE("location_type"); + + private final String value; + + LocationsRetrieveRequestShowEnumOrigins(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/hris/timesheetentries/TimesheetEntriesClient.java b/src/main/java/com/merge/api/resources/hris/timesheetentries/TimesheetEntriesClient.java index bcab9b67c..f8b7f4d43 100644 --- a/src/main/java/com/merge/api/resources/hris/timesheetentries/TimesheetEntriesClient.java +++ b/src/main/java/com/merge/api/resources/hris/timesheetentries/TimesheetEntriesClient.java @@ -70,10 +70,15 @@ public PaginatedTimesheetEntryList list(TimesheetEntriesListRequest request, Req httpUrl.addQueryParameter("employee_id", request.getEmployeeId().get()); } if (request.getEndedAfter().isPresent()) { - httpUrl.addQueryParameter("ended_after", request.getEndedAfter().get()); + httpUrl.addQueryParameter( + "ended_after", request.getEndedAfter().get().toString()); } if (request.getEndedBefore().isPresent()) { - httpUrl.addQueryParameter("ended_before", request.getEndedBefore().get()); + httpUrl.addQueryParameter( + "ended_before", request.getEndedBefore().get().toString()); + } + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); } if (request.getIncludeDeletedData().isPresent()) { httpUrl.addQueryParameter( @@ -106,11 +111,12 @@ public PaginatedTimesheetEntryList list(TimesheetEntriesListRequest request, Req httpUrl.addQueryParameter("remote_id", request.getRemoteId().get()); } if (request.getStartedAfter().isPresent()) { - httpUrl.addQueryParameter("started_after", request.getStartedAfter().get()); + httpUrl.addQueryParameter( + "started_after", request.getStartedAfter().get().toString()); } if (request.getStartedBefore().isPresent()) { httpUrl.addQueryParameter( - "started_before", request.getStartedBefore().get()); + "started_before", request.getStartedBefore().get().toString()); } Request.Builder _requestBuilder = new Request.Builder() .url(httpUrl.build()) @@ -214,6 +220,9 @@ public TimesheetEntry retrieve(String id, TimesheetEntriesRetrieveRequest reques .newBuilder() .addPathSegments("hris/v1/timesheet-entries") .addPathSegment(id); + if (request.getExpand().isPresent()) { + httpUrl.addQueryParameter("expand", request.getExpand().get()); + } if (request.getIncludeRemoteData().isPresent()) { httpUrl.addQueryParameter( "include_remote_data", request.getIncludeRemoteData().get().toString()); diff --git a/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesListRequest.java b/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesListRequest.java index 976420a6a..63510799c 100644 --- a/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesListRequest.java +++ b/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesListRequest.java @@ -30,9 +30,11 @@ public final class TimesheetEntriesListRequest { private final Optional employeeId; - private final Optional endedAfter; + private final Optional endedAfter; - private final Optional endedBefore; + private final Optional endedBefore; + + private final Optional expand; private final Optional includeDeletedData; @@ -50,9 +52,9 @@ public final class TimesheetEntriesListRequest { private final Optional remoteId; - private final Optional startedAfter; + private final Optional startedAfter; - private final Optional startedBefore; + private final Optional startedBefore; private final Map additionalProperties; @@ -61,8 +63,9 @@ private TimesheetEntriesListRequest( Optional createdBefore, Optional cursor, Optional employeeId, - Optional endedAfter, - Optional endedBefore, + Optional endedAfter, + Optional endedBefore, + Optional expand, Optional includeDeletedData, Optional includeRemoteData, Optional includeShellData, @@ -71,8 +74,8 @@ private TimesheetEntriesListRequest( Optional orderBy, Optional pageSize, Optional remoteId, - Optional startedAfter, - Optional startedBefore, + Optional startedAfter, + Optional startedBefore, Map additionalProperties) { this.createdAfter = createdAfter; this.createdBefore = createdBefore; @@ -80,6 +83,7 @@ private TimesheetEntriesListRequest( this.employeeId = employeeId; this.endedAfter = endedAfter; this.endedBefore = endedBefore; + this.expand = expand; this.includeDeletedData = includeDeletedData; this.includeRemoteData = includeRemoteData; this.includeShellData = includeShellData; @@ -129,7 +133,7 @@ public Optional getEmployeeId() { * @return If provided, will only return timesheet entries ended after this datetime. */ @JsonProperty("ended_after") - public Optional getEndedAfter() { + public Optional getEndedAfter() { return endedAfter; } @@ -137,10 +141,18 @@ public Optional getEndedAfter() { * @return If provided, will only return timesheet entries ended before this datetime. */ @JsonProperty("ended_before") - public Optional getEndedBefore() { + public Optional getEndedBefore() { return endedBefore; } + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + /** * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. */ @@ -209,7 +221,7 @@ public Optional getRemoteId() { * @return If provided, will only return timesheet entries started after this datetime. */ @JsonProperty("started_after") - public Optional getStartedAfter() { + public Optional getStartedAfter() { return startedAfter; } @@ -217,7 +229,7 @@ public Optional getStartedAfter() { * @return If provided, will only return timesheet entries started before this datetime. */ @JsonProperty("started_before") - public Optional getStartedBefore() { + public Optional getStartedBefore() { return startedBefore; } @@ -239,6 +251,7 @@ private boolean equalTo(TimesheetEntriesListRequest other) { && employeeId.equals(other.employeeId) && endedAfter.equals(other.endedAfter) && endedBefore.equals(other.endedBefore) + && expand.equals(other.expand) && includeDeletedData.equals(other.includeDeletedData) && includeRemoteData.equals(other.includeRemoteData) && includeShellData.equals(other.includeShellData) @@ -260,6 +273,7 @@ public int hashCode() { this.employeeId, this.endedAfter, this.endedBefore, + this.expand, this.includeDeletedData, this.includeRemoteData, this.includeShellData, @@ -291,9 +305,11 @@ public static final class Builder { private Optional employeeId = Optional.empty(); - private Optional endedAfter = Optional.empty(); + private Optional endedAfter = Optional.empty(); + + private Optional endedBefore = Optional.empty(); - private Optional endedBefore = Optional.empty(); + private Optional expand = Optional.empty(); private Optional includeDeletedData = Optional.empty(); @@ -311,9 +327,9 @@ public static final class Builder { private Optional remoteId = Optional.empty(); - private Optional startedAfter = Optional.empty(); + private Optional startedAfter = Optional.empty(); - private Optional startedBefore = Optional.empty(); + private Optional startedBefore = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -327,6 +343,7 @@ public Builder from(TimesheetEntriesListRequest other) { employeeId(other.getEmployeeId()); endedAfter(other.getEndedAfter()); endedBefore(other.getEndedBefore()); + expand(other.getExpand()); includeDeletedData(other.getIncludeDeletedData()); includeRemoteData(other.getIncludeRemoteData()); includeShellData(other.getIncludeShellData()); @@ -385,27 +402,38 @@ public Builder employeeId(String employeeId) { } @JsonSetter(value = "ended_after", nulls = Nulls.SKIP) - public Builder endedAfter(Optional endedAfter) { + public Builder endedAfter(Optional endedAfter) { this.endedAfter = endedAfter; return this; } - public Builder endedAfter(String endedAfter) { + public Builder endedAfter(OffsetDateTime endedAfter) { this.endedAfter = Optional.of(endedAfter); return this; } @JsonSetter(value = "ended_before", nulls = Nulls.SKIP) - public Builder endedBefore(Optional endedBefore) { + public Builder endedBefore(Optional endedBefore) { this.endedBefore = endedBefore; return this; } - public Builder endedBefore(String endedBefore) { + public Builder endedBefore(OffsetDateTime endedBefore) { this.endedBefore = Optional.of(endedBefore); return this; } + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(String expand) { + this.expand = Optional.of(expand); + return this; + } + @JsonSetter(value = "include_deleted_data", nulls = Nulls.SKIP) public Builder includeDeletedData(Optional includeDeletedData) { this.includeDeletedData = includeDeletedData; @@ -495,23 +523,23 @@ public Builder remoteId(String remoteId) { } @JsonSetter(value = "started_after", nulls = Nulls.SKIP) - public Builder startedAfter(Optional startedAfter) { + public Builder startedAfter(Optional startedAfter) { this.startedAfter = startedAfter; return this; } - public Builder startedAfter(String startedAfter) { + public Builder startedAfter(OffsetDateTime startedAfter) { this.startedAfter = Optional.of(startedAfter); return this; } @JsonSetter(value = "started_before", nulls = Nulls.SKIP) - public Builder startedBefore(Optional startedBefore) { + public Builder startedBefore(Optional startedBefore) { this.startedBefore = startedBefore; return this; } - public Builder startedBefore(String startedBefore) { + public Builder startedBefore(OffsetDateTime startedBefore) { this.startedBefore = Optional.of(startedBefore); return this; } @@ -524,6 +552,7 @@ public TimesheetEntriesListRequest build() { employeeId, endedAfter, endedBefore, + expand, includeDeletedData, includeRemoteData, includeShellData, diff --git a/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesRetrieveRequest.java b/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesRetrieveRequest.java index 40a00dd0a..fd73a1d31 100644 --- a/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesRetrieveRequest.java +++ b/src/main/java/com/merge/api/resources/hris/timesheetentries/requests/TimesheetEntriesRetrieveRequest.java @@ -20,16 +20,27 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = TimesheetEntriesRetrieveRequest.Builder.class) public final class TimesheetEntriesRetrieveRequest { + private final Optional expand; + private final Optional includeRemoteData; private final Map additionalProperties; private TimesheetEntriesRetrieveRequest( - Optional includeRemoteData, Map additionalProperties) { + Optional expand, Optional includeRemoteData, Map additionalProperties) { + this.expand = expand; this.includeRemoteData = includeRemoteData; this.additionalProperties = additionalProperties; } + /** + * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. + */ + @JsonProperty("expand") + public Optional getExpand() { + return expand; + } + /** * @return Whether to include the original data Merge fetched from the third-party to produce these models. */ @@ -50,12 +61,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(TimesheetEntriesRetrieveRequest other) { - return includeRemoteData.equals(other.includeRemoteData); + return expand.equals(other.expand) && includeRemoteData.equals(other.includeRemoteData); } @java.lang.Override public int hashCode() { - return Objects.hash(this.includeRemoteData); + return Objects.hash(this.expand, this.includeRemoteData); } @java.lang.Override @@ -69,6 +80,8 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { + private Optional expand = Optional.empty(); + private Optional includeRemoteData = Optional.empty(); @JsonAnySetter @@ -77,10 +90,22 @@ public static final class Builder { private Builder() {} public Builder from(TimesheetEntriesRetrieveRequest other) { + expand(other.getExpand()); includeRemoteData(other.getIncludeRemoteData()); return this; } + @JsonSetter(value = "expand", nulls = Nulls.SKIP) + public Builder expand(Optional expand) { + this.expand = expand; + return this; + } + + public Builder expand(String expand) { + this.expand = Optional.of(expand); + return this; + } + @JsonSetter(value = "include_remote_data", nulls = Nulls.SKIP) public Builder includeRemoteData(Optional includeRemoteData) { this.includeRemoteData = includeRemoteData; @@ -93,7 +118,7 @@ public Builder includeRemoteData(Boolean includeRemoteData) { } public TimesheetEntriesRetrieveRequest build() { - return new TimesheetEntriesRetrieveRequest(includeRemoteData, additionalProperties); + return new TimesheetEntriesRetrieveRequest(expand, includeRemoteData, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/hris/types/AuditLogEvent.java b/src/main/java/com/merge/api/resources/hris/types/AuditLogEvent.java index 98af575ef..0b2485fe0 100644 --- a/src/main/java/com/merge/api/resources/hris/types/AuditLogEvent.java +++ b/src/main/java/com/merge/api/resources/hris/types/AuditLogEvent.java @@ -136,6 +136,9 @@ public String getIpAddress() { *
                          • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                          • *
                          • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                          • *
                          • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                          • + *
                          • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                          • + *
                          • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                          • + *
                          • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                          • *
                          • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                          • *
                          • MUTED_ISSUE - MUTED_ISSUE
                          • *
                          • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                          • @@ -339,6 +342,9 @@ public EventTypeStage ipAddress(String ipAddress) { *
                          • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                          • *
                          • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                          • *
                          • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                          • + *
                          • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                          • + *
                          • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                          • + *
                          • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                          • *
                          • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                          • *
                          • MUTED_ISSUE - MUTED_ISSUE
                          • *
                          • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                          • diff --git a/src/main/java/com/merge/api/resources/hris/types/EmployerBenefit.java b/src/main/java/com/merge/api/resources/hris/types/EmployerBenefit.java index 5fe143a85..ca0217f9b 100644 --- a/src/main/java/com/merge/api/resources/hris/types/EmployerBenefit.java +++ b/src/main/java/com/merge/api/resources/hris/types/EmployerBenefit.java @@ -43,7 +43,7 @@ public final class EmployerBenefit { private final Optional> fieldMappings; - private final Optional>>> remoteData; + private final Optional> remoteData; private final Map additionalProperties; @@ -58,7 +58,7 @@ private EmployerBenefit( Optional deductionCode, Optional remoteWasDeleted, Optional> fieldMappings, - Optional>>> remoteData, + Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -156,7 +156,7 @@ public Optional> getFieldMappings() { } @JsonProperty("remote_data") - public Optional>>> getRemoteData() { + public Optional> getRemoteData() { return remoteData; } @@ -232,7 +232,7 @@ public static final class Builder { private Optional> fieldMappings = Optional.empty(); - private Optional>>> remoteData = Optional.empty(); + private Optional> remoteData = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -365,12 +365,12 @@ public Builder fieldMappings(Map fieldMappings) { } @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional>>> remoteData) { + public Builder remoteData(Optional> remoteData) { this.remoteData = remoteData; return this; } - public Builder remoteData(List>> remoteData) { + public Builder remoteData(List remoteData) { this.remoteData = Optional.of(remoteData); return this; } diff --git a/src/main/java/com/merge/api/resources/hris/types/EventTypeEnum.java b/src/main/java/com/merge/api/resources/hris/types/EventTypeEnum.java index d634d3ef1..46d5e89eb 100644 --- a/src/main/java/com/merge/api/resources/hris/types/EventTypeEnum.java +++ b/src/main/java/com/merge/api/resources/hris/types/EventTypeEnum.java @@ -68,6 +68,12 @@ public enum EventTypeEnum { DELETED_LINKED_ACCOUNT_FIELD_MAPPING("DELETED_LINKED_ACCOUNT_FIELD_MAPPING"), + CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + FORCED_LINKED_ACCOUNT_RESYNC("FORCED_LINKED_ACCOUNT_RESYNC"), MUTED_ISSUE("MUTED_ISSUE"), diff --git a/src/main/java/com/merge/api/resources/hris/types/FieldMappingApiInstanceRemoteField.java b/src/main/java/com/merge/api/resources/hris/types/FieldMappingApiInstanceRemoteField.java index 28902607d..9e35ba01a 100644 --- a/src/main/java/com/merge/api/resources/hris/types/FieldMappingApiInstanceRemoteField.java +++ b/src/main/java/com/merge/api/resources/hris/types/FieldMappingApiInstanceRemoteField.java @@ -14,24 +14,24 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldMappingApiInstanceRemoteField.Builder.class) public final class FieldMappingApiInstanceRemoteField { - private final String remoteKeyName; + private final Optional remoteKeyName; - private final Map schema; + private final Optional> schema; private final FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; private final Map additionalProperties; private FieldMappingApiInstanceRemoteField( - String remoteKeyName, - Map schema, + Optional remoteKeyName, + Optional> schema, FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo, Map additionalProperties) { this.remoteKeyName = remoteKeyName; @@ -41,12 +41,12 @@ private FieldMappingApiInstanceRemoteField( } @JsonProperty("remote_key_name") - public String getRemoteKeyName() { + public Optional getRemoteKeyName() { return remoteKeyName; } @JsonProperty("schema") - public Map getSchema() { + public Optional> getSchema() { return schema; } @@ -83,37 +83,35 @@ public String toString() { return ObjectMappers.stringify(this); } - public static RemoteKeyNameStage builder() { + public static RemoteEndpointInfoStage builder() { return new Builder(); } - public interface RemoteKeyNameStage { - RemoteEndpointInfoStage remoteKeyName(String remoteKeyName); - - Builder from(FieldMappingApiInstanceRemoteField other); - } - public interface RemoteEndpointInfoStage { _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo); + + Builder from(FieldMappingApiInstanceRemoteField other); } public interface _FinalStage { FieldMappingApiInstanceRemoteField build(); - _FinalStage schema(Map schema); + _FinalStage remoteKeyName(Optional remoteKeyName); + + _FinalStage remoteKeyName(String remoteKeyName); - _FinalStage putAllSchema(Map schema); + _FinalStage schema(Optional> schema); - _FinalStage schema(String key, JsonNode value); + _FinalStage schema(Map schema); } @JsonIgnoreProperties(ignoreUnknown = true) - public static final class Builder implements RemoteKeyNameStage, RemoteEndpointInfoStage, _FinalStage { - private String remoteKeyName; - + public static final class Builder implements RemoteEndpointInfoStage, _FinalStage { private FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; - private Map schema = new LinkedHashMap<>(); + private Optional> schema = Optional.empty(); + + private Optional remoteKeyName = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -129,36 +127,35 @@ public Builder from(FieldMappingApiInstanceRemoteField other) { } @java.lang.Override - @JsonSetter("remote_key_name") - public RemoteEndpointInfoStage remoteKeyName(String remoteKeyName) { - this.remoteKeyName = remoteKeyName; + @JsonSetter("remote_endpoint_info") + public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { + this.remoteEndpointInfo = remoteEndpointInfo; return this; } @java.lang.Override - @JsonSetter("remote_endpoint_info") - public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { - this.remoteEndpointInfo = remoteEndpointInfo; + public _FinalStage schema(Map schema) { + this.schema = Optional.of(schema); return this; } @java.lang.Override - public _FinalStage schema(String key, JsonNode value) { - this.schema.put(key, value); + @JsonSetter(value = "schema", nulls = Nulls.SKIP) + public _FinalStage schema(Optional> schema) { + this.schema = schema; return this; } @java.lang.Override - public _FinalStage putAllSchema(Map schema) { - this.schema.putAll(schema); + public _FinalStage remoteKeyName(String remoteKeyName) { + this.remoteKeyName = Optional.of(remoteKeyName); return this; } @java.lang.Override - @JsonSetter(value = "schema", nulls = Nulls.SKIP) - public _FinalStage schema(Map schema) { - this.schema.clear(); - this.schema.putAll(schema); + @JsonSetter(value = "remote_key_name", nulls = Nulls.SKIP) + public _FinalStage remoteKeyName(Optional remoteKeyName) { + this.remoteKeyName = remoteKeyName; return this; } diff --git a/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializer.java b/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializer.java index 5efb81ec0..d42f16cd8 100644 --- a/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializer.java +++ b/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializer.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializer.Builder.class) public final class FieldPermissionDeserializer { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializer( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -59,12 +59,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializer other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -78,9 +78,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -88,35 +88,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializer other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializer build() { - return new FieldPermissionDeserializer(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializer(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializerRequest.java b/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializerRequest.java index 7fa3e1c2f..4e0f47ba9 100644 --- a/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializerRequest.java +++ b/src/main/java/com/merge/api/resources/hris/types/FieldPermissionDeserializerRequest.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializerRequest.Builder.class) public final class FieldPermissionDeserializerRequest { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializerRequest( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -60,12 +60,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializerRequest other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -79,9 +79,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -89,35 +89,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializerRequest other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializerRequest build() { - return new FieldPermissionDeserializerRequest(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializerRequest(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/hris/types/RemoteData.java b/src/main/java/com/merge/api/resources/hris/types/RemoteData.java index 07d56e011..40c010868 100644 --- a/src/main/java/com/merge/api/resources/hris/types/RemoteData.java +++ b/src/main/java/com/merge/api/resources/hris/types/RemoteData.java @@ -33,6 +33,9 @@ private RemoteData(String path, Optional data, Map add this.additionalProperties = additionalProperties; } + /** + * @return The third-party API path that is being called. + */ @JsonProperty("path") public String getPath() { return path; @@ -104,6 +107,10 @@ public Builder from(RemoteData other) { return this; } + /** + *

                            The third-party API path that is being called.

                            + * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override @JsonSetter("path") public _FinalStage path(String path) { diff --git a/src/main/java/com/merge/api/resources/hris/types/TimesheetEntry.java b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntry.java index 8874ad4e8..b2d121573 100644 --- a/src/main/java/com/merge/api/resources/hris/types/TimesheetEntry.java +++ b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntry.java @@ -31,7 +31,7 @@ public final class TimesheetEntry { private final Optional modifiedAt; - private final Optional employee; + private final Optional employee; private final Optional hoursWorked; @@ -43,7 +43,7 @@ public final class TimesheetEntry { private final Optional> fieldMappings; - private final Optional>>> remoteData; + private final Optional> remoteData; private final Map additionalProperties; @@ -52,13 +52,13 @@ private TimesheetEntry( Optional remoteId, Optional createdAt, Optional modifiedAt, - Optional employee, + Optional employee, Optional hoursWorked, Optional startTime, Optional endTime, Optional remoteWasDeleted, Optional> fieldMappings, - Optional>>> remoteData, + Optional> remoteData, Map additionalProperties) { this.id = id; this.remoteId = remoteId; @@ -107,7 +107,7 @@ public Optional getModifiedAt() { * @return The employee the timesheet entry is for. */ @JsonProperty("employee") - public Optional getEmployee() { + public Optional getEmployee() { return employee; } @@ -149,7 +149,7 @@ public Optional> getFieldMappings() { } @JsonProperty("remote_data") - public Optional>>> getRemoteData() { + public Optional> getRemoteData() { return remoteData; } @@ -213,7 +213,7 @@ public static final class Builder { private Optional modifiedAt = Optional.empty(); - private Optional employee = Optional.empty(); + private Optional employee = Optional.empty(); private Optional hoursWorked = Optional.empty(); @@ -225,7 +225,7 @@ public static final class Builder { private Optional> fieldMappings = Optional.empty(); - private Optional>>> remoteData = Optional.empty(); + private Optional> remoteData = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -292,12 +292,12 @@ public Builder modifiedAt(OffsetDateTime modifiedAt) { } @JsonSetter(value = "employee", nulls = Nulls.SKIP) - public Builder employee(Optional employee) { + public Builder employee(Optional employee) { this.employee = employee; return this; } - public Builder employee(String employee) { + public Builder employee(TimesheetEntryEmployee employee) { this.employee = Optional.of(employee); return this; } @@ -358,12 +358,12 @@ public Builder fieldMappings(Map fieldMappings) { } @JsonSetter(value = "remote_data", nulls = Nulls.SKIP) - public Builder remoteData(Optional>>> remoteData) { + public Builder remoteData(Optional> remoteData) { this.remoteData = remoteData; return this; } - public Builder remoteData(List>> remoteData) { + public Builder remoteData(List remoteData) { this.remoteData = Optional.of(remoteData); return this; } diff --git a/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryEmployee.java b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryEmployee.java new file mode 100644 index 000000000..00eea930d --- /dev/null +++ b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.hris.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = TimesheetEntryEmployee.Deserializer.class) +public final class TimesheetEntryEmployee { + private final Object value; + + private final int type; + + private TimesheetEntryEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TimesheetEntryEmployee && equalTo((TimesheetEntryEmployee) other); + } + + private boolean equalTo(TimesheetEntryEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static TimesheetEntryEmployee of(String value) { + return new TimesheetEntryEmployee(value, 0); + } + + public static TimesheetEntryEmployee of(Employee value) { + return new TimesheetEntryEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(TimesheetEntryEmployee.class); + } + + @java.lang.Override + public TimesheetEntryEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryRequest.java b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryRequest.java index e99be704f..46019b477 100644 --- a/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryRequest.java +++ b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryRequest.java @@ -22,7 +22,7 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = TimesheetEntryRequest.Builder.class) public final class TimesheetEntryRequest { - private final Optional employee; + private final Optional employee; private final Optional hoursWorked; @@ -37,7 +37,7 @@ public final class TimesheetEntryRequest { private final Map additionalProperties; private TimesheetEntryRequest( - Optional employee, + Optional employee, Optional hoursWorked, Optional startTime, Optional endTime, @@ -57,7 +57,7 @@ private TimesheetEntryRequest( * @return The employee the timesheet entry is for. */ @JsonProperty("employee") - public Optional getEmployee() { + public Optional getEmployee() { return employee; } @@ -137,7 +137,7 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional employee = Optional.empty(); + private Optional employee = Optional.empty(); private Optional hoursWorked = Optional.empty(); @@ -165,12 +165,12 @@ public Builder from(TimesheetEntryRequest other) { } @JsonSetter(value = "employee", nulls = Nulls.SKIP) - public Builder employee(Optional employee) { + public Builder employee(Optional employee) { this.employee = employee; return this; } - public Builder employee(String employee) { + public Builder employee(TimesheetEntryRequestEmployee employee) { this.employee = Optional.of(employee); return this; } diff --git a/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryRequestEmployee.java b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryRequestEmployee.java new file mode 100644 index 000000000..ceddef7a2 --- /dev/null +++ b/src/main/java/com/merge/api/resources/hris/types/TimesheetEntryRequestEmployee.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.hris.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = TimesheetEntryRequestEmployee.Deserializer.class) +public final class TimesheetEntryRequestEmployee { + private final Object value; + + private final int type; + + private TimesheetEntryRequestEmployee(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Employee) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TimesheetEntryRequestEmployee && equalTo((TimesheetEntryRequestEmployee) other); + } + + private boolean equalTo(TimesheetEntryRequestEmployee other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static TimesheetEntryRequestEmployee of(String value) { + return new TimesheetEntryRequestEmployee(value, 0); + } + + public static TimesheetEntryRequestEmployee of(Employee value) { + return new TimesheetEntryRequestEmployee(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Employee value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(TimesheetEntryRequestEmployee.class); + } + + @java.lang.Override + public TimesheetEntryRequestEmployee deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Employee.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/audittrail/requests/AuditTrailListRequest.java b/src/main/java/com/merge/api/resources/ticketing/audittrail/requests/AuditTrailListRequest.java index 366f9e4e8..06275e8e6 100644 --- a/src/main/java/com/merge/api/resources/ticketing/audittrail/requests/AuditTrailListRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/audittrail/requests/AuditTrailListRequest.java @@ -68,7 +68,7 @@ public Optional getEndDate() { } /** - * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED + * @return If included, will only include events with the given event type. Possible values include: CREATED_REMOTE_PRODUCTION_API_KEY, DELETED_REMOTE_PRODUCTION_API_KEY, CREATED_TEST_API_KEY, DELETED_TEST_API_KEY, REGENERATED_PRODUCTION_API_KEY, INVITED_USER, TWO_FACTOR_AUTH_ENABLED, TWO_FACTOR_AUTH_DISABLED, DELETED_LINKED_ACCOUNT, CREATED_DESTINATION, DELETED_DESTINATION, CHANGED_DESTINATION, CHANGED_SCOPES, CHANGED_PERSONAL_INFORMATION, CHANGED_ORGANIZATION_SETTINGS, ENABLED_INTEGRATION, DISABLED_INTEGRATION, ENABLED_CATEGORY, DISABLED_CATEGORY, CHANGED_PASSWORD, RESET_PASSWORD, ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION, DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT, CREATED_INTEGRATION_WIDE_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_FIELD_MAPPING, CHANGED_INTEGRATION_WIDE_FIELD_MAPPING, CHANGED_LINKED_ACCOUNT_FIELD_MAPPING, DELETED_INTEGRATION_WIDE_FIELD_MAPPING, DELETED_LINKED_ACCOUNT_FIELD_MAPPING, CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE, FORCED_LINKED_ACCOUNT_RESYNC, MUTED_ISSUE, GENERATED_MAGIC_LINK, ENABLED_MERGE_WEBHOOK, DISABLED_MERGE_WEBHOOK, MERGE_WEBHOOK_TARGET_CHANGED, END_USER_CREDENTIALS_ACCESSED */ @JsonProperty("event_type") public Optional getEventType() { diff --git a/src/main/java/com/merge/api/resources/ticketing/collections/CollectionsClient.java b/src/main/java/com/merge/api/resources/ticketing/collections/CollectionsClient.java index 445b866bb..e76432792 100644 --- a/src/main/java/com/merge/api/resources/ticketing/collections/CollectionsClient.java +++ b/src/main/java/com/merge/api/resources/ticketing/collections/CollectionsClient.java @@ -10,10 +10,8 @@ import com.merge.api.core.RequestOptions; import com.merge.api.resources.ticketing.collections.requests.CollectionsListRequest; import com.merge.api.resources.ticketing.collections.requests.CollectionsRetrieveRequest; -import com.merge.api.resources.ticketing.collections.requests.CollectionsUsersListRequest; import com.merge.api.resources.ticketing.types.Collection; import com.merge.api.resources.ticketing.types.PaginatedCollectionList; -import com.merge.api.resources.ticketing.types.PaginatedUserList; import java.io.IOException; import okhttp3.Headers; import okhttp3.HttpUrl; @@ -66,7 +64,7 @@ public PaginatedCollectionList list(CollectionsListRequest request, RequestOptio httpUrl.addQueryParameter("cursor", request.getCursor().get()); } if (request.getExpand().isPresent()) { - httpUrl.addQueryParameter("expand", request.getExpand().get()); + httpUrl.addQueryParameter("expand", request.getExpand().get().toString()); } if (request.getIncludeDeletedData().isPresent()) { httpUrl.addQueryParameter( @@ -154,7 +152,7 @@ public Collection retrieve(String id, CollectionsRetrieveRequest request, Reques .addPathSegments("ticketing/v1/collections") .addPathSegment(id); if (request.getExpand().isPresent()) { - httpUrl.addQueryParameter("expand", request.getExpand().get()); + httpUrl.addQueryParameter("expand", request.getExpand().get().toString()); } if (request.getIncludeRemoteData().isPresent()) { httpUrl.addQueryParameter( @@ -191,75 +189,4 @@ public Collection retrieve(String id, CollectionsRetrieveRequest request, Reques throw new MergeException("Network error executing HTTP request", e); } } - - /** - * Returns a list of User objects. - */ - public PaginatedUserList usersList(String parentId) { - return usersList(parentId, CollectionsUsersListRequest.builder().build()); - } - - /** - * Returns a list of User objects. - */ - public PaginatedUserList usersList(String parentId, CollectionsUsersListRequest request) { - return usersList(parentId, request, null); - } - - /** - * Returns a list of User objects. - */ - public PaginatedUserList usersList( - String parentId, CollectionsUsersListRequest request, RequestOptions requestOptions) { - HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) - .newBuilder() - .addPathSegments("ticketing/v1/collections") - .addPathSegment(parentId) - .addPathSegments("users"); - if (request.getCursor().isPresent()) { - httpUrl.addQueryParameter("cursor", request.getCursor().get()); - } - if (request.getExpand().isPresent()) { - httpUrl.addQueryParameter("expand", request.getExpand().get().toString()); - } - if (request.getIncludeDeletedData().isPresent()) { - httpUrl.addQueryParameter( - "include_deleted_data", - request.getIncludeDeletedData().get().toString()); - } - if (request.getIncludeRemoteData().isPresent()) { - httpUrl.addQueryParameter( - "include_remote_data", request.getIncludeRemoteData().get().toString()); - } - if (request.getIncludeShellData().isPresent()) { - httpUrl.addQueryParameter( - "include_shell_data", request.getIncludeShellData().get().toString()); - } - if (request.getPageSize().isPresent()) { - httpUrl.addQueryParameter("page_size", request.getPageSize().get().toString()); - } - Request.Builder _requestBuilder = new Request.Builder() - .url(httpUrl.build()) - .method("GET", null) - .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json"); - Request okhttpRequest = _requestBuilder.build(); - OkHttpClient client = clientOptions.httpClient(); - if (requestOptions != null && requestOptions.getTimeout().isPresent()) { - client = clientOptions.httpClientWithTimeout(requestOptions); - } - try (Response response = client.newCall(okhttpRequest).execute()) { - ResponseBody responseBody = response.body(); - if (response.isSuccessful()) { - return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), PaginatedUserList.class); - } - String responseBodyString = responseBody != null ? responseBody.string() : "{}"; - throw new ApiError( - "Error with status code " + response.code(), - response.code(), - ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class)); - } catch (IOException e) { - throw new MergeException("Network error executing HTTP request", e); - } - } } diff --git a/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsListRequest.java b/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsListRequest.java index d9b63ee06..47275dd3b 100644 --- a/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsListRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsListRequest.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.ticketing.collections.types.CollectionsListRequestExpand; import java.time.OffsetDateTime; import java.util.HashMap; import java.util.Map; @@ -29,7 +30,7 @@ public final class CollectionsListRequest { private final Optional cursor; - private final Optional expand; + private final Optional expand; private final Optional includeDeletedData; @@ -58,7 +59,7 @@ private CollectionsListRequest( Optional createdAfter, Optional createdBefore, Optional cursor, - Optional expand, + Optional expand, Optional includeDeletedData, Optional includeRemoteData, Optional includeShellData, @@ -124,7 +125,7 @@ public Optional getCursor() { * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ @JsonProperty("expand") - public Optional getExpand() { + public Optional getExpand() { return expand; } @@ -276,7 +277,7 @@ public static final class Builder { private Optional cursor = Optional.empty(); - private Optional expand = Optional.empty(); + private Optional expand = Optional.empty(); private Optional includeDeletedData = Optional.empty(); @@ -367,12 +368,12 @@ public Builder cursor(String cursor) { } @JsonSetter(value = "expand", nulls = Nulls.SKIP) - public Builder expand(Optional expand) { + public Builder expand(Optional expand) { this.expand = expand; return this; } - public Builder expand(String expand) { + public Builder expand(CollectionsListRequestExpand expand) { this.expand = Optional.of(expand); return this; } diff --git a/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsRetrieveRequest.java b/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsRetrieveRequest.java index 97646f2ea..dbe686c08 100644 --- a/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsRetrieveRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/collections/requests/CollectionsRetrieveRequest.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; +import com.merge.api.resources.ticketing.collections.types.CollectionsRetrieveRequestExpand; import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -20,7 +21,7 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = CollectionsRetrieveRequest.Builder.class) public final class CollectionsRetrieveRequest { - private final Optional expand; + private final Optional expand; private final Optional includeRemoteData; @@ -31,7 +32,7 @@ public final class CollectionsRetrieveRequest { private final Map additionalProperties; private CollectionsRetrieveRequest( - Optional expand, + Optional expand, Optional includeRemoteData, Optional remoteFields, Optional showEnumOrigins, @@ -47,7 +48,7 @@ private CollectionsRetrieveRequest( * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ @JsonProperty("expand") - public Optional getExpand() { + public Optional getExpand() { return expand; } @@ -109,7 +110,7 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional expand = Optional.empty(); + private Optional expand = Optional.empty(); private Optional includeRemoteData = Optional.empty(); @@ -131,12 +132,12 @@ public Builder from(CollectionsRetrieveRequest other) { } @JsonSetter(value = "expand", nulls = Nulls.SKIP) - public Builder expand(Optional expand) { + public Builder expand(Optional expand) { this.expand = expand; return this; } - public Builder expand(String expand) { + public Builder expand(CollectionsRetrieveRequestExpand expand) { this.expand = Optional.of(expand); return this; } diff --git a/src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsUsersListRequestExpand.java b/src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsListRequestExpand.java similarity index 66% rename from src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsUsersListRequestExpand.java rename to src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsListRequestExpand.java index c1643aec7..0122fd5f0 100644 --- a/src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsUsersListRequestExpand.java +++ b/src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsListRequestExpand.java @@ -5,16 +5,16 @@ import com.fasterxml.jackson.annotation.JsonValue; -public enum CollectionsUsersListRequestExpand { - ROLES("roles"), +public enum CollectionsListRequestExpand { + PARENT_COLLECTION("parent_collection"), TEAMS("teams"), - TEAMS_ROLES("teams,roles"); + TEAMS_PARENT_COLLECTION("teams,parent_collection"); private final String value; - CollectionsUsersListRequestExpand(String value) { + CollectionsListRequestExpand(String value) { this.value = value; } diff --git a/src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsRetrieveRequestExpand.java b/src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsRetrieveRequestExpand.java new file mode 100644 index 000000000..9fd13b404 --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/collections/types/CollectionsRetrieveRequestExpand.java @@ -0,0 +1,26 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.collections.types; + +import com.fasterxml.jackson.annotation.JsonValue; + +public enum CollectionsRetrieveRequestExpand { + PARENT_COLLECTION("parent_collection"), + + TEAMS("teams"), + + TEAMS_PARENT_COLLECTION("teams,parent_collection"); + + private final String value; + + CollectionsRetrieveRequestExpand(String value) { + this.value = value; + } + + @JsonValue + @java.lang.Override + public String toString() { + return this.value; + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/fieldmapping/FieldMappingClient.java b/src/main/java/com/merge/api/resources/ticketing/fieldmapping/FieldMappingClient.java index 24dd87fb3..5f76cbb9c 100644 --- a/src/main/java/com/merge/api/resources/ticketing/fieldmapping/FieldMappingClient.java +++ b/src/main/java/com/merge/api/resources/ticketing/fieldmapping/FieldMappingClient.java @@ -11,6 +11,7 @@ import com.merge.api.core.ObjectMappers; import com.merge.api.core.RequestOptions; import com.merge.api.resources.ticketing.fieldmapping.requests.CreateFieldMappingRequest; +import com.merge.api.resources.ticketing.fieldmapping.requests.FieldMappingsRetrieveRequest; import com.merge.api.resources.ticketing.fieldmapping.requests.PatchedEditFieldMappingRequest; import com.merge.api.resources.ticketing.fieldmapping.requests.RemoteFieldsRetrieveRequest; import com.merge.api.resources.ticketing.types.ExternalTargetFieldApiResponse; @@ -18,6 +19,8 @@ import com.merge.api.resources.ticketing.types.FieldMappingInstanceResponse; import com.merge.api.resources.ticketing.types.RemoteFieldApiResponse; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -37,23 +40,35 @@ public FieldMappingClient(ClientOptions clientOptions) { * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ public FieldMappingApiInstanceResponse fieldMappingsRetrieve() { - return fieldMappingsRetrieve(null); + return fieldMappingsRetrieve(FieldMappingsRetrieveRequest.builder().build()); } /** * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. */ - public FieldMappingApiInstanceResponse fieldMappingsRetrieve(RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + public FieldMappingApiInstanceResponse fieldMappingsRetrieve(FieldMappingsRetrieveRequest request) { + return fieldMappingsRetrieve(request, null); + } + + /** + * Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields and user defined Merge fields. Learn more. + */ + public FieldMappingApiInstanceResponse fieldMappingsRetrieve( + FieldMappingsRetrieveRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("ticketing/v1/field-mappings") - .build(); - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + .addPathSegments("ticketing/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("GET", null) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -86,23 +101,34 @@ public FieldMappingInstanceResponse fieldMappingsCreate(CreateFieldMappingReques */ public FieldMappingInstanceResponse fieldMappingsCreate( CreateFieldMappingRequest request, RequestOptions requestOptions) { - HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() - .addPathSegments("ticketing/v1/field-mappings") - .build(); + .addPathSegments("ticketing/v1/field-mappings"); + if (request.getExcludeRemoteFieldMetadata().isPresent()) { + httpUrl.addQueryParameter( + "exclude_remote_field_metadata", + request.getExcludeRemoteFieldMetadata().get().toString()); + } + Map properties = new HashMap<>(); + properties.put("target_field_name", request.getTargetFieldName()); + properties.put("target_field_description", request.getTargetFieldDescription()); + properties.put("remote_field_traversal_path", request.getRemoteFieldTraversalPath()); + properties.put("remote_method", request.getRemoteMethod()); + properties.put("remote_url_path", request.getRemoteUrlPath()); + properties.put("common_model_name", request.getCommonModelName()); RequestBody body; try { body = RequestBody.create( - ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); - } catch (JsonProcessingException e) { - throw new MergeException("Failed to serialize request", e); + ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON); + } catch (Exception e) { + throw new RuntimeException(e); } - Request okhttpRequest = new Request.Builder() - .url(httpUrl) + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) .method("POST", body) .headers(Headers.of(clientOptions.headers(requestOptions))) - .addHeader("Content-Type", "application/json") - .build(); + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); diff --git a/src/main/java/com/merge/api/resources/ticketing/fieldmapping/requests/CreateFieldMappingRequest.java b/src/main/java/com/merge/api/resources/ticketing/fieldmapping/requests/CreateFieldMappingRequest.java index 3aaae8c79..54a5a9c64 100644 --- a/src/main/java/com/merge/api/resources/ticketing/fieldmapping/requests/CreateFieldMappingRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/fieldmapping/requests/CreateFieldMappingRequest.java @@ -18,10 +18,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = CreateFieldMappingRequest.Builder.class) public final class CreateFieldMappingRequest { + private final Optional excludeRemoteFieldMetadata; + private final String targetFieldName; private final String targetFieldDescription; @@ -37,6 +40,7 @@ public final class CreateFieldMappingRequest { private final Map additionalProperties; private CreateFieldMappingRequest( + Optional excludeRemoteFieldMetadata, String targetFieldName, String targetFieldDescription, List remoteFieldTraversalPath, @@ -44,6 +48,7 @@ private CreateFieldMappingRequest( String remoteUrlPath, String commonModelName, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; this.targetFieldName = targetFieldName; this.targetFieldDescription = targetFieldDescription; this.remoteFieldTraversalPath = remoteFieldTraversalPath; @@ -53,6 +58,14 @@ private CreateFieldMappingRequest( this.additionalProperties = additionalProperties; } + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + /** * @return The name of the target field you want this remote field to map to. */ @@ -113,7 +126,8 @@ public Map getAdditionalProperties() { } private boolean equalTo(CreateFieldMappingRequest other) { - return targetFieldName.equals(other.targetFieldName) + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata) + && targetFieldName.equals(other.targetFieldName) && targetFieldDescription.equals(other.targetFieldDescription) && remoteFieldTraversalPath.equals(other.remoteFieldTraversalPath) && remoteMethod.equals(other.remoteMethod) @@ -124,6 +138,7 @@ private boolean equalTo(CreateFieldMappingRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( + this.excludeRemoteFieldMetadata, this.targetFieldName, this.targetFieldDescription, this.remoteFieldTraversalPath, @@ -166,6 +181,10 @@ public interface CommonModelNameStage { public interface _FinalStage { CreateFieldMappingRequest build(); + _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata); + + _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata); + _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalPath); _FinalStage addRemoteFieldTraversalPath(JsonNode remoteFieldTraversalPath); @@ -193,6 +212,8 @@ public static final class Builder private List remoteFieldTraversalPath = new ArrayList<>(); + private Optional excludeRemoteFieldMetadata = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -200,6 +221,7 @@ private Builder() {} @java.lang.Override public Builder from(CreateFieldMappingRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); targetFieldName(other.getTargetFieldName()); targetFieldDescription(other.getTargetFieldDescription()); remoteFieldTraversalPath(other.getRemoteFieldTraversalPath()); @@ -292,9 +314,27 @@ public _FinalStage remoteFieldTraversalPath(List remoteFieldTraversalP return this; } + /** + *

                            If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations.

                            + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + @java.lang.Override + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public _FinalStage excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + @java.lang.Override public CreateFieldMappingRequest build() { return new CreateFieldMappingRequest( + excludeRemoteFieldMetadata, targetFieldName, targetFieldDescription, remoteFieldTraversalPath, diff --git a/src/main/java/com/merge/api/resources/ticketing/fieldmapping/requests/FieldMappingsRetrieveRequest.java b/src/main/java/com/merge/api/resources/ticketing/fieldmapping/requests/FieldMappingsRetrieveRequest.java new file mode 100644 index 000000000..2d274ba0f --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/fieldmapping/requests/FieldMappingsRetrieveRequest.java @@ -0,0 +1,99 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.fieldmapping.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = FieldMappingsRetrieveRequest.Builder.class) +public final class FieldMappingsRetrieveRequest { + private final Optional excludeRemoteFieldMetadata; + + private final Map additionalProperties; + + private FieldMappingsRetrieveRequest( + Optional excludeRemoteFieldMetadata, Map additionalProperties) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + this.additionalProperties = additionalProperties; + } + + /** + * @return If true, remote fields metadata is excluded from each field mapping instance (i.e. remote_fields.remote_key_name and remote_fields.schema will be null). This will increase the speed of the request since these fields require some calculations. + */ + @JsonProperty("exclude_remote_field_metadata") + public Optional getExcludeRemoteFieldMetadata() { + return excludeRemoteFieldMetadata; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof FieldMappingsRetrieveRequest && equalTo((FieldMappingsRetrieveRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(FieldMappingsRetrieveRequest other) { + return excludeRemoteFieldMetadata.equals(other.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.excludeRemoteFieldMetadata); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional excludeRemoteFieldMetadata = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(FieldMappingsRetrieveRequest other) { + excludeRemoteFieldMetadata(other.getExcludeRemoteFieldMetadata()); + return this; + } + + @JsonSetter(value = "exclude_remote_field_metadata", nulls = Nulls.SKIP) + public Builder excludeRemoteFieldMetadata(Optional excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = excludeRemoteFieldMetadata; + return this; + } + + public Builder excludeRemoteFieldMetadata(Boolean excludeRemoteFieldMetadata) { + this.excludeRemoteFieldMetadata = Optional.of(excludeRemoteFieldMetadata); + return this; + } + + public FieldMappingsRetrieveRequest build() { + return new FieldMappingsRetrieveRequest(excludeRemoteFieldMetadata, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/linktoken/requests/EndUserDetailsRequest.java b/src/main/java/com/merge/api/resources/ticketing/linktoken/requests/EndUserDetailsRequest.java index 12c616362..d59f078ea 100644 --- a/src/main/java/com/merge/api/resources/ticketing/linktoken/requests/EndUserDetailsRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/linktoken/requests/EndUserDetailsRequest.java @@ -50,6 +50,8 @@ public final class EndUserDetailsRequest { private final Optional language; + private final Optional areSyncsDisabled; + private final Optional> integrationSpecificConfig; private final Map additionalProperties; @@ -67,6 +69,7 @@ private EndUserDetailsRequest( Optional>>> categoryCommonModelScopes, Optional language, + Optional areSyncsDisabled, Optional> integrationSpecificConfig, Map additionalProperties) { this.endUserEmailAddress = endUserEmailAddress; @@ -80,6 +83,7 @@ private EndUserDetailsRequest( this.commonModels = commonModels; this.categoryCommonModelScopes = categoryCommonModelScopes; this.language = language; + this.areSyncsDisabled = areSyncsDisabled; this.integrationSpecificConfig = integrationSpecificConfig; this.additionalProperties = additionalProperties; } @@ -177,6 +181,14 @@ public Optional getLanguage() { return language; } + /** + * @return The boolean that indicates whether initial, periodic, and force syncs will be disabled. + */ + @JsonProperty("are_syncs_disabled") + public Optional getAreSyncsDisabled() { + return areSyncsDisabled; + } + /** * @return A JSON object containing integration-specific configuration options. */ @@ -208,6 +220,7 @@ private boolean equalTo(EndUserDetailsRequest other) { && commonModels.equals(other.commonModels) && categoryCommonModelScopes.equals(other.categoryCommonModelScopes) && language.equals(other.language) + && areSyncsDisabled.equals(other.areSyncsDisabled) && integrationSpecificConfig.equals(other.integrationSpecificConfig); } @@ -225,6 +238,7 @@ public int hashCode() { this.commonModels, this.categoryCommonModelScopes, this.language, + this.areSyncsDisabled, this.integrationSpecificConfig); } @@ -291,6 +305,10 @@ _FinalStage categoryCommonModelScopes( _FinalStage language(LanguageEnum language); + _FinalStage areSyncsDisabled(Optional areSyncsDisabled); + + _FinalStage areSyncsDisabled(Boolean areSyncsDisabled); + _FinalStage integrationSpecificConfig(Optional> integrationSpecificConfig); _FinalStage integrationSpecificConfig(Map integrationSpecificConfig); @@ -307,6 +325,8 @@ public static final class Builder private Optional> integrationSpecificConfig = Optional.empty(); + private Optional areSyncsDisabled = Optional.empty(); + private Optional language = Optional.empty(); private Optional>>> @@ -342,6 +362,7 @@ public Builder from(EndUserDetailsRequest other) { commonModels(other.getCommonModels()); categoryCommonModelScopes(other.getCategoryCommonModelScopes()); language(other.getLanguage()); + areSyncsDisabled(other.getAreSyncsDisabled()); integrationSpecificConfig(other.getIntegrationSpecificConfig()); return this; } @@ -396,6 +417,23 @@ public _FinalStage integrationSpecificConfig(Optional> int return this; } + /** + *

                            The boolean that indicates whether initial, periodic, and force syncs will be disabled.

                            + * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage areSyncsDisabled(Boolean areSyncsDisabled) { + this.areSyncsDisabled = Optional.of(areSyncsDisabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "are_syncs_disabled", nulls = Nulls.SKIP) + public _FinalStage areSyncsDisabled(Optional areSyncsDisabled) { + this.areSyncsDisabled = areSyncsDisabled; + return this; + } + /** *

                            The following subset of IETF language tags can be used to configure localization.

                            *
                              @@ -564,6 +602,7 @@ public EndUserDetailsRequest build() { commonModels, categoryCommonModelScopes, language, + areSyncsDisabled, integrationSpecificConfig, additionalProperties); } diff --git a/src/main/java/com/merge/api/resources/ticketing/tickets/TicketsClient.java b/src/main/java/com/merge/api/resources/ticketing/tickets/TicketsClient.java index 99cf61b89..af44ecfce 100644 --- a/src/main/java/com/merge/api/resources/ticketing/tickets/TicketsClient.java +++ b/src/main/java/com/merge/api/resources/ticketing/tickets/TicketsClient.java @@ -11,14 +11,14 @@ import com.merge.api.core.RequestOptions; import com.merge.api.resources.ticketing.tickets.requests.PatchedTicketEndpointRequest; import com.merge.api.resources.ticketing.tickets.requests.TicketEndpointRequest; -import com.merge.api.resources.ticketing.tickets.requests.TicketsCollaboratorsListRequest; import com.merge.api.resources.ticketing.tickets.requests.TicketsListRequest; import com.merge.api.resources.ticketing.tickets.requests.TicketsRemoteFieldClassesListRequest; import com.merge.api.resources.ticketing.tickets.requests.TicketsRetrieveRequest; +import com.merge.api.resources.ticketing.tickets.requests.TicketsViewersListRequest; import com.merge.api.resources.ticketing.types.MetaResponse; import com.merge.api.resources.ticketing.types.PaginatedRemoteFieldClassList; import com.merge.api.resources.ticketing.types.PaginatedTicketList; -import com.merge.api.resources.ticketing.types.PaginatedUserList; +import com.merge.api.resources.ticketing.types.PaginatedViewerList; import com.merge.api.resources.ticketing.types.Ticket; import com.merge.api.resources.ticketing.types.TicketResponse; import java.io.IOException; @@ -169,7 +169,7 @@ public PaginatedTicketList list(TicketsListRequest request, RequestOptions reque "show_enum_origins", request.getShowEnumOrigins().get().toString()); } if (request.getStatus().isPresent()) { - httpUrl.addQueryParameter("status", request.getStatus().get().toString()); + httpUrl.addQueryParameter("status", request.getStatus().get()); } if (request.getTags().isPresent()) { httpUrl.addQueryParameter("tags", request.getTags().get()); @@ -385,30 +385,29 @@ public TicketResponse partialUpdate( } /** - * Returns a list of User objects. + * Returns a list of Viewer objects. */ - public PaginatedUserList collaboratorsList(String parentId) { - return collaboratorsList( - parentId, TicketsCollaboratorsListRequest.builder().build()); + public PaginatedViewerList viewersList(String ticketId) { + return viewersList(ticketId, TicketsViewersListRequest.builder().build()); } /** - * Returns a list of User objects. + * Returns a list of Viewer objects. */ - public PaginatedUserList collaboratorsList(String parentId, TicketsCollaboratorsListRequest request) { - return collaboratorsList(parentId, request, null); + public PaginatedViewerList viewersList(String ticketId, TicketsViewersListRequest request) { + return viewersList(ticketId, request, null); } /** - * Returns a list of User objects. + * Returns a list of Viewer objects. */ - public PaginatedUserList collaboratorsList( - String parentId, TicketsCollaboratorsListRequest request, RequestOptions requestOptions) { + public PaginatedViewerList viewersList( + String ticketId, TicketsViewersListRequest request, RequestOptions requestOptions) { HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() .addPathSegments("ticketing/v1/tickets") - .addPathSegment(parentId) - .addPathSegments("collaborators"); + .addPathSegment(ticketId) + .addPathSegments("viewers"); if (request.getCursor().isPresent()) { httpUrl.addQueryParameter("cursor", request.getCursor().get()); } @@ -444,7 +443,7 @@ public PaginatedUserList collaboratorsList( try (Response response = client.newCall(okhttpRequest).execute()) { ResponseBody responseBody = response.body(); if (response.isSuccessful()) { - return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), PaginatedUserList.class); + return ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), PaginatedViewerList.class); } String responseBodyString = responseBody != null ? responseBody.string() : "{}"; throw new ApiError( diff --git a/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsListRequest.java b/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsListRequest.java index 873de6393..3d9754cbd 100644 --- a/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsListRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsListRequest.java @@ -16,7 +16,6 @@ import com.merge.api.resources.ticketing.tickets.types.TicketsListRequestPriority; import com.merge.api.resources.ticketing.tickets.types.TicketsListRequestRemoteFields; import com.merge.api.resources.ticketing.tickets.types.TicketsListRequestShowEnumOrigins; -import com.merge.api.resources.ticketing.tickets.types.TicketsListRequestStatus; import java.time.OffsetDateTime; import java.util.HashMap; import java.util.Map; @@ -82,7 +81,7 @@ public final class TicketsListRequest { private final Optional showEnumOrigins; - private final Optional status; + private final Optional status; private final Optional tags; @@ -121,7 +120,7 @@ private TicketsListRequest( Optional remoteUpdatedAfter, Optional remoteUpdatedBefore, Optional showEnumOrigins, - Optional status, + Optional status, Optional tags, Optional ticketType, Optional ticketUrl, @@ -393,15 +392,9 @@ public Optional getShowEnumOrigins() { /** * @return If provided, will only return tickets of this status. - *
                                - *
                              • OPEN - OPEN
                              • - *
                              • CLOSED - CLOSED
                              • - *
                              • IN_PROGRESS - IN_PROGRESS
                              • - *
                              • ON_HOLD - ON_HOLD
                              • - *
                              */ @JsonProperty("status") - public Optional getStatus() { + public Optional getStatus() { return status; } @@ -579,7 +572,7 @@ public static final class Builder { private Optional showEnumOrigins = Optional.empty(); - private Optional status = Optional.empty(); + private Optional status = Optional.empty(); private Optional tags = Optional.empty(); @@ -937,12 +930,12 @@ public Builder showEnumOrigins(TicketsListRequestShowEnumOrigins showEnumOrigins } @JsonSetter(value = "status", nulls = Nulls.SKIP) - public Builder status(Optional status) { + public Builder status(Optional status) { this.status = status; return this; } - public Builder status(TicketsListRequestStatus status) { + public Builder status(String status) { this.status = Optional.of(status); return this; } diff --git a/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsCollaboratorsListRequest.java b/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsViewersListRequest.java similarity index 87% rename from src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsCollaboratorsListRequest.java rename to src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsViewersListRequest.java index 81e55bf29..2e5b096e2 100644 --- a/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsCollaboratorsListRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/tickets/requests/TicketsViewersListRequest.java @@ -12,18 +12,18 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; -import com.merge.api.resources.ticketing.tickets.types.TicketsCollaboratorsListRequestExpand; +import com.merge.api.resources.ticketing.tickets.types.TicketsViewersListRequestExpand; import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) -@JsonDeserialize(builder = TicketsCollaboratorsListRequest.Builder.class) -public final class TicketsCollaboratorsListRequest { +@JsonDeserialize(builder = TicketsViewersListRequest.Builder.class) +public final class TicketsViewersListRequest { private final Optional cursor; - private final Optional expand; + private final Optional expand; private final Optional includeDeletedData; @@ -35,9 +35,9 @@ public final class TicketsCollaboratorsListRequest { private final Map additionalProperties; - private TicketsCollaboratorsListRequest( + private TicketsViewersListRequest( Optional cursor, - Optional expand, + Optional expand, Optional includeDeletedData, Optional includeRemoteData, Optional includeShellData, @@ -64,7 +64,7 @@ public Optional getCursor() { * @return Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces. */ @JsonProperty("expand") - public Optional getExpand() { + public Optional getExpand() { return expand; } @@ -103,7 +103,7 @@ public Optional getPageSize() { @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof TicketsCollaboratorsListRequest && equalTo((TicketsCollaboratorsListRequest) other); + return other instanceof TicketsViewersListRequest && equalTo((TicketsViewersListRequest) other); } @JsonAnyGetter @@ -111,7 +111,7 @@ public Map getAdditionalProperties() { return this.additionalProperties; } - private boolean equalTo(TicketsCollaboratorsListRequest other) { + private boolean equalTo(TicketsViewersListRequest other) { return cursor.equals(other.cursor) && expand.equals(other.expand) && includeDeletedData.equals(other.includeDeletedData) @@ -144,7 +144,7 @@ public static Builder builder() { public static final class Builder { private Optional cursor = Optional.empty(); - private Optional expand = Optional.empty(); + private Optional expand = Optional.empty(); private Optional includeDeletedData = Optional.empty(); @@ -159,7 +159,7 @@ public static final class Builder { private Builder() {} - public Builder from(TicketsCollaboratorsListRequest other) { + public Builder from(TicketsViewersListRequest other) { cursor(other.getCursor()); expand(other.getExpand()); includeDeletedData(other.getIncludeDeletedData()); @@ -181,12 +181,12 @@ public Builder cursor(String cursor) { } @JsonSetter(value = "expand", nulls = Nulls.SKIP) - public Builder expand(Optional expand) { + public Builder expand(Optional expand) { this.expand = expand; return this; } - public Builder expand(TicketsCollaboratorsListRequestExpand expand) { + public Builder expand(TicketsViewersListRequestExpand expand) { this.expand = Optional.of(expand); return this; } @@ -235,8 +235,8 @@ public Builder pageSize(Integer pageSize) { return this; } - public TicketsCollaboratorsListRequest build() { - return new TicketsCollaboratorsListRequest( + public TicketsViewersListRequest build() { + return new TicketsViewersListRequest( cursor, expand, includeDeletedData, diff --git a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsListRequestExpand.java b/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsListRequestExpand.java index 1c473c124..0418c1ab0 100644 --- a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsListRequestExpand.java +++ b/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsListRequestExpand.java @@ -22,6 +22,38 @@ public enum TicketsListRequestExpand { ACCOUNT_PARENT_TICKET("account,parent_ticket"), + ASSIGNED_TEAMS("assigned_teams"), + + ASSIGNED_TEAMS_ACCOUNT("assigned_teams,account"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT("assigned_teams,account,contact"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("assigned_teams,account,contact,creator"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET("assigned_teams,account,contact,creator,parent_ticket"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET("assigned_teams,account,contact,parent_ticket"), + + ASSIGNED_TEAMS_ACCOUNT_CREATOR("assigned_teams,account,creator"), + + ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET("assigned_teams,account,creator,parent_ticket"), + + ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("assigned_teams,account,parent_ticket"), + + ASSIGNED_TEAMS_CONTACT("assigned_teams,contact"), + + ASSIGNED_TEAMS_CONTACT_CREATOR("assigned_teams,contact,creator"), + + ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET("assigned_teams,contact,creator,parent_ticket"), + + ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("assigned_teams,contact,parent_ticket"), + + ASSIGNED_TEAMS_CREATOR("assigned_teams,creator"), + + ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("assigned_teams,creator,parent_ticket"), + + ASSIGNED_TEAMS_PARENT_TICKET("assigned_teams,parent_ticket"), + ASSIGNEES("assignees"), ASSIGNEES_ACCOUNT("assignees,account"), @@ -40,6 +72,39 @@ public enum TicketsListRequestExpand { ASSIGNEES_ACCOUNT_PARENT_TICKET("assignees,account,parent_ticket"), + ASSIGNEES_ASSIGNED_TEAMS("assignees,assigned_teams"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT("assignees,assigned_teams,account"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT("assignees,assigned_teams,account,contact"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("assignees,assigned_teams,account,contact,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "assignees,assigned_teams,account,contact,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET("assignees,assigned_teams,account,contact,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR("assignees,assigned_teams,account,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET("assignees,assigned_teams,account,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("assignees,assigned_teams,account,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT("assignees,assigned_teams,contact"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR("assignees,assigned_teams,contact,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET("assignees,assigned_teams,contact,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("assignees,assigned_teams,contact,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_CREATOR("assignees,assigned_teams,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("assignees,assigned_teams,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_PARENT_TICKET("assignees,assigned_teams,parent_ticket"), + ASSIGNEES_COLLECTIONS("assignees,collections"), ASSIGNEES_COLLECTIONS_ACCOUNT("assignees,collections,account"), @@ -59,6 +124,46 @@ public enum TicketsListRequestExpand { ASSIGNEES_COLLECTIONS_ACCOUNT_PARENT_TICKET("assignees,collections,account,parent_ticket"), + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS("assignees,collections,assigned_teams"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT("assignees,collections,assigned_teams,account"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("assignees,collections,assigned_teams,account,contact"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "assignees,collections,assigned_teams,account,contact,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,account,contact,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "assignees,collections,assigned_teams,account,contact,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("assignees,collections,assigned_teams,account,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,account,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "assignees,collections,assigned_teams,account,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT("assignees,collections,assigned_teams,contact"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR("assignees,collections,assigned_teams,contact,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,contact,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "assignees,collections,assigned_teams,contact,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR("assignees,collections,assigned_teams,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET("assignees,collections,assigned_teams,parent_ticket"), + ASSIGNEES_COLLECTIONS_CONTACT("assignees,collections,contact"), ASSIGNEES_COLLECTIONS_CONTACT_CREATOR("assignees,collections,contact,creator"), @@ -105,6 +210,42 @@ public enum TicketsListRequestExpand { ATTACHMENTS_ACCOUNT_PARENT_TICKET("attachments,account,parent_ticket"), + ATTACHMENTS_ASSIGNED_TEAMS("attachments,assigned_teams"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT("attachments,assigned_teams,account"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("attachments,assigned_teams,account,contact"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("attachments,assigned_teams,account,contact,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("attachments,assigned_teams,account,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("attachments,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT("attachments,assigned_teams,contact"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT_CREATOR("attachments,assigned_teams,contact,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("attachments,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_CREATOR("attachments,assigned_teams,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("attachments,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_PARENT_TICKET("attachments,assigned_teams,parent_ticket"), + ATTACHMENTS_ASSIGNEES("attachments,assignees"), ATTACHMENTS_ASSIGNEES_ACCOUNT("attachments,assignees,account"), @@ -124,6 +265,46 @@ public enum TicketsListRequestExpand { ATTACHMENTS_ASSIGNEES_ACCOUNT_PARENT_TICKET("attachments,assignees,account,parent_ticket"), + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS("attachments,assignees,assigned_teams"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT("attachments,assignees,assigned_teams,account"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT("attachments,assignees,assigned_teams,account,contact"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "attachments,assignees,assigned_teams,account,contact,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR("attachments,assignees,assigned_teams,account,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT("attachments,assignees,assigned_teams,contact"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR("attachments,assignees,assigned_teams,contact,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "attachments,assignees,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CREATOR("attachments,assignees,assigned_teams,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_PARENT_TICKET("attachments,assignees,assigned_teams,parent_ticket"), + ATTACHMENTS_ASSIGNEES_COLLECTIONS("attachments,assignees,collections"), ATTACHMENTS_ASSIGNEES_COLLECTIONS_ACCOUNT("attachments,assignees,collections,account"), @@ -146,6 +327,53 @@ public enum TicketsListRequestExpand { ATTACHMENTS_ASSIGNEES_COLLECTIONS_ACCOUNT_PARENT_TICKET("attachments,assignees,collections,account,parent_ticket"), + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS("attachments,assignees,collections,assigned_teams"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT( + "attachments,assignees,collections,assigned_teams,account"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT( + "attachments,assignees,collections,assigned_teams,account,contact"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "attachments,assignees,collections,assigned_teams,account,contact,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR( + "attachments,assignees,collections,assigned_teams,account,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT( + "attachments,assignees,collections,assigned_teams,contact"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR( + "attachments,assignees,collections,assigned_teams,contact,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR( + "attachments,assignees,collections,assigned_teams,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,parent_ticket"), + ATTACHMENTS_ASSIGNEES_COLLECTIONS_CONTACT("attachments,assignees,collections,contact"), ATTACHMENTS_ASSIGNEES_COLLECTIONS_CONTACT_CREATOR("attachments,assignees,collections,contact,creator"), @@ -194,6 +422,46 @@ public enum TicketsListRequestExpand { ATTACHMENTS_COLLECTIONS_ACCOUNT_PARENT_TICKET("attachments,collections,account,parent_ticket"), + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS("attachments,collections,assigned_teams"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT("attachments,collections,assigned_teams,account"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("attachments,collections,assigned_teams,account,contact"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "attachments,collections,assigned_teams,account,contact,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,collections,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("attachments,collections,assigned_teams,account,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "attachments,collections,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT("attachments,collections,assigned_teams,contact"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR("attachments,collections,assigned_teams,contact,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "attachments,collections,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CREATOR("attachments,collections,assigned_teams,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET("attachments,collections,assigned_teams,parent_ticket"), + ATTACHMENTS_COLLECTIONS_CONTACT("attachments,collections,contact"), ATTACHMENTS_COLLECTIONS_CONTACT_CREATOR("attachments,collections,contact,creator"), @@ -240,6 +508,42 @@ public enum TicketsListRequestExpand { COLLECTIONS_ACCOUNT_PARENT_TICKET("collections,account,parent_ticket"), + COLLECTIONS_ASSIGNED_TEAMS("collections,assigned_teams"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT("collections,assigned_teams,account"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("collections,assigned_teams,account,contact"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("collections,assigned_teams,account,contact,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "collections,assigned_teams,account,contact,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "collections,assigned_teams,account,contact,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("collections,assigned_teams,account,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "collections,assigned_teams,account,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("collections,assigned_teams,account,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT("collections,assigned_teams,contact"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR("collections,assigned_teams,contact,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "collections,assigned_teams,contact,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("collections,assigned_teams,contact,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_CREATOR("collections,assigned_teams,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("collections,assigned_teams,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET("collections,assigned_teams,parent_ticket"), + COLLECTIONS_CONTACT("collections,contact"), COLLECTIONS_CONTACT_CREATOR("collections,contact,creator"), diff --git a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsRetrieveRequestExpand.java b/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsRetrieveRequestExpand.java index f4778831e..db93e13a7 100644 --- a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsRetrieveRequestExpand.java +++ b/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsRetrieveRequestExpand.java @@ -22,6 +22,38 @@ public enum TicketsRetrieveRequestExpand { ACCOUNT_PARENT_TICKET("account,parent_ticket"), + ASSIGNED_TEAMS("assigned_teams"), + + ASSIGNED_TEAMS_ACCOUNT("assigned_teams,account"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT("assigned_teams,account,contact"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("assigned_teams,account,contact,creator"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET("assigned_teams,account,contact,creator,parent_ticket"), + + ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET("assigned_teams,account,contact,parent_ticket"), + + ASSIGNED_TEAMS_ACCOUNT_CREATOR("assigned_teams,account,creator"), + + ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET("assigned_teams,account,creator,parent_ticket"), + + ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("assigned_teams,account,parent_ticket"), + + ASSIGNED_TEAMS_CONTACT("assigned_teams,contact"), + + ASSIGNED_TEAMS_CONTACT_CREATOR("assigned_teams,contact,creator"), + + ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET("assigned_teams,contact,creator,parent_ticket"), + + ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("assigned_teams,contact,parent_ticket"), + + ASSIGNED_TEAMS_CREATOR("assigned_teams,creator"), + + ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("assigned_teams,creator,parent_ticket"), + + ASSIGNED_TEAMS_PARENT_TICKET("assigned_teams,parent_ticket"), + ASSIGNEES("assignees"), ASSIGNEES_ACCOUNT("assignees,account"), @@ -40,6 +72,39 @@ public enum TicketsRetrieveRequestExpand { ASSIGNEES_ACCOUNT_PARENT_TICKET("assignees,account,parent_ticket"), + ASSIGNEES_ASSIGNED_TEAMS("assignees,assigned_teams"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT("assignees,assigned_teams,account"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT("assignees,assigned_teams,account,contact"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("assignees,assigned_teams,account,contact,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "assignees,assigned_teams,account,contact,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET("assignees,assigned_teams,account,contact,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR("assignees,assigned_teams,account,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET("assignees,assigned_teams,account,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("assignees,assigned_teams,account,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT("assignees,assigned_teams,contact"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR("assignees,assigned_teams,contact,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET("assignees,assigned_teams,contact,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("assignees,assigned_teams,contact,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_CREATOR("assignees,assigned_teams,creator"), + + ASSIGNEES_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("assignees,assigned_teams,creator,parent_ticket"), + + ASSIGNEES_ASSIGNED_TEAMS_PARENT_TICKET("assignees,assigned_teams,parent_ticket"), + ASSIGNEES_COLLECTIONS("assignees,collections"), ASSIGNEES_COLLECTIONS_ACCOUNT("assignees,collections,account"), @@ -59,6 +124,46 @@ public enum TicketsRetrieveRequestExpand { ASSIGNEES_COLLECTIONS_ACCOUNT_PARENT_TICKET("assignees,collections,account,parent_ticket"), + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS("assignees,collections,assigned_teams"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT("assignees,collections,assigned_teams,account"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("assignees,collections,assigned_teams,account,contact"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "assignees,collections,assigned_teams,account,contact,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,account,contact,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "assignees,collections,assigned_teams,account,contact,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("assignees,collections,assigned_teams,account,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,account,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "assignees,collections,assigned_teams,account,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT("assignees,collections,assigned_teams,contact"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR("assignees,collections,assigned_teams,contact,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,contact,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "assignees,collections,assigned_teams,contact,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR("assignees,collections,assigned_teams,creator"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "assignees,collections,assigned_teams,creator,parent_ticket"), + + ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET("assignees,collections,assigned_teams,parent_ticket"), + ASSIGNEES_COLLECTIONS_CONTACT("assignees,collections,contact"), ASSIGNEES_COLLECTIONS_CONTACT_CREATOR("assignees,collections,contact,creator"), @@ -105,6 +210,42 @@ public enum TicketsRetrieveRequestExpand { ATTACHMENTS_ACCOUNT_PARENT_TICKET("attachments,account,parent_ticket"), + ATTACHMENTS_ASSIGNED_TEAMS("attachments,assigned_teams"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT("attachments,assigned_teams,account"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("attachments,assigned_teams,account,contact"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("attachments,assigned_teams,account,contact,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("attachments,assigned_teams,account,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("attachments,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT("attachments,assigned_teams,contact"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT_CREATOR("attachments,assigned_teams,contact,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("attachments,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_CREATOR("attachments,assigned_teams,creator"), + + ATTACHMENTS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("attachments,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNED_TEAMS_PARENT_TICKET("attachments,assigned_teams,parent_ticket"), + ATTACHMENTS_ASSIGNEES("attachments,assignees"), ATTACHMENTS_ASSIGNEES_ACCOUNT("attachments,assignees,account"), @@ -124,6 +265,46 @@ public enum TicketsRetrieveRequestExpand { ATTACHMENTS_ASSIGNEES_ACCOUNT_PARENT_TICKET("attachments,assignees,account,parent_ticket"), + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS("attachments,assignees,assigned_teams"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT("attachments,assignees,assigned_teams,account"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT("attachments,assignees,assigned_teams,account,contact"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "attachments,assignees,assigned_teams,account,contact,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR("attachments,assignees,assigned_teams,account,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "attachments,assignees,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT("attachments,assignees,assigned_teams,contact"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR("attachments,assignees,assigned_teams,contact,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "attachments,assignees,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CREATOR("attachments,assignees,assigned_teams,creator"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "attachments,assignees,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_ASSIGNED_TEAMS_PARENT_TICKET("attachments,assignees,assigned_teams,parent_ticket"), + ATTACHMENTS_ASSIGNEES_COLLECTIONS("attachments,assignees,collections"), ATTACHMENTS_ASSIGNEES_COLLECTIONS_ACCOUNT("attachments,assignees,collections,account"), @@ -146,6 +327,53 @@ public enum TicketsRetrieveRequestExpand { ATTACHMENTS_ASSIGNEES_COLLECTIONS_ACCOUNT_PARENT_TICKET("attachments,assignees,collections,account,parent_ticket"), + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS("attachments,assignees,collections,assigned_teams"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT( + "attachments,assignees,collections,assigned_teams,account"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT( + "attachments,assignees,collections,assigned_teams,account,contact"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "attachments,assignees,collections,assigned_teams,account,contact,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR( + "attachments,assignees,collections,assigned_teams,account,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT( + "attachments,assignees,collections,assigned_teams,contact"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR( + "attachments,assignees,collections,assigned_teams,contact,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR( + "attachments,assignees,collections,assigned_teams,creator"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_ASSIGNEES_COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET( + "attachments,assignees,collections,assigned_teams,parent_ticket"), + ATTACHMENTS_ASSIGNEES_COLLECTIONS_CONTACT("attachments,assignees,collections,contact"), ATTACHMENTS_ASSIGNEES_COLLECTIONS_CONTACT_CREATOR("attachments,assignees,collections,contact,creator"), @@ -194,6 +422,46 @@ public enum TicketsRetrieveRequestExpand { ATTACHMENTS_COLLECTIONS_ACCOUNT_PARENT_TICKET("attachments,collections,account,parent_ticket"), + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS("attachments,collections,assigned_teams"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT("attachments,collections,assigned_teams,account"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("attachments,collections,assigned_teams,account,contact"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR( + "attachments,collections,assigned_teams,account,contact,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,account,contact,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "attachments,collections,assigned_teams,account,contact,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("attachments,collections,assigned_teams,account,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,account,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET( + "attachments,collections,assigned_teams,account,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT("attachments,collections,assigned_teams,contact"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR("attachments,collections,assigned_teams,contact,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,contact,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET( + "attachments,collections,assigned_teams,contact,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CREATOR("attachments,collections,assigned_teams,creator"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET( + "attachments,collections,assigned_teams,creator,parent_ticket"), + + ATTACHMENTS_COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET("attachments,collections,assigned_teams,parent_ticket"), + ATTACHMENTS_COLLECTIONS_CONTACT("attachments,collections,contact"), ATTACHMENTS_COLLECTIONS_CONTACT_CREATOR("attachments,collections,contact,creator"), @@ -240,6 +508,42 @@ public enum TicketsRetrieveRequestExpand { COLLECTIONS_ACCOUNT_PARENT_TICKET("collections,account,parent_ticket"), + COLLECTIONS_ASSIGNED_TEAMS("collections,assigned_teams"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT("collections,assigned_teams,account"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT("collections,assigned_teams,account,contact"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR("collections,assigned_teams,account,contact,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_CREATOR_PARENT_TICKET( + "collections,assigned_teams,account,contact,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CONTACT_PARENT_TICKET( + "collections,assigned_teams,account,contact,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR("collections,assigned_teams,account,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_CREATOR_PARENT_TICKET( + "collections,assigned_teams,account,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_ACCOUNT_PARENT_TICKET("collections,assigned_teams,account,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT("collections,assigned_teams,contact"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR("collections,assigned_teams,contact,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT_CREATOR_PARENT_TICKET( + "collections,assigned_teams,contact,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_CONTACT_PARENT_TICKET("collections,assigned_teams,contact,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_CREATOR("collections,assigned_teams,creator"), + + COLLECTIONS_ASSIGNED_TEAMS_CREATOR_PARENT_TICKET("collections,assigned_teams,creator,parent_ticket"), + + COLLECTIONS_ASSIGNED_TEAMS_PARENT_TICKET("collections,assigned_teams,parent_ticket"), + COLLECTIONS_CONTACT("collections,contact"), COLLECTIONS_CONTACT_CREATOR("collections,contact,creator"), diff --git a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsListRequestStatus.java b/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsViewersListRequestExpand.java similarity index 66% rename from src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsListRequestStatus.java rename to src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsViewersListRequestExpand.java index 417278ab7..60c2fe992 100644 --- a/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsListRequestStatus.java +++ b/src/main/java/com/merge/api/resources/ticketing/tickets/types/TicketsViewersListRequestExpand.java @@ -5,18 +5,16 @@ import com.fasterxml.jackson.annotation.JsonValue; -public enum TicketsListRequestStatus { - CLOSED("CLOSED"), +public enum TicketsViewersListRequestExpand { + TEAM("team"), - IN_PROGRESS("IN_PROGRESS"), + USER("user"), - ON_HOLD("ON_HOLD"), - - OPEN("OPEN"); + USER_TEAM("user,team"); private final String value; - TicketsListRequestStatus(String value) { + TicketsViewersListRequestExpand(String value) { this.value = value; } diff --git a/src/main/java/com/merge/api/resources/ticketing/types/AuditLogEvent.java b/src/main/java/com/merge/api/resources/ticketing/types/AuditLogEvent.java index e1ed9d2c8..9252076d7 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/AuditLogEvent.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/AuditLogEvent.java @@ -136,6 +136,9 @@ public String getIpAddress() { *
                            • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                            • *
                            • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                            • *
                            • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                            • + *
                            • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                            • + *
                            • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                            • + *
                            • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                            • *
                            • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                            • *
                            • MUTED_ISSUE - MUTED_ISSUE
                            • *
                            • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                            • @@ -339,6 +342,9 @@ public EventTypeStage ipAddress(String ipAddress) { *
                            • CHANGED_LINKED_ACCOUNT_FIELD_MAPPING - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
                            • *
                            • DELETED_INTEGRATION_WIDE_FIELD_MAPPING - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
                            • *
                            • DELETED_LINKED_ACCOUNT_FIELD_MAPPING - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
                            • + *
                            • CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                            • + *
                            • CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                            • + *
                            • DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
                            • *
                            • FORCED_LINKED_ACCOUNT_RESYNC - FORCED_LINKED_ACCOUNT_RESYNC
                            • *
                            • MUTED_ISSUE - MUTED_ISSUE
                            • *
                            • GENERATED_MAGIC_LINK - GENERATED_MAGIC_LINK
                            • diff --git a/src/main/java/com/merge/api/resources/ticketing/types/Collection.java b/src/main/java/com/merge/api/resources/ticketing/types/Collection.java index d55a2dd39..a98f98679 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/Collection.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/Collection.java @@ -39,6 +39,8 @@ public final class Collection { private final Optional parentCollection; + private final Optional>> teams; + private final Optional remoteWasDeleted; private final Optional accessLevel; @@ -58,6 +60,7 @@ private Collection( Optional description, Optional collectionType, Optional parentCollection, + Optional>> teams, Optional remoteWasDeleted, Optional accessLevel, Optional> fieldMappings, @@ -71,6 +74,7 @@ private Collection( this.description = description; this.collectionType = collectionType; this.parentCollection = parentCollection; + this.teams = teams; this.remoteWasDeleted = remoteWasDeleted; this.accessLevel = accessLevel; this.fieldMappings = fieldMappings; @@ -143,6 +147,11 @@ public Optional getParentCollection() { return parentCollection; } + @JsonProperty("teams") + public Optional>> getTeams() { + return teams; + } + /** * @return Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more. */ @@ -194,6 +203,7 @@ private boolean equalTo(Collection other) { && description.equals(other.description) && collectionType.equals(other.collectionType) && parentCollection.equals(other.parentCollection) + && teams.equals(other.teams) && remoteWasDeleted.equals(other.remoteWasDeleted) && accessLevel.equals(other.accessLevel) && fieldMappings.equals(other.fieldMappings) @@ -211,6 +221,7 @@ public int hashCode() { this.description, this.collectionType, this.parentCollection, + this.teams, this.remoteWasDeleted, this.accessLevel, this.fieldMappings, @@ -244,6 +255,8 @@ public static final class Builder { private Optional parentCollection = Optional.empty(); + private Optional>> teams = Optional.empty(); + private Optional remoteWasDeleted = Optional.empty(); private Optional accessLevel = Optional.empty(); @@ -266,6 +279,7 @@ public Builder from(Collection other) { description(other.getDescription()); collectionType(other.getCollectionType()); parentCollection(other.getParentCollection()); + teams(other.getTeams()); remoteWasDeleted(other.getRemoteWasDeleted()); accessLevel(other.getAccessLevel()); fieldMappings(other.getFieldMappings()); @@ -361,6 +375,17 @@ public Builder parentCollection(CollectionParentCollection parentCollection) { return this; } + @JsonSetter(value = "teams", nulls = Nulls.SKIP) + public Builder teams(Optional>> teams) { + this.teams = teams; + return this; + } + + public Builder teams(List> teams) { + this.teams = Optional.of(teams); + return this; + } + @JsonSetter(value = "remote_was_deleted", nulls = Nulls.SKIP) public Builder remoteWasDeleted(Optional remoteWasDeleted) { this.remoteWasDeleted = remoteWasDeleted; @@ -415,6 +440,7 @@ public Collection build() { description, collectionType, parentCollection, + teams, remoteWasDeleted, accessLevel, fieldMappings, diff --git a/src/main/java/com/merge/api/resources/ticketing/types/CollectionTeamsItem.java b/src/main/java/com/merge/api/resources/ticketing/types/CollectionTeamsItem.java new file mode 100644 index 000000000..37ce10990 --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/types/CollectionTeamsItem.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = CollectionTeamsItem.Deserializer.class) +public final class CollectionTeamsItem { + private final Object value; + + private final int type; + + private CollectionTeamsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Team) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CollectionTeamsItem && equalTo((CollectionTeamsItem) other); + } + + private boolean equalTo(CollectionTeamsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static CollectionTeamsItem of(String value) { + return new CollectionTeamsItem(value, 0); + } + + public static CollectionTeamsItem of(Team value) { + return new CollectionTeamsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Team value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(CollectionTeamsItem.class); + } + + @java.lang.Override + public CollectionTeamsItem deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Team.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/types/EventTypeEnum.java b/src/main/java/com/merge/api/resources/ticketing/types/EventTypeEnum.java index e37abfb02..4adf46a40 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/EventTypeEnum.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/EventTypeEnum.java @@ -68,6 +68,12 @@ public enum EventTypeEnum { DELETED_LINKED_ACCOUNT_FIELD_MAPPING("DELETED_LINKED_ACCOUNT_FIELD_MAPPING"), + CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + + DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE("DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"), + FORCED_LINKED_ACCOUNT_RESYNC("FORCED_LINKED_ACCOUNT_RESYNC"), MUTED_ISSUE("MUTED_ISSUE"), diff --git a/src/main/java/com/merge/api/resources/ticketing/types/FieldMappingApiInstanceRemoteField.java b/src/main/java/com/merge/api/resources/ticketing/types/FieldMappingApiInstanceRemoteField.java index 5f93e719f..e20524074 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/FieldMappingApiInstanceRemoteField.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/FieldMappingApiInstanceRemoteField.java @@ -14,24 +14,24 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.merge.api.core.ObjectMappers; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Optional; @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldMappingApiInstanceRemoteField.Builder.class) public final class FieldMappingApiInstanceRemoteField { - private final String remoteKeyName; + private final Optional remoteKeyName; - private final Map schema; + private final Optional> schema; private final FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; private final Map additionalProperties; private FieldMappingApiInstanceRemoteField( - String remoteKeyName, - Map schema, + Optional remoteKeyName, + Optional> schema, FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo, Map additionalProperties) { this.remoteKeyName = remoteKeyName; @@ -41,12 +41,12 @@ private FieldMappingApiInstanceRemoteField( } @JsonProperty("remote_key_name") - public String getRemoteKeyName() { + public Optional getRemoteKeyName() { return remoteKeyName; } @JsonProperty("schema") - public Map getSchema() { + public Optional> getSchema() { return schema; } @@ -83,37 +83,35 @@ public String toString() { return ObjectMappers.stringify(this); } - public static RemoteKeyNameStage builder() { + public static RemoteEndpointInfoStage builder() { return new Builder(); } - public interface RemoteKeyNameStage { - RemoteEndpointInfoStage remoteKeyName(String remoteKeyName); - - Builder from(FieldMappingApiInstanceRemoteField other); - } - public interface RemoteEndpointInfoStage { _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo); + + Builder from(FieldMappingApiInstanceRemoteField other); } public interface _FinalStage { FieldMappingApiInstanceRemoteField build(); - _FinalStage schema(Map schema); + _FinalStage remoteKeyName(Optional remoteKeyName); + + _FinalStage remoteKeyName(String remoteKeyName); - _FinalStage putAllSchema(Map schema); + _FinalStage schema(Optional> schema); - _FinalStage schema(String key, JsonNode value); + _FinalStage schema(Map schema); } @JsonIgnoreProperties(ignoreUnknown = true) - public static final class Builder implements RemoteKeyNameStage, RemoteEndpointInfoStage, _FinalStage { - private String remoteKeyName; - + public static final class Builder implements RemoteEndpointInfoStage, _FinalStage { private FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo; - private Map schema = new LinkedHashMap<>(); + private Optional> schema = Optional.empty(); + + private Optional remoteKeyName = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -129,36 +127,35 @@ public Builder from(FieldMappingApiInstanceRemoteField other) { } @java.lang.Override - @JsonSetter("remote_key_name") - public RemoteEndpointInfoStage remoteKeyName(String remoteKeyName) { - this.remoteKeyName = remoteKeyName; + @JsonSetter("remote_endpoint_info") + public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { + this.remoteEndpointInfo = remoteEndpointInfo; return this; } @java.lang.Override - @JsonSetter("remote_endpoint_info") - public _FinalStage remoteEndpointInfo(FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo remoteEndpointInfo) { - this.remoteEndpointInfo = remoteEndpointInfo; + public _FinalStage schema(Map schema) { + this.schema = Optional.of(schema); return this; } @java.lang.Override - public _FinalStage schema(String key, JsonNode value) { - this.schema.put(key, value); + @JsonSetter(value = "schema", nulls = Nulls.SKIP) + public _FinalStage schema(Optional> schema) { + this.schema = schema; return this; } @java.lang.Override - public _FinalStage putAllSchema(Map schema) { - this.schema.putAll(schema); + public _FinalStage remoteKeyName(String remoteKeyName) { + this.remoteKeyName = Optional.of(remoteKeyName); return this; } @java.lang.Override - @JsonSetter(value = "schema", nulls = Nulls.SKIP) - public _FinalStage schema(Map schema) { - this.schema.clear(); - this.schema.putAll(schema); + @JsonSetter(value = "remote_key_name", nulls = Nulls.SKIP) + public _FinalStage remoteKeyName(Optional remoteKeyName) { + this.remoteKeyName = remoteKeyName; return this; } diff --git a/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializer.java b/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializer.java index 3fc94103d..8f4c3cc91 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializer.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializer.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializer.Builder.class) public final class FieldPermissionDeserializer { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializer( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -59,12 +59,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializer other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -78,9 +78,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -88,35 +88,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializer other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializer build() { - return new FieldPermissionDeserializer(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializer(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializerRequest.java b/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializerRequest.java index 391c0a5d8..361cd97da 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializerRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/FieldPermissionDeserializerRequest.java @@ -22,29 +22,29 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonDeserialize(builder = FieldPermissionDeserializerRequest.Builder.class) public final class FieldPermissionDeserializerRequest { - private final Optional> enabled; + private final Optional> enabledFields; - private final Optional> disabled; + private final Optional> disabledFields; private final Map additionalProperties; private FieldPermissionDeserializerRequest( - Optional> enabled, - Optional> disabled, + Optional> enabledFields, + Optional> disabledFields, Map additionalProperties) { - this.enabled = enabled; - this.disabled = disabled; + this.enabledFields = enabledFields; + this.disabledFields = disabledFields; this.additionalProperties = additionalProperties; } - @JsonProperty("enabled") - public Optional> getEnabled() { - return enabled; + @JsonProperty("enabled_fields") + public Optional> getEnabledFields() { + return enabledFields; } - @JsonProperty("disabled") - public Optional> getDisabled() { - return disabled; + @JsonProperty("disabled_fields") + public Optional> getDisabledFields() { + return disabledFields; } @java.lang.Override @@ -60,12 +60,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(FieldPermissionDeserializerRequest other) { - return enabled.equals(other.enabled) && disabled.equals(other.disabled); + return enabledFields.equals(other.enabledFields) && disabledFields.equals(other.disabledFields); } @java.lang.Override public int hashCode() { - return Objects.hash(this.enabled, this.disabled); + return Objects.hash(this.enabledFields, this.disabledFields); } @java.lang.Override @@ -79,9 +79,9 @@ public static Builder builder() { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder { - private Optional> enabled = Optional.empty(); + private Optional> enabledFields = Optional.empty(); - private Optional> disabled = Optional.empty(); + private Optional> disabledFields = Optional.empty(); @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -89,35 +89,35 @@ public static final class Builder { private Builder() {} public Builder from(FieldPermissionDeserializerRequest other) { - enabled(other.getEnabled()); - disabled(other.getDisabled()); + enabledFields(other.getEnabledFields()); + disabledFields(other.getDisabledFields()); return this; } - @JsonSetter(value = "enabled", nulls = Nulls.SKIP) - public Builder enabled(Optional> enabled) { - this.enabled = enabled; + @JsonSetter(value = "enabled_fields", nulls = Nulls.SKIP) + public Builder enabledFields(Optional> enabledFields) { + this.enabledFields = enabledFields; return this; } - public Builder enabled(List enabled) { - this.enabled = Optional.of(enabled); + public Builder enabledFields(List enabledFields) { + this.enabledFields = Optional.of(enabledFields); return this; } - @JsonSetter(value = "disabled", nulls = Nulls.SKIP) - public Builder disabled(Optional> disabled) { - this.disabled = disabled; + @JsonSetter(value = "disabled_fields", nulls = Nulls.SKIP) + public Builder disabledFields(Optional> disabledFields) { + this.disabledFields = disabledFields; return this; } - public Builder disabled(List disabled) { - this.disabled = Optional.of(disabled); + public Builder disabledFields(List disabledFields) { + this.disabledFields = Optional.of(disabledFields); return this; } public FieldPermissionDeserializerRequest build() { - return new FieldPermissionDeserializerRequest(enabled, disabled, additionalProperties); + return new FieldPermissionDeserializerRequest(enabledFields, disabledFields, additionalProperties); } } } diff --git a/src/main/java/com/merge/api/resources/ticketing/types/PaginatedViewerList.java b/src/main/java/com/merge/api/resources/ticketing/types/PaginatedViewerList.java new file mode 100644 index 000000000..2999f8dd0 --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/types/PaginatedViewerList.java @@ -0,0 +1,144 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = PaginatedViewerList.Builder.class) +public final class PaginatedViewerList { + private final Optional next; + + private final Optional previous; + + private final Optional> results; + + private final Map additionalProperties; + + private PaginatedViewerList( + Optional next, + Optional previous, + Optional> results, + Map additionalProperties) { + this.next = next; + this.previous = previous; + this.results = results; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("next") + public Optional getNext() { + return next; + } + + @JsonProperty("previous") + public Optional getPrevious() { + return previous; + } + + @JsonProperty("results") + public Optional> getResults() { + return results; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof PaginatedViewerList && equalTo((PaginatedViewerList) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(PaginatedViewerList other) { + return next.equals(other.next) && previous.equals(other.previous) && results.equals(other.results); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.next, this.previous, this.results); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional next = Optional.empty(); + + private Optional previous = Optional.empty(); + + private Optional> results = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(PaginatedViewerList other) { + next(other.getNext()); + previous(other.getPrevious()); + results(other.getResults()); + return this; + } + + @JsonSetter(value = "next", nulls = Nulls.SKIP) + public Builder next(Optional next) { + this.next = next; + return this; + } + + public Builder next(String next) { + this.next = Optional.of(next); + return this; + } + + @JsonSetter(value = "previous", nulls = Nulls.SKIP) + public Builder previous(Optional previous) { + this.previous = previous; + return this; + } + + public Builder previous(String previous) { + this.previous = Optional.of(previous); + return this; + } + + @JsonSetter(value = "results", nulls = Nulls.SKIP) + public Builder results(Optional> results) { + this.results = results; + return this; + } + + public Builder results(List results) { + this.results = Optional.of(results); + return this; + } + + public PaginatedViewerList build() { + return new PaginatedViewerList(next, previous, results, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/types/PatchedTicketRequest.java b/src/main/java/com/merge/api/resources/ticketing/types/PatchedTicketRequest.java index f756954e9..32f9a3d8e 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/PatchedTicketRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/PatchedTicketRequest.java @@ -27,6 +27,8 @@ public final class PatchedTicketRequest { private final Optional>> assignees; + private final Optional>> assignedTeams; + private final Optional creator; private final Optional dueDate; @@ -47,6 +49,8 @@ public final class PatchedTicketRequest { private final Optional>> tags; + private final Optional>> roles; + private final Optional completedAt; private final Optional ticketUrl; @@ -64,6 +68,7 @@ public final class PatchedTicketRequest { private PatchedTicketRequest( Optional name, Optional>> assignees, + Optional>> assignedTeams, Optional creator, Optional dueDate, Optional status, @@ -74,6 +79,7 @@ private PatchedTicketRequest( Optional contact, Optional parentTicket, Optional>> tags, + Optional>> roles, Optional completedAt, Optional ticketUrl, Optional priority, @@ -83,6 +89,7 @@ private PatchedTicketRequest( Map additionalProperties) { this.name = name; this.assignees = assignees; + this.assignedTeams = assignedTeams; this.creator = creator; this.dueDate = dueDate; this.status = status; @@ -93,6 +100,7 @@ private PatchedTicketRequest( this.contact = contact; this.parentTicket = parentTicket; this.tags = tags; + this.roles = roles; this.completedAt = completedAt; this.ticketUrl = ticketUrl; this.priority = priority; @@ -110,11 +118,22 @@ public Optional getName() { return name; } + /** + * @return The individual Users who are assigned to this ticket. This does not include Users who just have view access to this ticket. + */ @JsonProperty("assignees") public Optional>> getAssignees() { return assignees; } + /** + * @return The Teams that are assigned to this ticket. This does not include Teams who just have view access to this ticket. + */ + @JsonProperty("assigned_teams") + public Optional>> getAssignedTeams() { + return assignedTeams; + } + /** * @return The user who created this ticket. */ @@ -153,6 +172,9 @@ public Optional getDescription() { return description; } + /** + * @return The Collections that this Ticket is included in. + */ @JsonProperty("collections") public Optional>> getCollections() { return collections; @@ -195,6 +217,11 @@ public Optional>> getTags() { return tags; } + @JsonProperty("roles") + public Optional>> getRoles() { + return roles; + } + /** * @return When the ticket was completed. */ @@ -254,6 +281,7 @@ public Map getAdditionalProperties() { private boolean equalTo(PatchedTicketRequest other) { return name.equals(other.name) && assignees.equals(other.assignees) + && assignedTeams.equals(other.assignedTeams) && creator.equals(other.creator) && dueDate.equals(other.dueDate) && status.equals(other.status) @@ -264,6 +292,7 @@ private boolean equalTo(PatchedTicketRequest other) { && contact.equals(other.contact) && parentTicket.equals(other.parentTicket) && tags.equals(other.tags) + && roles.equals(other.roles) && completedAt.equals(other.completedAt) && ticketUrl.equals(other.ticketUrl) && priority.equals(other.priority) @@ -277,6 +306,7 @@ public int hashCode() { return Objects.hash( this.name, this.assignees, + this.assignedTeams, this.creator, this.dueDate, this.status, @@ -287,6 +317,7 @@ public int hashCode() { this.contact, this.parentTicket, this.tags, + this.roles, this.completedAt, this.ticketUrl, this.priority, @@ -310,6 +341,8 @@ public static final class Builder { private Optional>> assignees = Optional.empty(); + private Optional>> assignedTeams = Optional.empty(); + private Optional creator = Optional.empty(); private Optional dueDate = Optional.empty(); @@ -330,6 +363,8 @@ public static final class Builder { private Optional>> tags = Optional.empty(); + private Optional>> roles = Optional.empty(); + private Optional completedAt = Optional.empty(); private Optional ticketUrl = Optional.empty(); @@ -350,6 +385,7 @@ private Builder() {} public Builder from(PatchedTicketRequest other) { name(other.getName()); assignees(other.getAssignees()); + assignedTeams(other.getAssignedTeams()); creator(other.getCreator()); dueDate(other.getDueDate()); status(other.getStatus()); @@ -360,6 +396,7 @@ public Builder from(PatchedTicketRequest other) { contact(other.getContact()); parentTicket(other.getParentTicket()); tags(other.getTags()); + roles(other.getRoles()); completedAt(other.getCompletedAt()); ticketUrl(other.getTicketUrl()); priority(other.getPriority()); @@ -391,6 +428,17 @@ public Builder assignees(List> assignees) { return this; } + @JsonSetter(value = "assigned_teams", nulls = Nulls.SKIP) + public Builder assignedTeams(Optional>> assignedTeams) { + this.assignedTeams = assignedTeams; + return this; + } + + public Builder assignedTeams(List> assignedTeams) { + this.assignedTeams = Optional.of(assignedTeams); + return this; + } + @JsonSetter(value = "creator", nulls = Nulls.SKIP) public Builder creator(Optional creator) { this.creator = creator; @@ -501,6 +549,17 @@ public Builder tags(List> tags) { return this; } + @JsonSetter(value = "roles", nulls = Nulls.SKIP) + public Builder roles(Optional>> roles) { + this.roles = roles; + return this; + } + + public Builder roles(List> roles) { + this.roles = Optional.of(roles); + return this; + } + @JsonSetter(value = "completed_at", nulls = Nulls.SKIP) public Builder completedAt(Optional completedAt) { this.completedAt = completedAt; @@ -571,6 +630,7 @@ public PatchedTicketRequest build() { return new PatchedTicketRequest( name, assignees, + assignedTeams, creator, dueDate, status, @@ -581,6 +641,7 @@ public PatchedTicketRequest build() { contact, parentTicket, tags, + roles, completedAt, ticketUrl, priority, diff --git a/src/main/java/com/merge/api/resources/ticketing/types/RemoteData.java b/src/main/java/com/merge/api/resources/ticketing/types/RemoteData.java index 08c134616..323ae73a6 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/RemoteData.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/RemoteData.java @@ -33,6 +33,9 @@ private RemoteData(String path, Optional data, Map add this.additionalProperties = additionalProperties; } + /** + * @return The third-party API path that is being called. + */ @JsonProperty("path") public String getPath() { return path; @@ -104,6 +107,10 @@ public Builder from(RemoteData other) { return this; } + /** + *

                              The third-party API path that is being called.

                              + * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override @JsonSetter("path") public _FinalStage path(String path) { diff --git a/src/main/java/com/merge/api/resources/ticketing/types/Ticket.java b/src/main/java/com/merge/api/resources/ticketing/types/Ticket.java index 8548d69ad..d9c67e5d5 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/Ticket.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/Ticket.java @@ -35,6 +35,8 @@ public final class Ticket { private final Optional>> assignees; + private final Optional>> assignedTeams; + private final Optional creator; private final Optional dueDate; @@ -57,6 +59,8 @@ public final class Ticket { private final Optional>> tags; + private final Optional>> roles; + private final Optional remoteCreatedAt; private final Optional remoteUpdatedAt; @@ -84,6 +88,7 @@ private Ticket( Optional modifiedAt, Optional name, Optional>> assignees, + Optional>> assignedTeams, Optional creator, Optional dueDate, Optional status, @@ -95,6 +100,7 @@ private Ticket( Optional parentTicket, Optional>> attachments, Optional>> tags, + Optional>> roles, Optional remoteCreatedAt, Optional remoteUpdatedAt, Optional completedAt, @@ -111,6 +117,7 @@ private Ticket( this.modifiedAt = modifiedAt; this.name = name; this.assignees = assignees; + this.assignedTeams = assignedTeams; this.creator = creator; this.dueDate = dueDate; this.status = status; @@ -122,6 +129,7 @@ private Ticket( this.parentTicket = parentTicket; this.attachments = attachments; this.tags = tags; + this.roles = roles; this.remoteCreatedAt = remoteCreatedAt; this.remoteUpdatedAt = remoteUpdatedAt; this.completedAt = completedAt; @@ -171,11 +179,22 @@ public Optional getName() { return name; } + /** + * @return The individual Users who are assigned to this ticket. This does not include Users who just have view access to this ticket. + */ @JsonProperty("assignees") public Optional>> getAssignees() { return assignees; } + /** + * @return The Teams that are assigned to this ticket. This does not include Teams who just have view access to this ticket. + */ + @JsonProperty("assigned_teams") + public Optional>> getAssignedTeams() { + return assignedTeams; + } + /** * @return The user who created this ticket. */ @@ -214,6 +233,9 @@ public Optional getDescription() { return description; } + /** + * @return The Collections that this Ticket is included in. + */ @JsonProperty("collections") public Optional>> getCollections() { return collections; @@ -261,6 +283,11 @@ public Optional>> getTags() { return tags; } + @JsonProperty("roles") + public Optional>> getRoles() { + return roles; + } + /** * @return When the third party's ticket was created. */ @@ -348,6 +375,7 @@ private boolean equalTo(Ticket other) { && modifiedAt.equals(other.modifiedAt) && name.equals(other.name) && assignees.equals(other.assignees) + && assignedTeams.equals(other.assignedTeams) && creator.equals(other.creator) && dueDate.equals(other.dueDate) && status.equals(other.status) @@ -359,6 +387,7 @@ private boolean equalTo(Ticket other) { && parentTicket.equals(other.parentTicket) && attachments.equals(other.attachments) && tags.equals(other.tags) + && roles.equals(other.roles) && remoteCreatedAt.equals(other.remoteCreatedAt) && remoteUpdatedAt.equals(other.remoteUpdatedAt) && completedAt.equals(other.completedAt) @@ -379,6 +408,7 @@ public int hashCode() { this.modifiedAt, this.name, this.assignees, + this.assignedTeams, this.creator, this.dueDate, this.status, @@ -390,6 +420,7 @@ public int hashCode() { this.parentTicket, this.attachments, this.tags, + this.roles, this.remoteCreatedAt, this.remoteUpdatedAt, this.completedAt, @@ -424,6 +455,8 @@ public static final class Builder { private Optional>> assignees = Optional.empty(); + private Optional>> assignedTeams = Optional.empty(); + private Optional creator = Optional.empty(); private Optional dueDate = Optional.empty(); @@ -446,6 +479,8 @@ public static final class Builder { private Optional>> tags = Optional.empty(); + private Optional>> roles = Optional.empty(); + private Optional remoteCreatedAt = Optional.empty(); private Optional remoteUpdatedAt = Optional.empty(); @@ -476,6 +511,7 @@ public Builder from(Ticket other) { modifiedAt(other.getModifiedAt()); name(other.getName()); assignees(other.getAssignees()); + assignedTeams(other.getAssignedTeams()); creator(other.getCreator()); dueDate(other.getDueDate()); status(other.getStatus()); @@ -487,6 +523,7 @@ public Builder from(Ticket other) { parentTicket(other.getParentTicket()); attachments(other.getAttachments()); tags(other.getTags()); + roles(other.getRoles()); remoteCreatedAt(other.getRemoteCreatedAt()); remoteUpdatedAt(other.getRemoteUpdatedAt()); completedAt(other.getCompletedAt()); @@ -565,6 +602,17 @@ public Builder assignees(List> assignees) { return this; } + @JsonSetter(value = "assigned_teams", nulls = Nulls.SKIP) + public Builder assignedTeams(Optional>> assignedTeams) { + this.assignedTeams = assignedTeams; + return this; + } + + public Builder assignedTeams(List> assignedTeams) { + this.assignedTeams = Optional.of(assignedTeams); + return this; + } + @JsonSetter(value = "creator", nulls = Nulls.SKIP) public Builder creator(Optional creator) { this.creator = creator; @@ -686,6 +734,17 @@ public Builder tags(List> tags) { return this; } + @JsonSetter(value = "roles", nulls = Nulls.SKIP) + public Builder roles(Optional>> roles) { + this.roles = roles; + return this; + } + + public Builder roles(List> roles) { + this.roles = Optional.of(roles); + return this; + } + @JsonSetter(value = "remote_created_at", nulls = Nulls.SKIP) public Builder remoteCreatedAt(Optional remoteCreatedAt) { this.remoteCreatedAt = remoteCreatedAt; @@ -793,6 +852,7 @@ public Ticket build() { modifiedAt, name, assignees, + assignedTeams, creator, dueDate, status, @@ -804,6 +864,7 @@ public Ticket build() { parentTicket, attachments, tags, + roles, remoteCreatedAt, remoteUpdatedAt, completedAt, diff --git a/src/main/java/com/merge/api/resources/ticketing/types/TicketAssignedTeamsItem.java b/src/main/java/com/merge/api/resources/ticketing/types/TicketAssignedTeamsItem.java new file mode 100644 index 000000000..f86af12c0 --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/types/TicketAssignedTeamsItem.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = TicketAssignedTeamsItem.Deserializer.class) +public final class TicketAssignedTeamsItem { + private final Object value; + + private final int type; + + private TicketAssignedTeamsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Team) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TicketAssignedTeamsItem && equalTo((TicketAssignedTeamsItem) other); + } + + private boolean equalTo(TicketAssignedTeamsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static TicketAssignedTeamsItem of(String value) { + return new TicketAssignedTeamsItem(value, 0); + } + + public static TicketAssignedTeamsItem of(Team value) { + return new TicketAssignedTeamsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Team value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(TicketAssignedTeamsItem.class); + } + + @java.lang.Override + public TicketAssignedTeamsItem deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Team.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/types/TicketRequest.java b/src/main/java/com/merge/api/resources/ticketing/types/TicketRequest.java index 049364240..744619cef 100644 --- a/src/main/java/com/merge/api/resources/ticketing/types/TicketRequest.java +++ b/src/main/java/com/merge/api/resources/ticketing/types/TicketRequest.java @@ -27,6 +27,8 @@ public final class TicketRequest { private final Optional>> assignees; + private final Optional>> assignedTeams; + private final Optional creator; private final Optional dueDate; @@ -49,6 +51,8 @@ public final class TicketRequest { private final Optional>> tags; + private final Optional>> roles; + private final Optional completedAt; private final Optional ticketUrl; @@ -66,6 +70,7 @@ public final class TicketRequest { private TicketRequest( Optional name, Optional>> assignees, + Optional>> assignedTeams, Optional creator, Optional dueDate, Optional status, @@ -77,6 +82,7 @@ private TicketRequest( Optional parentTicket, Optional>> attachments, Optional>> tags, + Optional>> roles, Optional completedAt, Optional ticketUrl, Optional priority, @@ -86,6 +92,7 @@ private TicketRequest( Map additionalProperties) { this.name = name; this.assignees = assignees; + this.assignedTeams = assignedTeams; this.creator = creator; this.dueDate = dueDate; this.status = status; @@ -97,6 +104,7 @@ private TicketRequest( this.parentTicket = parentTicket; this.attachments = attachments; this.tags = tags; + this.roles = roles; this.completedAt = completedAt; this.ticketUrl = ticketUrl; this.priority = priority; @@ -114,11 +122,22 @@ public Optional getName() { return name; } + /** + * @return The individual Users who are assigned to this ticket. This does not include Users who just have view access to this ticket. + */ @JsonProperty("assignees") public Optional>> getAssignees() { return assignees; } + /** + * @return The Teams that are assigned to this ticket. This does not include Teams who just have view access to this ticket. + */ + @JsonProperty("assigned_teams") + public Optional>> getAssignedTeams() { + return assignedTeams; + } + /** * @return The user who created this ticket. */ @@ -157,6 +176,9 @@ public Optional getDescription() { return description; } + /** + * @return The Collections that this Ticket is included in. + */ @JsonProperty("collections") public Optional>> getCollections() { return collections; @@ -204,6 +226,11 @@ public Optional>> getTags() { return tags; } + @JsonProperty("roles") + public Optional>> getRoles() { + return roles; + } + /** * @return When the ticket was completed. */ @@ -263,6 +290,7 @@ public Map getAdditionalProperties() { private boolean equalTo(TicketRequest other) { return name.equals(other.name) && assignees.equals(other.assignees) + && assignedTeams.equals(other.assignedTeams) && creator.equals(other.creator) && dueDate.equals(other.dueDate) && status.equals(other.status) @@ -274,6 +302,7 @@ private boolean equalTo(TicketRequest other) { && parentTicket.equals(other.parentTicket) && attachments.equals(other.attachments) && tags.equals(other.tags) + && roles.equals(other.roles) && completedAt.equals(other.completedAt) && ticketUrl.equals(other.ticketUrl) && priority.equals(other.priority) @@ -287,6 +316,7 @@ public int hashCode() { return Objects.hash( this.name, this.assignees, + this.assignedTeams, this.creator, this.dueDate, this.status, @@ -298,6 +328,7 @@ public int hashCode() { this.parentTicket, this.attachments, this.tags, + this.roles, this.completedAt, this.ticketUrl, this.priority, @@ -321,6 +352,8 @@ public static final class Builder { private Optional>> assignees = Optional.empty(); + private Optional>> assignedTeams = Optional.empty(); + private Optional creator = Optional.empty(); private Optional dueDate = Optional.empty(); @@ -343,6 +376,8 @@ public static final class Builder { private Optional>> tags = Optional.empty(); + private Optional>> roles = Optional.empty(); + private Optional completedAt = Optional.empty(); private Optional ticketUrl = Optional.empty(); @@ -363,6 +398,7 @@ private Builder() {} public Builder from(TicketRequest other) { name(other.getName()); assignees(other.getAssignees()); + assignedTeams(other.getAssignedTeams()); creator(other.getCreator()); dueDate(other.getDueDate()); status(other.getStatus()); @@ -374,6 +410,7 @@ public Builder from(TicketRequest other) { parentTicket(other.getParentTicket()); attachments(other.getAttachments()); tags(other.getTags()); + roles(other.getRoles()); completedAt(other.getCompletedAt()); ticketUrl(other.getTicketUrl()); priority(other.getPriority()); @@ -405,6 +442,17 @@ public Builder assignees(List> assignees) { return this; } + @JsonSetter(value = "assigned_teams", nulls = Nulls.SKIP) + public Builder assignedTeams(Optional>> assignedTeams) { + this.assignedTeams = assignedTeams; + return this; + } + + public Builder assignedTeams(List> assignedTeams) { + this.assignedTeams = Optional.of(assignedTeams); + return this; + } + @JsonSetter(value = "creator", nulls = Nulls.SKIP) public Builder creator(Optional creator) { this.creator = creator; @@ -526,6 +574,17 @@ public Builder tags(List> tags) { return this; } + @JsonSetter(value = "roles", nulls = Nulls.SKIP) + public Builder roles(Optional>> roles) { + this.roles = roles; + return this; + } + + public Builder roles(List> roles) { + this.roles = Optional.of(roles); + return this; + } + @JsonSetter(value = "completed_at", nulls = Nulls.SKIP) public Builder completedAt(Optional completedAt) { this.completedAt = completedAt; @@ -596,6 +655,7 @@ public TicketRequest build() { return new TicketRequest( name, assignees, + assignedTeams, creator, dueDate, status, @@ -607,6 +667,7 @@ public TicketRequest build() { parentTicket, attachments, tags, + roles, completedAt, ticketUrl, priority, diff --git a/src/main/java/com/merge/api/resources/ticketing/types/TicketRequestAssignedTeamsItem.java b/src/main/java/com/merge/api/resources/ticketing/types/TicketRequestAssignedTeamsItem.java new file mode 100644 index 000000000..341b39fee --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/types/TicketRequestAssignedTeamsItem.java @@ -0,0 +1,95 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = TicketRequestAssignedTeamsItem.Deserializer.class) +public final class TicketRequestAssignedTeamsItem { + private final Object value; + + private final int type; + + private TicketRequestAssignedTeamsItem(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Team) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TicketRequestAssignedTeamsItem && equalTo((TicketRequestAssignedTeamsItem) other); + } + + private boolean equalTo(TicketRequestAssignedTeamsItem other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static TicketRequestAssignedTeamsItem of(String value) { + return new TicketRequestAssignedTeamsItem(value, 0); + } + + public static TicketRequestAssignedTeamsItem of(Team value) { + return new TicketRequestAssignedTeamsItem(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Team value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(TicketRequestAssignedTeamsItem.class); + } + + @java.lang.Override + public TicketRequestAssignedTeamsItem deserialize(JsonParser p, DeserializationContext ctxt) + throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Team.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/types/Viewer.java b/src/main/java/com/merge/api/resources/ticketing/types/Viewer.java new file mode 100644 index 000000000..53a2e3a64 --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/types/Viewer.java @@ -0,0 +1,233 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.merge.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = Viewer.Builder.class) +public final class Viewer { + private final Optional id; + + private final Optional remoteId; + + private final Optional createdAt; + + private final Optional modifiedAt; + + private final Optional team; + + private final Optional user; + + private final Map additionalProperties; + + private Viewer( + Optional id, + Optional remoteId, + Optional createdAt, + Optional modifiedAt, + Optional team, + Optional user, + Map additionalProperties) { + this.id = id; + this.remoteId = remoteId; + this.createdAt = createdAt; + this.modifiedAt = modifiedAt; + this.team = team; + this.user = user; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + /** + * @return The third-party API ID of the matching object. + */ + @JsonProperty("remote_id") + public Optional getRemoteId() { + return remoteId; + } + + /** + * @return The datetime that this object was created by Merge. + */ + @JsonProperty("created_at") + public Optional getCreatedAt() { + return createdAt; + } + + /** + * @return The datetime that this object was modified by Merge. + */ + @JsonProperty("modified_at") + public Optional getModifiedAt() { + return modifiedAt; + } + + /** + * @return The Team this Viewer belongs to. + */ + @JsonProperty("team") + public Optional getTeam() { + return team; + } + + /** + * @return The User this Viewer belongs to. + */ + @JsonProperty("user") + public Optional getUser() { + return user; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof Viewer && equalTo((Viewer) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(Viewer other) { + return id.equals(other.id) + && remoteId.equals(other.remoteId) + && createdAt.equals(other.createdAt) + && modifiedAt.equals(other.modifiedAt) + && team.equals(other.team) + && user.equals(other.user); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.id, this.remoteId, this.createdAt, this.modifiedAt, this.team, this.user); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional id = Optional.empty(); + + private Optional remoteId = Optional.empty(); + + private Optional createdAt = Optional.empty(); + + private Optional modifiedAt = Optional.empty(); + + private Optional team = Optional.empty(); + + private Optional user = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(Viewer other) { + id(other.getId()); + remoteId(other.getRemoteId()); + createdAt(other.getCreatedAt()); + modifiedAt(other.getModifiedAt()); + team(other.getTeam()); + user(other.getUser()); + return this; + } + + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public Builder id(Optional id) { + this.id = id; + return this; + } + + public Builder id(String id) { + this.id = Optional.of(id); + return this; + } + + @JsonSetter(value = "remote_id", nulls = Nulls.SKIP) + public Builder remoteId(Optional remoteId) { + this.remoteId = remoteId; + return this; + } + + public Builder remoteId(String remoteId) { + this.remoteId = Optional.of(remoteId); + return this; + } + + @JsonSetter(value = "created_at", nulls = Nulls.SKIP) + public Builder createdAt(Optional createdAt) { + this.createdAt = createdAt; + return this; + } + + public Builder createdAt(OffsetDateTime createdAt) { + this.createdAt = Optional.of(createdAt); + return this; + } + + @JsonSetter(value = "modified_at", nulls = Nulls.SKIP) + public Builder modifiedAt(Optional modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + public Builder modifiedAt(OffsetDateTime modifiedAt) { + this.modifiedAt = Optional.of(modifiedAt); + return this; + } + + @JsonSetter(value = "team", nulls = Nulls.SKIP) + public Builder team(Optional team) { + this.team = team; + return this; + } + + public Builder team(ViewerTeam team) { + this.team = Optional.of(team); + return this; + } + + @JsonSetter(value = "user", nulls = Nulls.SKIP) + public Builder user(Optional user) { + this.user = user; + return this; + } + + public Builder user(ViewerUser user) { + this.user = Optional.of(user); + return this; + } + + public Viewer build() { + return new Viewer(id, remoteId, createdAt, modifiedAt, team, user, additionalProperties); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/types/ViewerTeam.java b/src/main/java/com/merge/api/resources/ticketing/types/ViewerTeam.java new file mode 100644 index 000000000..6ddd8dbf8 --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/types/ViewerTeam.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = ViewerTeam.Deserializer.class) +public final class ViewerTeam { + private final Object value; + + private final int type; + + private ViewerTeam(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((Team) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ViewerTeam && equalTo((ViewerTeam) other); + } + + private boolean equalTo(ViewerTeam other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static ViewerTeam of(String value) { + return new ViewerTeam(value, 0); + } + + public static ViewerTeam of(Team value) { + return new ViewerTeam(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(Team value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(ViewerTeam.class); + } + + @java.lang.Override + public ViewerTeam deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, Team.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +} diff --git a/src/main/java/com/merge/api/resources/ticketing/types/ViewerUser.java b/src/main/java/com/merge/api/resources/ticketing/types/ViewerUser.java new file mode 100644 index 000000000..02c64b78b --- /dev/null +++ b/src/main/java/com/merge/api/resources/ticketing/types/ViewerUser.java @@ -0,0 +1,94 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.merge.api.resources.ticketing.types; + +import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.merge.api.core.ObjectMappers; +import java.io.IOException; +import java.util.Objects; + +@JsonDeserialize(using = ViewerUser.Deserializer.class) +public final class ViewerUser { + private final Object value; + + private final int type; + + private ViewerUser(Object value, int type) { + this.value = value; + this.type = type; + } + + @JsonValue + public Object get() { + return this.value; + } + + public T visit(Visitor visitor) { + if (this.type == 0) { + return visitor.visit((String) this.value); + } else if (this.type == 1) { + return visitor.visit((User) this.value); + } + throw new IllegalStateException("Failed to visit value. This should never happen."); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ViewerUser && equalTo((ViewerUser) other); + } + + private boolean equalTo(ViewerUser other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return this.value.toString(); + } + + public static ViewerUser of(String value) { + return new ViewerUser(value, 0); + } + + public static ViewerUser of(User value) { + return new ViewerUser(value, 1); + } + + public interface Visitor { + T visit(String value); + + T visit(User value); + } + + static final class Deserializer extends StdDeserializer { + Deserializer() { + super(ViewerUser.class); + } + + @java.lang.Override + public ViewerUser deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + Object value = p.readValueAs(Object.class); + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, String.class)); + } catch (IllegalArgumentException e) { + } + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, User.class)); + } catch (IllegalArgumentException e) { + } + throw new JsonParseException(p, "Failed to deserialize"); + } + } +}