@hyperline/cli 0.1.0-build.1.f097051 → 0.1.0-build.1.f5b1e30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/hyperline-main.js +1478 -209
- package/package.json +1 -1
|
@@ -37886,6 +37886,1250 @@ Examples:
|
|
|
37886
37886
|
});
|
|
37887
37887
|
}
|
|
37888
37888
|
|
|
37889
|
+
// build/commands/generated/accounting-accounts.js
|
|
37890
|
+
function registerAccounting_AccountsCommands(parent) {
|
|
37891
|
+
const resource = parent.command("accounting-accounts").description("Manage accounting > accounts");
|
|
37892
|
+
resource.command("list-ledger-accounts").description(`List accounting ledger accounts with optional balances.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `Filter by account ID.`).option("--ledger-id <value>", `Filter by ledger ID.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity ID.`).option("--code <value>", `Filter by exact account code.`).option("--name <value>", `Filter by exact account name.`).option("--type <value>", `Filter by account type.`).option("--client-provider-id <value>", `Filter by connected provider ID.`).option("--search <value>", `Search account name or code.`).option("--year <number>", `Year used to calculate period balances.`).option("--quarter <number>", `Quarter used to calculate period balances.`).option("--sort-by <value>", `Field used to sort accounts.`).option("--order <value>", `Sort direction.`).addHelpText("after", `
|
|
37893
|
+
Examples:
|
|
37894
|
+
hyperline accounting-accounts list-ledger-accounts
|
|
37895
|
+
hyperline accounting-accounts list-ledger-accounts --take <take> --id <id>`).action(async (opts) => {
|
|
37896
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
37897
|
+
if (!ctx) {
|
|
37898
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
37899
|
+
process.exit(1);
|
|
37900
|
+
}
|
|
37901
|
+
const args = {};
|
|
37902
|
+
if (opts.id !== void 0)
|
|
37903
|
+
args.id = opts.id;
|
|
37904
|
+
if (opts.ledgerId !== void 0)
|
|
37905
|
+
args.ledger_id = opts.ledgerId;
|
|
37906
|
+
if (opts.invoicingEntityId !== void 0)
|
|
37907
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
37908
|
+
if (opts.code !== void 0)
|
|
37909
|
+
args.code = opts.code;
|
|
37910
|
+
if (opts.name !== void 0)
|
|
37911
|
+
args.name = opts.name;
|
|
37912
|
+
if (opts.type !== void 0)
|
|
37913
|
+
args.type = opts.type;
|
|
37914
|
+
if (opts.clientProviderId !== void 0)
|
|
37915
|
+
args.client_provider_id = opts.clientProviderId;
|
|
37916
|
+
if (opts.search !== void 0)
|
|
37917
|
+
args.search = opts.search;
|
|
37918
|
+
if (opts.sortBy !== void 0)
|
|
37919
|
+
args.sort_by = opts.sortBy;
|
|
37920
|
+
if (opts.order !== void 0)
|
|
37921
|
+
args.order = opts.order;
|
|
37922
|
+
if (opts.take !== void 0)
|
|
37923
|
+
args.take = Number(opts.take);
|
|
37924
|
+
if (opts.skip !== void 0)
|
|
37925
|
+
args.skip = Number(opts.skip);
|
|
37926
|
+
if (opts.year !== void 0)
|
|
37927
|
+
args.year = Number(opts.year);
|
|
37928
|
+
if (opts.quarter !== void 0)
|
|
37929
|
+
args.quarter = Number(opts.quarter);
|
|
37930
|
+
await ctx.execute({
|
|
37931
|
+
method: "GET",
|
|
37932
|
+
path: "/v1/accounting/accounts",
|
|
37933
|
+
args,
|
|
37934
|
+
queryParamKeys: [
|
|
37935
|
+
"take",
|
|
37936
|
+
"skip",
|
|
37937
|
+
"id",
|
|
37938
|
+
"ledger_id",
|
|
37939
|
+
"invoicing_entity_id",
|
|
37940
|
+
"code",
|
|
37941
|
+
"name",
|
|
37942
|
+
"type",
|
|
37943
|
+
"client_provider_id",
|
|
37944
|
+
"search",
|
|
37945
|
+
"year",
|
|
37946
|
+
"quarter",
|
|
37947
|
+
"sort_by",
|
|
37948
|
+
"order"
|
|
37949
|
+
]
|
|
37950
|
+
});
|
|
37951
|
+
});
|
|
37952
|
+
resource.command("list-primary-ledger-accounts").description(`List accounts from the primary ledger of an invoicing entity.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--invoicing-entity-id <value>", `Invoicing entity ID; defaults to the client's default.`).addHelpText("after", `
|
|
37953
|
+
Examples:
|
|
37954
|
+
hyperline accounting-accounts list-primary-ledger-accounts
|
|
37955
|
+
hyperline accounting-accounts list-primary-ledger-accounts --take <take> --invoicing-entity-id <invoicing_entity_id>`).action(async (opts) => {
|
|
37956
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
37957
|
+
if (!ctx) {
|
|
37958
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
37959
|
+
process.exit(1);
|
|
37960
|
+
}
|
|
37961
|
+
const args = {};
|
|
37962
|
+
if (opts.invoicingEntityId !== void 0)
|
|
37963
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
37964
|
+
if (opts.take !== void 0)
|
|
37965
|
+
args.take = Number(opts.take);
|
|
37966
|
+
if (opts.skip !== void 0)
|
|
37967
|
+
args.skip = Number(opts.skip);
|
|
37968
|
+
await ctx.execute({
|
|
37969
|
+
method: "GET",
|
|
37970
|
+
path: "/v1/accounting/primary-ledger/accounts",
|
|
37971
|
+
args,
|
|
37972
|
+
queryParamKeys: ["take", "skip", "invoicing_entity_id"]
|
|
37973
|
+
});
|
|
37974
|
+
});
|
|
37975
|
+
resource.command("get-ledger-account").description(`Retrieve a ledger account by its identifier.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
37976
|
+
Examples:
|
|
37977
|
+
hyperline accounting-accounts get-ledger-account --id <id>`).action(async (opts) => {
|
|
37978
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
37979
|
+
if (!ctx) {
|
|
37980
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
37981
|
+
process.exit(1);
|
|
37982
|
+
}
|
|
37983
|
+
const args = {};
|
|
37984
|
+
if (opts.id !== void 0)
|
|
37985
|
+
args.id = opts.id;
|
|
37986
|
+
await ctx.execute({
|
|
37987
|
+
method: "GET",
|
|
37988
|
+
path: "/v1/accounting/accounts/{id}",
|
|
37989
|
+
args,
|
|
37990
|
+
queryParamKeys: []
|
|
37991
|
+
});
|
|
37992
|
+
});
|
|
37993
|
+
resource.command("create-ledger-account").description(`Create an account in an accounting ledger.`).requiredOption("--ledger-id <value>", `Identifier of the ledger that owns the account.`).requiredOption("--code <value>", `Accounting code of the account.`).requiredOption("--type <value>", `Accounting type of the account.`).requiredOption("--name <value>", `Display name of the account.`).option("--provider-account-id <value>", `Optional account identifier in the connected provider.`).addHelpText("after", `
|
|
37994
|
+
Examples:
|
|
37995
|
+
hyperline accounting-accounts create-ledger-account --ledger-id <ledger_id> --code <code> --type <type> --name <name>
|
|
37996
|
+
hyperline accounting-accounts create-ledger-account --ledger-id <ledger_id> --code <code> --type <type> --name <name> --provider-account-id <provider_account_id>
|
|
37997
|
+
hyperline accounting-accounts create-ledger-account --ledger-id <ledger_id> --code <code> --type <type> --name <name> --output json`).action(async (opts) => {
|
|
37998
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
37999
|
+
if (!ctx) {
|
|
38000
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38001
|
+
process.exit(1);
|
|
38002
|
+
}
|
|
38003
|
+
const args = {};
|
|
38004
|
+
if (opts.ledgerId !== void 0)
|
|
38005
|
+
args.ledger_id = opts.ledgerId;
|
|
38006
|
+
if (opts.code !== void 0)
|
|
38007
|
+
args.code = opts.code;
|
|
38008
|
+
if (opts.type !== void 0)
|
|
38009
|
+
args.type = opts.type;
|
|
38010
|
+
if (opts.name !== void 0)
|
|
38011
|
+
args.name = opts.name;
|
|
38012
|
+
if (opts.providerAccountId !== void 0)
|
|
38013
|
+
args.provider_account_id = opts.providerAccountId;
|
|
38014
|
+
await ctx.execute({
|
|
38015
|
+
method: "POST",
|
|
38016
|
+
path: "/v1/accounting/accounts",
|
|
38017
|
+
args,
|
|
38018
|
+
queryParamKeys: []
|
|
38019
|
+
});
|
|
38020
|
+
});
|
|
38021
|
+
resource.command("update-ledger-account").description(`Update an existing ledger account.`).requiredOption("--id <value>", `id parameter`).option("--code <value>", `Accounting code of the account.`).option("--type <value>", `Accounting type of the account.`).option("--name <value>", `Display name of the account.`).option("--description <value>", `Optional description of the account.`).option("--currency <value>", `ISO 4217 currency used by the account.`).addHelpText("after", `
|
|
38022
|
+
Examples:
|
|
38023
|
+
hyperline accounting-accounts update-ledger-account --id <id>
|
|
38024
|
+
hyperline accounting-accounts update-ledger-account --id <id> --code <code> --type <type>
|
|
38025
|
+
hyperline accounting-accounts update-ledger-account --id <id> --output json`).action(async (opts) => {
|
|
38026
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38027
|
+
if (!ctx) {
|
|
38028
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38029
|
+
process.exit(1);
|
|
38030
|
+
}
|
|
38031
|
+
const args = {};
|
|
38032
|
+
if (opts.id !== void 0)
|
|
38033
|
+
args.id = opts.id;
|
|
38034
|
+
if (opts.code !== void 0)
|
|
38035
|
+
args.code = opts.code;
|
|
38036
|
+
if (opts.type !== void 0)
|
|
38037
|
+
args.type = opts.type;
|
|
38038
|
+
if (opts.name !== void 0)
|
|
38039
|
+
args.name = opts.name;
|
|
38040
|
+
if (opts.description !== void 0)
|
|
38041
|
+
args.description = opts.description;
|
|
38042
|
+
if (opts.currency !== void 0)
|
|
38043
|
+
args.currency = opts.currency;
|
|
38044
|
+
await ctx.execute({
|
|
38045
|
+
method: "PUT",
|
|
38046
|
+
path: "/v1/accounting/accounts/{id}",
|
|
38047
|
+
args,
|
|
38048
|
+
queryParamKeys: []
|
|
38049
|
+
});
|
|
38050
|
+
});
|
|
38051
|
+
resource.command("delete-ledger-account").description(`Delete an unused accounting ledger account.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
38052
|
+
Examples:
|
|
38053
|
+
hyperline accounting-accounts delete-ledger-account --id <id>
|
|
38054
|
+
hyperline accounting-accounts delete-ledger-account --id <id> --output json`).action(async (opts) => {
|
|
38055
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38056
|
+
if (!ctx) {
|
|
38057
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38058
|
+
process.exit(1);
|
|
38059
|
+
}
|
|
38060
|
+
const args = {};
|
|
38061
|
+
if (opts.id !== void 0)
|
|
38062
|
+
args.id = opts.id;
|
|
38063
|
+
if (!opts.yes) {
|
|
38064
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
38065
|
+
if (!confirmed) {
|
|
38066
|
+
process.stdout.write("Aborted.\n");
|
|
38067
|
+
return;
|
|
38068
|
+
}
|
|
38069
|
+
}
|
|
38070
|
+
await ctx.execute({
|
|
38071
|
+
method: "DELETE",
|
|
38072
|
+
path: "/v1/accounting/accounts/{id}",
|
|
38073
|
+
args,
|
|
38074
|
+
queryParamKeys: []
|
|
38075
|
+
});
|
|
38076
|
+
});
|
|
38077
|
+
}
|
|
38078
|
+
|
|
38079
|
+
// build/commands/generated/accounting-journal-entries.js
|
|
38080
|
+
function registerAccounting_Journal_EntriesCommands(parent) {
|
|
38081
|
+
const resource = parent.command("accounting-journal-entries").description("Manage accounting > journal entries");
|
|
38082
|
+
resource.command("list-journal-entries").description(`List accounting journal entries with optional filters.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--entry-number <value>", `Filter by journal entry number.`).option("--status <value>", `Filter by journal entry status.`).option("--origin <value>", `Filter by automatic or manual origin.`).option("--ledger-id <value>", `Filter by ledger identifier.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).option("--invoice-id <value>", `Filter by invoice identifier.`).option("--customer-id <value>", `Filter by customer identifier.`).option("--subscription-id <value>", `Filter by subscription identifier.`).option("--transaction-id <value>", `Filter by transaction identifier.`).option("--ledger-account-id <value>", `Filter entries containing a ledger account.`).option("--rule-id <value>", `Filter entries containing an accounting rule.`).option("--search <value>", `Search entry number, description, customer, or invoice.`).option("--year <number>", `Filter by entry year.`).option("--quarter <number>", `Filter by entry quarter.`).addHelpText("after", `
|
|
38083
|
+
Examples:
|
|
38084
|
+
hyperline accounting-journal-entries list-journal-entries
|
|
38085
|
+
hyperline accounting-journal-entries list-journal-entries --take <take> --entry-number <entry_number>`).action(async (opts) => {
|
|
38086
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38087
|
+
if (!ctx) {
|
|
38088
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38089
|
+
process.exit(1);
|
|
38090
|
+
}
|
|
38091
|
+
const args = {};
|
|
38092
|
+
if (opts.entryNumber !== void 0)
|
|
38093
|
+
args.entry_number = opts.entryNumber;
|
|
38094
|
+
if (opts.status !== void 0)
|
|
38095
|
+
args.status = opts.status;
|
|
38096
|
+
if (opts.origin !== void 0)
|
|
38097
|
+
args.origin = opts.origin;
|
|
38098
|
+
if (opts.ledgerId !== void 0)
|
|
38099
|
+
args.ledger_id = opts.ledgerId;
|
|
38100
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38101
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38102
|
+
if (opts.invoiceId !== void 0)
|
|
38103
|
+
args.invoice_id = opts.invoiceId;
|
|
38104
|
+
if (opts.customerId !== void 0)
|
|
38105
|
+
args.customer_id = opts.customerId;
|
|
38106
|
+
if (opts.subscriptionId !== void 0)
|
|
38107
|
+
args.subscription_id = opts.subscriptionId;
|
|
38108
|
+
if (opts.transactionId !== void 0)
|
|
38109
|
+
args.transaction_id = opts.transactionId;
|
|
38110
|
+
if (opts.ledgerAccountId !== void 0)
|
|
38111
|
+
args.ledger_account_id = opts.ledgerAccountId;
|
|
38112
|
+
if (opts.ruleId !== void 0)
|
|
38113
|
+
args.rule_id = opts.ruleId;
|
|
38114
|
+
if (opts.search !== void 0)
|
|
38115
|
+
args.search = opts.search;
|
|
38116
|
+
if (opts.take !== void 0)
|
|
38117
|
+
args.take = Number(opts.take);
|
|
38118
|
+
if (opts.skip !== void 0)
|
|
38119
|
+
args.skip = Number(opts.skip);
|
|
38120
|
+
if (opts.year !== void 0)
|
|
38121
|
+
args.year = Number(opts.year);
|
|
38122
|
+
if (opts.quarter !== void 0)
|
|
38123
|
+
args.quarter = Number(opts.quarter);
|
|
38124
|
+
await ctx.execute({
|
|
38125
|
+
method: "GET",
|
|
38126
|
+
path: "/v1/accounting/journal-entries",
|
|
38127
|
+
args,
|
|
38128
|
+
queryParamKeys: [
|
|
38129
|
+
"take",
|
|
38130
|
+
"skip",
|
|
38131
|
+
"entry_number",
|
|
38132
|
+
"status",
|
|
38133
|
+
"origin",
|
|
38134
|
+
"ledger_id",
|
|
38135
|
+
"invoicing_entity_id",
|
|
38136
|
+
"invoice_id",
|
|
38137
|
+
"customer_id",
|
|
38138
|
+
"subscription_id",
|
|
38139
|
+
"transaction_id",
|
|
38140
|
+
"ledger_account_id",
|
|
38141
|
+
"rule_id",
|
|
38142
|
+
"search",
|
|
38143
|
+
"year",
|
|
38144
|
+
"quarter"
|
|
38145
|
+
]
|
|
38146
|
+
});
|
|
38147
|
+
});
|
|
38148
|
+
resource.command("get-journal-entry").description(`Retrieve a journal entry and its lines by identifier.`).requiredOption("--id <value>", `id parameter`).option("--invoicing-entity-id <value>", `Require the entry to belong to this invoicing entity.`).addHelpText("after", `
|
|
38149
|
+
Examples:
|
|
38150
|
+
hyperline accounting-journal-entries get-journal-entry --id <id>
|
|
38151
|
+
hyperline accounting-journal-entries get-journal-entry --id <id> --invoicing-entity-id <invoicing_entity_id>`).action(async (opts) => {
|
|
38152
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38153
|
+
if (!ctx) {
|
|
38154
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38155
|
+
process.exit(1);
|
|
38156
|
+
}
|
|
38157
|
+
const args = {};
|
|
38158
|
+
if (opts.id !== void 0)
|
|
38159
|
+
args.id = opts.id;
|
|
38160
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38161
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38162
|
+
await ctx.execute({
|
|
38163
|
+
method: "GET",
|
|
38164
|
+
path: "/v1/accounting/journal-entries/{id}",
|
|
38165
|
+
args,
|
|
38166
|
+
queryParamKeys: ["invoicing_entity_id"]
|
|
38167
|
+
});
|
|
38168
|
+
});
|
|
38169
|
+
resource.command("create-manual-journal-entry").description(`Create and post a balanced manual journal entry attributed to the current user or API credential.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--description <value>", `Description recorded on the manual journal entry.`).requiredOption("--entry-date-at <value>", `Timestamp when the journal entry takes effect.`).requiredOption("--lines <json>", `Balanced debit and credit lines.`).option("--recognition-schedule <json>", `Optional recognition schedule for a deferred-revenue credit.`).addHelpText("after", `
|
|
38170
|
+
Examples:
|
|
38171
|
+
hyperline accounting-journal-entries create-manual-journal-entry --ledger-id <ledger_id> --description <description> --entry-date-at <entry_date_at> --lines <lines>
|
|
38172
|
+
hyperline accounting-journal-entries create-manual-journal-entry --ledger-id <ledger_id> --description <description> --entry-date-at <entry_date_at> --lines <lines> --recognition-schedule <recognition_schedule>
|
|
38173
|
+
hyperline accounting-journal-entries create-manual-journal-entry --ledger-id <ledger_id> --description <description> --entry-date-at <entry_date_at> --lines <lines> --output json`).action(async (opts) => {
|
|
38174
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38175
|
+
if (!ctx) {
|
|
38176
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38177
|
+
process.exit(1);
|
|
38178
|
+
}
|
|
38179
|
+
const args = {};
|
|
38180
|
+
if (opts.ledgerId !== void 0)
|
|
38181
|
+
args.ledger_id = opts.ledgerId;
|
|
38182
|
+
if (opts.description !== void 0)
|
|
38183
|
+
args.description = opts.description;
|
|
38184
|
+
if (opts.entryDateAt !== void 0)
|
|
38185
|
+
args.entry_date_at = opts.entryDateAt;
|
|
38186
|
+
if (opts.lines !== void 0)
|
|
38187
|
+
args.lines = JSON.parse(opts.lines);
|
|
38188
|
+
if (opts.recognitionSchedule !== void 0)
|
|
38189
|
+
args.recognition_schedule = JSON.parse(opts.recognitionSchedule);
|
|
38190
|
+
await ctx.execute({
|
|
38191
|
+
method: "POST",
|
|
38192
|
+
path: "/v1/accounting/journal-entries",
|
|
38193
|
+
args,
|
|
38194
|
+
queryParamKeys: []
|
|
38195
|
+
});
|
|
38196
|
+
});
|
|
38197
|
+
resource.command("preview-manual-journal-entry-recognition").description(`Preview revenue-recognition slices for a manual journal entry without writing data.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--amount <value>", `Deferred amount in minor ledger-currency units.`).requiredOption("--method <value>", `Recognition method to preview.`).option("--recognition-date <value>", `Recognition date for point-in-time recognition.`).option("--window <json>", `Service window for over-time recognition.`).option("--granularity <value>", `Slice granularity for over-time recognition.`).addHelpText("after", `
|
|
38198
|
+
Examples:
|
|
38199
|
+
hyperline accounting-journal-entries preview-manual-journal-entry-recognition --ledger-id <ledger_id> --amount <amount> --method <method>
|
|
38200
|
+
hyperline accounting-journal-entries preview-manual-journal-entry-recognition --ledger-id <ledger_id> --amount <amount> --method <method> --recognition-date <recognition_date> --window <window>
|
|
38201
|
+
hyperline accounting-journal-entries preview-manual-journal-entry-recognition --ledger-id <ledger_id> --amount <amount> --method <method> --output json`).action(async (opts) => {
|
|
38202
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38203
|
+
if (!ctx) {
|
|
38204
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38205
|
+
process.exit(1);
|
|
38206
|
+
}
|
|
38207
|
+
const args = {};
|
|
38208
|
+
if (opts.ledgerId !== void 0)
|
|
38209
|
+
args.ledger_id = opts.ledgerId;
|
|
38210
|
+
if (opts.amount !== void 0)
|
|
38211
|
+
args.amount = opts.amount;
|
|
38212
|
+
if (opts.method !== void 0)
|
|
38213
|
+
args.method = opts.method;
|
|
38214
|
+
if (opts.recognitionDate !== void 0)
|
|
38215
|
+
args.recognition_date = opts.recognitionDate;
|
|
38216
|
+
if (opts.granularity !== void 0)
|
|
38217
|
+
args.granularity = opts.granularity;
|
|
38218
|
+
if (opts.window !== void 0)
|
|
38219
|
+
args.window = JSON.parse(opts.window);
|
|
38220
|
+
await ctx.execute({
|
|
38221
|
+
method: "POST",
|
|
38222
|
+
path: "/v1/accounting/journal-entries/recognition-preview",
|
|
38223
|
+
args,
|
|
38224
|
+
queryParamKeys: []
|
|
38225
|
+
});
|
|
38226
|
+
});
|
|
38227
|
+
resource.command("list-journal-entry-lines").description(`List journal entry lines with optional filters.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--entry-id <value>", `Filter by journal entry identifier.`).option("--ledger-account-id <value>", `Filter by ledger account identifier.`).option("--invoice-line-item-id <value>", `Filter by invoice line item identifier.`).option("--type <value>", `Filter by debit or credit line type.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).option("--entry-status <value>", `Filter by parent journal entry status.`).option("--customer-id <value>", `Filter by customer identifier.`).option("--search <value>", `Search line amount or parent entry data.`).option("--year <number>", `Filter by parent entry year.`).option("--quarter <number>", `Filter by parent entry quarter.`).addHelpText("after", `
|
|
38228
|
+
Examples:
|
|
38229
|
+
hyperline accounting-journal-entries list-journal-entry-lines
|
|
38230
|
+
hyperline accounting-journal-entries list-journal-entry-lines --take <take> --entry-id <entry_id>`).action(async (opts) => {
|
|
38231
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38232
|
+
if (!ctx) {
|
|
38233
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38234
|
+
process.exit(1);
|
|
38235
|
+
}
|
|
38236
|
+
const args = {};
|
|
38237
|
+
if (opts.entryId !== void 0)
|
|
38238
|
+
args.entry_id = opts.entryId;
|
|
38239
|
+
if (opts.ledgerAccountId !== void 0)
|
|
38240
|
+
args.ledger_account_id = opts.ledgerAccountId;
|
|
38241
|
+
if (opts.invoiceLineItemId !== void 0)
|
|
38242
|
+
args.invoice_line_item_id = opts.invoiceLineItemId;
|
|
38243
|
+
if (opts.type !== void 0)
|
|
38244
|
+
args.type = opts.type;
|
|
38245
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38246
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38247
|
+
if (opts.entryStatus !== void 0)
|
|
38248
|
+
args.entry_status = opts.entryStatus;
|
|
38249
|
+
if (opts.customerId !== void 0)
|
|
38250
|
+
args.customer_id = opts.customerId;
|
|
38251
|
+
if (opts.search !== void 0)
|
|
38252
|
+
args.search = opts.search;
|
|
38253
|
+
if (opts.take !== void 0)
|
|
38254
|
+
args.take = Number(opts.take);
|
|
38255
|
+
if (opts.skip !== void 0)
|
|
38256
|
+
args.skip = Number(opts.skip);
|
|
38257
|
+
if (opts.year !== void 0)
|
|
38258
|
+
args.year = Number(opts.year);
|
|
38259
|
+
if (opts.quarter !== void 0)
|
|
38260
|
+
args.quarter = Number(opts.quarter);
|
|
38261
|
+
await ctx.execute({
|
|
38262
|
+
method: "GET",
|
|
38263
|
+
path: "/v1/accounting/journal-entry-lines",
|
|
38264
|
+
args,
|
|
38265
|
+
queryParamKeys: [
|
|
38266
|
+
"take",
|
|
38267
|
+
"skip",
|
|
38268
|
+
"entry_id",
|
|
38269
|
+
"ledger_account_id",
|
|
38270
|
+
"invoice_line_item_id",
|
|
38271
|
+
"type",
|
|
38272
|
+
"invoicing_entity_id",
|
|
38273
|
+
"entry_status",
|
|
38274
|
+
"customer_id",
|
|
38275
|
+
"search",
|
|
38276
|
+
"year",
|
|
38277
|
+
"quarter"
|
|
38278
|
+
]
|
|
38279
|
+
});
|
|
38280
|
+
});
|
|
38281
|
+
}
|
|
38282
|
+
|
|
38283
|
+
// build/commands/generated/accounting-ledgers.js
|
|
38284
|
+
function registerAccounting_LedgersCommands(parent) {
|
|
38285
|
+
const resource = parent.command("accounting-ledgers").description("Manage accounting > ledgers");
|
|
38286
|
+
resource.command("list-ledgers").description(`List accounting ledgers for the authenticated client.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).addHelpText("after", `
|
|
38287
|
+
Examples:
|
|
38288
|
+
hyperline accounting-ledgers list-ledgers
|
|
38289
|
+
hyperline accounting-ledgers list-ledgers --invoicing-entity-id <invoicing_entity_id>`).action(async (opts) => {
|
|
38290
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38291
|
+
if (!ctx) {
|
|
38292
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38293
|
+
process.exit(1);
|
|
38294
|
+
}
|
|
38295
|
+
const args = {};
|
|
38296
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38297
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38298
|
+
await ctx.execute({
|
|
38299
|
+
method: "GET",
|
|
38300
|
+
path: "/v1/accounting/ledgers",
|
|
38301
|
+
args,
|
|
38302
|
+
queryParamKeys: ["invoicing_entity_id"]
|
|
38303
|
+
});
|
|
38304
|
+
});
|
|
38305
|
+
resource.command("get-ledger").description(`Retrieve an accounting ledger by its identifier.`).requiredOption("--id <value>", `id parameter`).option("--invoicing-entity-id <value>", `Require the ledger to belong to this invoicing entity.`).addHelpText("after", `
|
|
38306
|
+
Examples:
|
|
38307
|
+
hyperline accounting-ledgers get-ledger --id <id>
|
|
38308
|
+
hyperline accounting-ledgers get-ledger --id <id> --invoicing-entity-id <invoicing_entity_id>`).action(async (opts) => {
|
|
38309
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38310
|
+
if (!ctx) {
|
|
38311
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38312
|
+
process.exit(1);
|
|
38313
|
+
}
|
|
38314
|
+
const args = {};
|
|
38315
|
+
if (opts.id !== void 0)
|
|
38316
|
+
args.id = opts.id;
|
|
38317
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38318
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38319
|
+
await ctx.execute({
|
|
38320
|
+
method: "GET",
|
|
38321
|
+
path: "/v1/accounting/ledgers/{id}",
|
|
38322
|
+
args,
|
|
38323
|
+
queryParamKeys: ["invoicing_entity_id"]
|
|
38324
|
+
});
|
|
38325
|
+
});
|
|
38326
|
+
resource.command("create-ledger").description(`Create an accounting ledger for an invoicing entity.`).requiredOption("--invoicing-entity-id <value>", `Identifier of the invoicing entity that owns the ledger.`).requiredOption("--name <value>", `Display name of the ledger.`).requiredOption("--code <value>", `Optional accounting code of the ledger.`).requiredOption("--description <value>", `Optional description of the ledger.`).requiredOption("--type <value>", `Type of ledger.`).requiredOption("--currency <value>", `ISO 4217 currency used by the ledger.`).requiredOption("--entry-number-pattern <value>", `Entry numbering pattern containing \`{number}\`.`).requiredOption("--is-primary", `Whether this is the primary ledger for the invoicing entity.`).requiredOption("--is-inactive", `Whether the ledger is inactive.`).addHelpText("after", `
|
|
38327
|
+
Examples:
|
|
38328
|
+
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive
|
|
38329
|
+
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive --output json`).action(async (opts) => {
|
|
38330
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38331
|
+
if (!ctx) {
|
|
38332
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38333
|
+
process.exit(1);
|
|
38334
|
+
}
|
|
38335
|
+
const args = {};
|
|
38336
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38337
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38338
|
+
if (opts.name !== void 0)
|
|
38339
|
+
args.name = opts.name;
|
|
38340
|
+
if (opts.code !== void 0)
|
|
38341
|
+
args.code = opts.code;
|
|
38342
|
+
if (opts.description !== void 0)
|
|
38343
|
+
args.description = opts.description;
|
|
38344
|
+
if (opts.type !== void 0)
|
|
38345
|
+
args.type = opts.type;
|
|
38346
|
+
if (opts.currency !== void 0)
|
|
38347
|
+
args.currency = opts.currency;
|
|
38348
|
+
if (opts.entryNumberPattern !== void 0)
|
|
38349
|
+
args.entry_number_pattern = opts.entryNumberPattern;
|
|
38350
|
+
if (opts.isPrimary !== void 0)
|
|
38351
|
+
args.is_primary = true;
|
|
38352
|
+
if (opts.isInactive !== void 0)
|
|
38353
|
+
args.is_inactive = true;
|
|
38354
|
+
await ctx.execute({
|
|
38355
|
+
method: "POST",
|
|
38356
|
+
path: "/v1/accounting/ledgers",
|
|
38357
|
+
args,
|
|
38358
|
+
queryParamKeys: []
|
|
38359
|
+
});
|
|
38360
|
+
});
|
|
38361
|
+
resource.command("update-ledger").description(`Update an existing accounting ledger.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Display name of the ledger.`).option("--code <value>", `Optional accounting code of the ledger.`).option("--description <value>", `Optional description of the ledger.`).option("--type <value>", `Type of ledger.`).option("--currency <value>", `ISO 4217 currency used by the ledger.`).option("--entry-number-pattern <value>", `Entry numbering pattern containing \`{number}\`.`).option("--next-entry-number <number>", `Next sequence number assigned to an entry.`).addHelpText("after", `
|
|
38362
|
+
Examples:
|
|
38363
|
+
hyperline accounting-ledgers update-ledger --id <id>
|
|
38364
|
+
hyperline accounting-ledgers update-ledger --id <id> --name <name> --code <code>
|
|
38365
|
+
hyperline accounting-ledgers update-ledger --id <id> --output json`).action(async (opts) => {
|
|
38366
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38367
|
+
if (!ctx) {
|
|
38368
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38369
|
+
process.exit(1);
|
|
38370
|
+
}
|
|
38371
|
+
const args = {};
|
|
38372
|
+
if (opts.id !== void 0)
|
|
38373
|
+
args.id = opts.id;
|
|
38374
|
+
if (opts.name !== void 0)
|
|
38375
|
+
args.name = opts.name;
|
|
38376
|
+
if (opts.code !== void 0)
|
|
38377
|
+
args.code = opts.code;
|
|
38378
|
+
if (opts.description !== void 0)
|
|
38379
|
+
args.description = opts.description;
|
|
38380
|
+
if (opts.type !== void 0)
|
|
38381
|
+
args.type = opts.type;
|
|
38382
|
+
if (opts.currency !== void 0)
|
|
38383
|
+
args.currency = opts.currency;
|
|
38384
|
+
if (opts.entryNumberPattern !== void 0)
|
|
38385
|
+
args.entry_number_pattern = opts.entryNumberPattern;
|
|
38386
|
+
if (opts.nextEntryNumber !== void 0)
|
|
38387
|
+
args.next_entry_number = Number(opts.nextEntryNumber);
|
|
38388
|
+
await ctx.execute({
|
|
38389
|
+
method: "PUT",
|
|
38390
|
+
path: "/v1/accounting/ledgers/{id}",
|
|
38391
|
+
args,
|
|
38392
|
+
queryParamKeys: []
|
|
38393
|
+
});
|
|
38394
|
+
});
|
|
38395
|
+
resource.command("delete-ledger").description(`Delete an unused accounting ledger.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
38396
|
+
Examples:
|
|
38397
|
+
hyperline accounting-ledgers delete-ledger --id <id>
|
|
38398
|
+
hyperline accounting-ledgers delete-ledger --id <id> --output json`).action(async (opts) => {
|
|
38399
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38400
|
+
if (!ctx) {
|
|
38401
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38402
|
+
process.exit(1);
|
|
38403
|
+
}
|
|
38404
|
+
const args = {};
|
|
38405
|
+
if (opts.id !== void 0)
|
|
38406
|
+
args.id = opts.id;
|
|
38407
|
+
if (!opts.yes) {
|
|
38408
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
38409
|
+
if (!confirmed) {
|
|
38410
|
+
process.stdout.write("Aborted.\n");
|
|
38411
|
+
return;
|
|
38412
|
+
}
|
|
38413
|
+
}
|
|
38414
|
+
await ctx.execute({
|
|
38415
|
+
method: "DELETE",
|
|
38416
|
+
path: "/v1/accounting/ledgers/{id}",
|
|
38417
|
+
args,
|
|
38418
|
+
queryParamKeys: []
|
|
38419
|
+
});
|
|
38420
|
+
});
|
|
38421
|
+
}
|
|
38422
|
+
|
|
38423
|
+
// build/commands/generated/accounting-reports.js
|
|
38424
|
+
function registerAccounting_ReportsCommands(parent) {
|
|
38425
|
+
const resource = parent.command("accounting-reports").description("Manage accounting > reports");
|
|
38426
|
+
resource.command("create-income-statement-export").description(`Queue an XLSX income-statement export for a ledger and inclusive period.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--period-from <value>", `First inclusive reporting date.`).requiredOption("--period-to <value>", `Last inclusive reporting date.`).option("--invoicing-entity-id <value>", `Optional invoicing entity identifier.`).option("--status <value>", `Journal-entry status scope; defaults to posted.`).option("--include-reversed", `Whether reversed entries are included.`).addHelpText("after", `
|
|
38427
|
+
Examples:
|
|
38428
|
+
hyperline accounting-reports create-income-statement-export --ledger-id <ledger_id> --period-from <period_from> --period-to <period_to>
|
|
38429
|
+
hyperline accounting-reports create-income-statement-export --ledger-id <ledger_id> --period-from <period_from> --period-to <period_to> --invoicing-entity-id <invoicing_entity_id> --status <status>
|
|
38430
|
+
hyperline accounting-reports create-income-statement-export --ledger-id <ledger_id> --period-from <period_from> --period-to <period_to> --output json`).action(async (opts) => {
|
|
38431
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38432
|
+
if (!ctx) {
|
|
38433
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38434
|
+
process.exit(1);
|
|
38435
|
+
}
|
|
38436
|
+
const args = {};
|
|
38437
|
+
if (opts.ledgerId !== void 0)
|
|
38438
|
+
args.ledger_id = opts.ledgerId;
|
|
38439
|
+
if (opts.periodFrom !== void 0)
|
|
38440
|
+
args.period_from = opts.periodFrom;
|
|
38441
|
+
if (opts.periodTo !== void 0)
|
|
38442
|
+
args.period_to = opts.periodTo;
|
|
38443
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38444
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38445
|
+
if (opts.status !== void 0)
|
|
38446
|
+
args.status = opts.status;
|
|
38447
|
+
if (opts.includeReversed !== void 0)
|
|
38448
|
+
args.include_reversed = true;
|
|
38449
|
+
await ctx.execute({
|
|
38450
|
+
method: "POST",
|
|
38451
|
+
path: "/v1/accounting/income-statement/export",
|
|
38452
|
+
args,
|
|
38453
|
+
queryParamKeys: []
|
|
38454
|
+
});
|
|
38455
|
+
});
|
|
38456
|
+
resource.command("create-general-ledger-export").description(`Queue an XLSX general-ledger export for a ledger and inclusive period.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--period-from <value>", `First inclusive reporting date.`).requiredOption("--period-to <value>", `Last inclusive reporting date.`).option("--invoicing-entity-id <value>", `Optional invoicing entity identifier.`).option("--status <value>", `Journal-entry status scope; defaults to posted.`).option("--include-reversed", `Whether reversed entries are included.`).option("--account-ids <json>", `Optional ledger-account identifiers.`).option("--account-types <json>", `Optional ledger-account types.`).addHelpText("after", `
|
|
38457
|
+
Examples:
|
|
38458
|
+
hyperline accounting-reports create-general-ledger-export --ledger-id <ledger_id> --period-from <period_from> --period-to <period_to>
|
|
38459
|
+
hyperline accounting-reports create-general-ledger-export --ledger-id <ledger_id> --period-from <period_from> --period-to <period_to> --invoicing-entity-id <invoicing_entity_id> --status <status>
|
|
38460
|
+
hyperline accounting-reports create-general-ledger-export --ledger-id <ledger_id> --period-from <period_from> --period-to <period_to> --output json`).action(async (opts) => {
|
|
38461
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38462
|
+
if (!ctx) {
|
|
38463
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38464
|
+
process.exit(1);
|
|
38465
|
+
}
|
|
38466
|
+
const args = {};
|
|
38467
|
+
if (opts.ledgerId !== void 0)
|
|
38468
|
+
args.ledger_id = opts.ledgerId;
|
|
38469
|
+
if (opts.periodFrom !== void 0)
|
|
38470
|
+
args.period_from = opts.periodFrom;
|
|
38471
|
+
if (opts.periodTo !== void 0)
|
|
38472
|
+
args.period_to = opts.periodTo;
|
|
38473
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38474
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38475
|
+
if (opts.status !== void 0)
|
|
38476
|
+
args.status = opts.status;
|
|
38477
|
+
if (opts.includeReversed !== void 0)
|
|
38478
|
+
args.include_reversed = true;
|
|
38479
|
+
if (opts.accountIds !== void 0)
|
|
38480
|
+
args.account_ids = JSON.parse(opts.accountIds);
|
|
38481
|
+
if (opts.accountTypes !== void 0)
|
|
38482
|
+
args.account_types = JSON.parse(opts.accountTypes);
|
|
38483
|
+
await ctx.execute({
|
|
38484
|
+
method: "POST",
|
|
38485
|
+
path: "/v1/accounting/general-ledger/export",
|
|
38486
|
+
args,
|
|
38487
|
+
queryParamKeys: []
|
|
38488
|
+
});
|
|
38489
|
+
});
|
|
38490
|
+
}
|
|
38491
|
+
|
|
38492
|
+
// build/commands/generated/accounting-revenue-recognition.js
|
|
38493
|
+
function registerAccounting_Revenue_RecognitionCommands(parent) {
|
|
38494
|
+
const resource = parent.command("accounting-revenue-recognition").description("Manage accounting > revenue recognition");
|
|
38495
|
+
resource.command("get-rev-rec-waterfall").description(`Aggregate revenue-recognition schedules into a booked-by-recognition month matrix.`).option("--ledger-id <value>", `Ledger identifier.`).option("--year <number>", `Booked calendar year.`).option("--customer-id.in <value>", `Comma-separated customer identifiers.`).option("--product-id.in <value>", `Comma-separated product identifiers.`).option("--search <value>", `Search customer, product, invoice, or schedule data.`).addHelpText("after", `
|
|
38496
|
+
Examples:
|
|
38497
|
+
hyperline accounting-revenue-recognition get-rev-rec-waterfall
|
|
38498
|
+
hyperline accounting-revenue-recognition get-rev-rec-waterfall --ledger-id <ledger_id> --year <year>`).action(async (opts) => {
|
|
38499
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38500
|
+
if (!ctx) {
|
|
38501
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38502
|
+
process.exit(1);
|
|
38503
|
+
}
|
|
38504
|
+
const args = {};
|
|
38505
|
+
if (opts.ledgerId !== void 0)
|
|
38506
|
+
args.ledger_id = opts.ledgerId;
|
|
38507
|
+
if (opts["customerId.in"] !== void 0)
|
|
38508
|
+
args.customer_id__in = opts["customerId.in"];
|
|
38509
|
+
if (opts["productId.in"] !== void 0)
|
|
38510
|
+
args.product_id__in = opts["productId.in"];
|
|
38511
|
+
if (opts.search !== void 0)
|
|
38512
|
+
args.search = opts.search;
|
|
38513
|
+
if (opts.year !== void 0)
|
|
38514
|
+
args.year = Number(opts.year);
|
|
38515
|
+
await ctx.execute({
|
|
38516
|
+
method: "GET",
|
|
38517
|
+
path: "/v1/accounting/revrec/waterfall",
|
|
38518
|
+
args,
|
|
38519
|
+
queryParamKeys: [
|
|
38520
|
+
"ledger_id",
|
|
38521
|
+
"year",
|
|
38522
|
+
"customer_id__in",
|
|
38523
|
+
"product_id__in",
|
|
38524
|
+
"search"
|
|
38525
|
+
]
|
|
38526
|
+
});
|
|
38527
|
+
});
|
|
38528
|
+
resource.command("get-rev-rec-waterfall-cell").description(`List the schedules and slices contributing to a waterfall cell.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `Ledger identifier.`).option("--booked-month <value>", `Booked month formatted YYYY-MM; required if year is absent.`).option("--year <number>", `Booked year; required if booked_month is absent.`).option("--recognition-month <value>", `Recognition month formatted YYYY-MM.`).option("--cell-type <value>", `Waterfall cell category.`).option("--status <value>", `Recognition status filter.`).option("--customer-id.in <value>", `Comma-separated customer identifiers.`).option("--product-id.in <value>", `Comma-separated product identifiers.`).option("--search <value>", `Search customer, product, invoice, or schedule data.`).addHelpText("after", `
|
|
38529
|
+
Examples:
|
|
38530
|
+
hyperline accounting-revenue-recognition get-rev-rec-waterfall-cell
|
|
38531
|
+
hyperline accounting-revenue-recognition get-rev-rec-waterfall-cell --take <take> --ledger-id <ledger_id>`).action(async (opts) => {
|
|
38532
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38533
|
+
if (!ctx) {
|
|
38534
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38535
|
+
process.exit(1);
|
|
38536
|
+
}
|
|
38537
|
+
const args = {};
|
|
38538
|
+
if (opts.ledgerId !== void 0)
|
|
38539
|
+
args.ledger_id = opts.ledgerId;
|
|
38540
|
+
if (opts.bookedMonth !== void 0)
|
|
38541
|
+
args.booked_month = opts.bookedMonth;
|
|
38542
|
+
if (opts.recognitionMonth !== void 0)
|
|
38543
|
+
args.recognition_month = opts.recognitionMonth;
|
|
38544
|
+
if (opts.cellType !== void 0)
|
|
38545
|
+
args.cell_type = opts.cellType;
|
|
38546
|
+
if (opts.status !== void 0)
|
|
38547
|
+
args.status = opts.status;
|
|
38548
|
+
if (opts["customerId.in"] !== void 0)
|
|
38549
|
+
args.customer_id__in = opts["customerId.in"];
|
|
38550
|
+
if (opts["productId.in"] !== void 0)
|
|
38551
|
+
args.product_id__in = opts["productId.in"];
|
|
38552
|
+
if (opts.search !== void 0)
|
|
38553
|
+
args.search = opts.search;
|
|
38554
|
+
if (opts.take !== void 0)
|
|
38555
|
+
args.take = Number(opts.take);
|
|
38556
|
+
if (opts.skip !== void 0)
|
|
38557
|
+
args.skip = Number(opts.skip);
|
|
38558
|
+
if (opts.year !== void 0)
|
|
38559
|
+
args.year = Number(opts.year);
|
|
38560
|
+
await ctx.execute({
|
|
38561
|
+
method: "GET",
|
|
38562
|
+
path: "/v1/accounting/revrec/waterfall/cell",
|
|
38563
|
+
args,
|
|
38564
|
+
queryParamKeys: [
|
|
38565
|
+
"take",
|
|
38566
|
+
"skip",
|
|
38567
|
+
"ledger_id",
|
|
38568
|
+
"booked_month",
|
|
38569
|
+
"year",
|
|
38570
|
+
"recognition_month",
|
|
38571
|
+
"cell_type",
|
|
38572
|
+
"status",
|
|
38573
|
+
"customer_id__in",
|
|
38574
|
+
"product_id__in",
|
|
38575
|
+
"search"
|
|
38576
|
+
]
|
|
38577
|
+
});
|
|
38578
|
+
});
|
|
38579
|
+
resource.command("create-rev-rec-waterfall-export").description(`Queue an XLSX waterfall export for a ledger and year.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--year <number>", `Booked calendar year included in the export.`).addHelpText("after", `
|
|
38580
|
+
Examples:
|
|
38581
|
+
hyperline accounting-revenue-recognition create-rev-rec-waterfall-export --ledger-id <ledger_id> --year <year>
|
|
38582
|
+
hyperline accounting-revenue-recognition create-rev-rec-waterfall-export --ledger-id <ledger_id> --year <year> --output json`).action(async (opts) => {
|
|
38583
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38584
|
+
if (!ctx) {
|
|
38585
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38586
|
+
process.exit(1);
|
|
38587
|
+
}
|
|
38588
|
+
const args = {};
|
|
38589
|
+
if (opts.ledgerId !== void 0)
|
|
38590
|
+
args.ledger_id = opts.ledgerId;
|
|
38591
|
+
if (opts.year !== void 0)
|
|
38592
|
+
args.year = Number(opts.year);
|
|
38593
|
+
await ctx.execute({
|
|
38594
|
+
method: "POST",
|
|
38595
|
+
path: "/v1/accounting/revrec/waterfall/export",
|
|
38596
|
+
args,
|
|
38597
|
+
queryParamKeys: []
|
|
38598
|
+
});
|
|
38599
|
+
});
|
|
38600
|
+
resource.command("create-rev-rec-recognized-summary-export").description(`Queue an XLSX or CSV summary of recognized revenue for a month range.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--month-from <value>", `First recognition month included, formatted YYYY-MM.`).requiredOption("--month-to <value>", `Last recognition month included, formatted YYYY-MM.`).option("--file-type <value>", `Export file type; defaults to xlsx.`).addHelpText("after", `
|
|
38601
|
+
Examples:
|
|
38602
|
+
hyperline accounting-revenue-recognition create-rev-rec-recognized-summary-export --ledger-id <ledger_id> --month-from <month_from> --month-to <month_to>
|
|
38603
|
+
hyperline accounting-revenue-recognition create-rev-rec-recognized-summary-export --ledger-id <ledger_id> --month-from <month_from> --month-to <month_to> --file-type <file_type>
|
|
38604
|
+
hyperline accounting-revenue-recognition create-rev-rec-recognized-summary-export --ledger-id <ledger_id> --month-from <month_from> --month-to <month_to> --output json`).action(async (opts) => {
|
|
38605
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38606
|
+
if (!ctx) {
|
|
38607
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38608
|
+
process.exit(1);
|
|
38609
|
+
}
|
|
38610
|
+
const args = {};
|
|
38611
|
+
if (opts.ledgerId !== void 0)
|
|
38612
|
+
args.ledger_id = opts.ledgerId;
|
|
38613
|
+
if (opts.monthFrom !== void 0)
|
|
38614
|
+
args.month_from = opts.monthFrom;
|
|
38615
|
+
if (opts.monthTo !== void 0)
|
|
38616
|
+
args.month_to = opts.monthTo;
|
|
38617
|
+
if (opts.fileType !== void 0)
|
|
38618
|
+
args.file_type = opts.fileType;
|
|
38619
|
+
await ctx.execute({
|
|
38620
|
+
method: "POST",
|
|
38621
|
+
path: "/v1/accounting/revrec/recognized-summary/export",
|
|
38622
|
+
args,
|
|
38623
|
+
queryParamKeys: []
|
|
38624
|
+
});
|
|
38625
|
+
});
|
|
38626
|
+
resource.command("get-unbilled-revenue").description(`Get revenue accrued on a subscription's current open invoice.`).option("--subscription-id <value>", `Subscription identifier.`).addHelpText("after", `
|
|
38627
|
+
Examples:
|
|
38628
|
+
hyperline accounting-revenue-recognition get-unbilled-revenue
|
|
38629
|
+
hyperline accounting-revenue-recognition get-unbilled-revenue --subscription-id <subscription_id>`).action(async (opts) => {
|
|
38630
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38631
|
+
if (!ctx) {
|
|
38632
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38633
|
+
process.exit(1);
|
|
38634
|
+
}
|
|
38635
|
+
const args = {};
|
|
38636
|
+
if (opts.subscriptionId !== void 0)
|
|
38637
|
+
args.subscription_id = opts.subscriptionId;
|
|
38638
|
+
await ctx.execute({
|
|
38639
|
+
method: "GET",
|
|
38640
|
+
path: "/v1/accounting/revrec/unbilled",
|
|
38641
|
+
args,
|
|
38642
|
+
queryParamKeys: ["subscription_id"]
|
|
38643
|
+
});
|
|
38644
|
+
});
|
|
38645
|
+
resource.command("list-rev-rec-schedules").description(`List revenue-recognition schedules with embedded slices.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).option("--invoice-id <value>", `Filter by invoice identifier.`).addHelpText("after", `
|
|
38646
|
+
Examples:
|
|
38647
|
+
hyperline accounting-revenue-recognition list-rev-rec-schedules
|
|
38648
|
+
hyperline accounting-revenue-recognition list-rev-rec-schedules --take <take> --invoicing-entity-id <invoicing_entity_id>`).action(async (opts) => {
|
|
38649
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38650
|
+
if (!ctx) {
|
|
38651
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38652
|
+
process.exit(1);
|
|
38653
|
+
}
|
|
38654
|
+
const args = {};
|
|
38655
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38656
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38657
|
+
if (opts.invoiceId !== void 0)
|
|
38658
|
+
args.invoice_id = opts.invoiceId;
|
|
38659
|
+
if (opts.take !== void 0)
|
|
38660
|
+
args.take = Number(opts.take);
|
|
38661
|
+
if (opts.skip !== void 0)
|
|
38662
|
+
args.skip = Number(opts.skip);
|
|
38663
|
+
await ctx.execute({
|
|
38664
|
+
method: "GET",
|
|
38665
|
+
path: "/v1/accounting/revrec/schedules",
|
|
38666
|
+
args,
|
|
38667
|
+
queryParamKeys: ["take", "skip", "invoicing_entity_id", "invoice_id"]
|
|
38668
|
+
});
|
|
38669
|
+
});
|
|
38670
|
+
resource.command("get-rev-rec-schedule").description(`Retrieve a revenue-recognition schedule with its slices.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38671
|
+
Examples:
|
|
38672
|
+
hyperline accounting-revenue-recognition get-rev-rec-schedule --id <id>`).action(async (opts) => {
|
|
38673
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38674
|
+
if (!ctx) {
|
|
38675
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38676
|
+
process.exit(1);
|
|
38677
|
+
}
|
|
38678
|
+
const args = {};
|
|
38679
|
+
if (opts.id !== void 0)
|
|
38680
|
+
args.id = opts.id;
|
|
38681
|
+
await ctx.execute({
|
|
38682
|
+
method: "GET",
|
|
38683
|
+
path: "/v1/accounting/revrec/schedules/{id}",
|
|
38684
|
+
args,
|
|
38685
|
+
queryParamKeys: []
|
|
38686
|
+
});
|
|
38687
|
+
});
|
|
38688
|
+
resource.command("list-rev-rec-schedule-adjustments").description(`List the audit trail for manual schedule adjustments.`).requiredOption("--schedule-id <value>", `schedule_id parameter`).addHelpText("after", `
|
|
38689
|
+
Examples:
|
|
38690
|
+
hyperline accounting-revenue-recognition list-rev-rec-schedule-adjustments --schedule-id <schedule_id>`).action(async (opts) => {
|
|
38691
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38692
|
+
if (!ctx) {
|
|
38693
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38694
|
+
process.exit(1);
|
|
38695
|
+
}
|
|
38696
|
+
const args = {};
|
|
38697
|
+
if (opts.scheduleId !== void 0)
|
|
38698
|
+
args.schedule_id = opts.scheduleId;
|
|
38699
|
+
await ctx.execute({
|
|
38700
|
+
method: "GET",
|
|
38701
|
+
path: "/v1/accounting/revrec/schedules/{schedule_id}/adjustments",
|
|
38702
|
+
args,
|
|
38703
|
+
queryParamKeys: []
|
|
38704
|
+
});
|
|
38705
|
+
});
|
|
38706
|
+
resource.command("reshape-rev-rec-schedule").description(`Recognize an amount now and optionally spread the remainder over a new window.`).requiredOption("--schedule-id <value>", `schedule_id parameter`).requiredOption("--recognize-now-amount <value>", `Amount to recognize immediately in ledger currency.`).option("--window <json>", `Window over which to spread the remaining amount.`).requiredOption("--reason-code <value>", `Stable reason code for the adjustment.`).option("--reason-detail <value>", `Required explanation when reason_code is \`other\`.`).addHelpText("after", `
|
|
38707
|
+
Examples:
|
|
38708
|
+
hyperline accounting-revenue-recognition reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --reason-code <reason_code>
|
|
38709
|
+
hyperline accounting-revenue-recognition reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --reason-code <reason_code> --window <window> --reason-detail <reason_detail>
|
|
38710
|
+
hyperline accounting-revenue-recognition reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --reason-code <reason_code> --output json`).action(async (opts) => {
|
|
38711
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38712
|
+
if (!ctx) {
|
|
38713
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38714
|
+
process.exit(1);
|
|
38715
|
+
}
|
|
38716
|
+
const args = {};
|
|
38717
|
+
if (opts.scheduleId !== void 0)
|
|
38718
|
+
args.schedule_id = opts.scheduleId;
|
|
38719
|
+
if (opts.recognizeNowAmount !== void 0)
|
|
38720
|
+
args.recognize_now_amount = opts.recognizeNowAmount;
|
|
38721
|
+
if (opts.reasonCode !== void 0)
|
|
38722
|
+
args.reason_code = opts.reasonCode;
|
|
38723
|
+
if (opts.reasonDetail !== void 0)
|
|
38724
|
+
args.reason_detail = opts.reasonDetail;
|
|
38725
|
+
if (opts.window !== void 0)
|
|
38726
|
+
args.window = JSON.parse(opts.window);
|
|
38727
|
+
await ctx.execute({
|
|
38728
|
+
method: "POST",
|
|
38729
|
+
path: "/v1/accounting/revrec/schedules/{schedule_id}/reshape",
|
|
38730
|
+
args,
|
|
38731
|
+
queryParamKeys: []
|
|
38732
|
+
});
|
|
38733
|
+
});
|
|
38734
|
+
resource.command("preview-reshape-rev-rec-schedule").description(`Preview the exact reshape plan without writing data.`).requiredOption("--schedule-id <value>", `schedule_id parameter`).requiredOption("--recognize-now-amount <value>", `Amount to recognize immediately in ledger currency.`).option("--window <json>", `Window over which to spread the remaining amount.`).addHelpText("after", `
|
|
38735
|
+
Examples:
|
|
38736
|
+
hyperline accounting-revenue-recognition preview-reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount>
|
|
38737
|
+
hyperline accounting-revenue-recognition preview-reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --window <window>
|
|
38738
|
+
hyperline accounting-revenue-recognition preview-reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --output json`).action(async (opts) => {
|
|
38739
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38740
|
+
if (!ctx) {
|
|
38741
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38742
|
+
process.exit(1);
|
|
38743
|
+
}
|
|
38744
|
+
const args = {};
|
|
38745
|
+
if (opts.scheduleId !== void 0)
|
|
38746
|
+
args.schedule_id = opts.scheduleId;
|
|
38747
|
+
if (opts.recognizeNowAmount !== void 0)
|
|
38748
|
+
args.recognize_now_amount = opts.recognizeNowAmount;
|
|
38749
|
+
if (opts.window !== void 0)
|
|
38750
|
+
args.window = JSON.parse(opts.window);
|
|
38751
|
+
await ctx.execute({
|
|
38752
|
+
method: "POST",
|
|
38753
|
+
path: "/v1/accounting/revrec/schedules/{schedule_id}/reshape/preview",
|
|
38754
|
+
args,
|
|
38755
|
+
queryParamKeys: []
|
|
38756
|
+
});
|
|
38757
|
+
});
|
|
38758
|
+
resource.command("get-rev-rec-slice").description(`Retrieve a tenant-scoped revenue-recognition slice.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38759
|
+
Examples:
|
|
38760
|
+
hyperline accounting-revenue-recognition get-rev-rec-slice --id <id>`).action(async (opts) => {
|
|
38761
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38762
|
+
if (!ctx) {
|
|
38763
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38764
|
+
process.exit(1);
|
|
38765
|
+
}
|
|
38766
|
+
const args = {};
|
|
38767
|
+
if (opts.id !== void 0)
|
|
38768
|
+
args.id = opts.id;
|
|
38769
|
+
await ctx.execute({
|
|
38770
|
+
method: "GET",
|
|
38771
|
+
path: "/v1/accounting/revrec/slices/{id}",
|
|
38772
|
+
args,
|
|
38773
|
+
queryParamKeys: []
|
|
38774
|
+
});
|
|
38775
|
+
});
|
|
38776
|
+
}
|
|
38777
|
+
|
|
38778
|
+
// build/commands/generated/accounting-rules.js
|
|
38779
|
+
function registerAccounting_RulesCommands(parent) {
|
|
38780
|
+
const resource = parent.command("accounting-rules").description("Manage accounting > rules");
|
|
38781
|
+
resource.command("list").description(`Retrieve existing accounting rules with optional filtering.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `ledger_id`).option("--ledger-id.not <value>", `ledger_id__not`).option("--ledger-id.is-null <value>", `ledger_id__isNull`).option("--ledger-id.is-not-null <value>", `ledger_id__isNotNull`).option("--ledger-id.equals <value>", `ledger_id__equals`).option("--ledger-id.contains <value>", `ledger_id__contains`).option("--ledger-id.starts-with <value>", `ledger_id__startsWith`).option("--ledger-id.end-with <value>", `ledger_id__endWith`).option("--category <value>", `category`).option("--category.not <value>", `category__not`).option("--category.is-null <value>", `category__isNull`).option("--category.is-not-null <value>", `category__isNotNull`).option("--category.equals <value>", `category__equals`).option("--category.contains <value>", `category__contains`).option("--category.starts-with <value>", `category__startsWith`).option("--category.end-with <value>", `category__endWith`).addHelpText("after", `
|
|
38782
|
+
Examples:
|
|
38783
|
+
hyperline accounting-rules list
|
|
38784
|
+
hyperline accounting-rules list --take <take> --ledger-id <ledger_id>`).action(async (opts) => {
|
|
38785
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38786
|
+
if (!ctx) {
|
|
38787
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38788
|
+
process.exit(1);
|
|
38789
|
+
}
|
|
38790
|
+
const args = {};
|
|
38791
|
+
if (opts.ledgerId !== void 0)
|
|
38792
|
+
args.ledger_id = opts.ledgerId;
|
|
38793
|
+
if (opts["ledgerId.not"] !== void 0)
|
|
38794
|
+
args.ledger_id__not = opts["ledgerId.not"];
|
|
38795
|
+
if (opts["ledgerId.isNull"] !== void 0)
|
|
38796
|
+
args.ledger_id__isNull = opts["ledgerId.isNull"];
|
|
38797
|
+
if (opts["ledgerId.isNotNull"] !== void 0)
|
|
38798
|
+
args.ledger_id__isNotNull = opts["ledgerId.isNotNull"];
|
|
38799
|
+
if (opts["ledgerId.equals"] !== void 0)
|
|
38800
|
+
args.ledger_id__equals = opts["ledgerId.equals"];
|
|
38801
|
+
if (opts["ledgerId.contains"] !== void 0)
|
|
38802
|
+
args.ledger_id__contains = opts["ledgerId.contains"];
|
|
38803
|
+
if (opts["ledgerId.startsWith"] !== void 0)
|
|
38804
|
+
args.ledger_id__startsWith = opts["ledgerId.startsWith"];
|
|
38805
|
+
if (opts["ledgerId.endWith"] !== void 0)
|
|
38806
|
+
args.ledger_id__endWith = opts["ledgerId.endWith"];
|
|
38807
|
+
if (opts.category !== void 0)
|
|
38808
|
+
args.category = opts.category;
|
|
38809
|
+
if (opts["category.not"] !== void 0)
|
|
38810
|
+
args.category__not = opts["category.not"];
|
|
38811
|
+
if (opts["category.isNull"] !== void 0)
|
|
38812
|
+
args.category__isNull = opts["category.isNull"];
|
|
38813
|
+
if (opts["category.isNotNull"] !== void 0)
|
|
38814
|
+
args.category__isNotNull = opts["category.isNotNull"];
|
|
38815
|
+
if (opts["category.equals"] !== void 0)
|
|
38816
|
+
args.category__equals = opts["category.equals"];
|
|
38817
|
+
if (opts["category.contains"] !== void 0)
|
|
38818
|
+
args.category__contains = opts["category.contains"];
|
|
38819
|
+
if (opts["category.startsWith"] !== void 0)
|
|
38820
|
+
args.category__startsWith = opts["category.startsWith"];
|
|
38821
|
+
if (opts["category.endWith"] !== void 0)
|
|
38822
|
+
args.category__endWith = opts["category.endWith"];
|
|
38823
|
+
if (opts.take !== void 0)
|
|
38824
|
+
args.take = Number(opts.take);
|
|
38825
|
+
if (opts.skip !== void 0)
|
|
38826
|
+
args.skip = Number(opts.skip);
|
|
38827
|
+
await ctx.execute({
|
|
38828
|
+
method: "GET",
|
|
38829
|
+
path: "/v1/accounting/rules",
|
|
38830
|
+
args,
|
|
38831
|
+
queryParamKeys: [
|
|
38832
|
+
"take",
|
|
38833
|
+
"skip",
|
|
38834
|
+
"ledger_id",
|
|
38835
|
+
"ledger_id__not",
|
|
38836
|
+
"ledger_id__isNull",
|
|
38837
|
+
"ledger_id__isNotNull",
|
|
38838
|
+
"ledger_id__equals",
|
|
38839
|
+
"ledger_id__contains",
|
|
38840
|
+
"ledger_id__startsWith",
|
|
38841
|
+
"ledger_id__endWith",
|
|
38842
|
+
"category",
|
|
38843
|
+
"category__not",
|
|
38844
|
+
"category__isNull",
|
|
38845
|
+
"category__isNotNull",
|
|
38846
|
+
"category__equals",
|
|
38847
|
+
"category__contains",
|
|
38848
|
+
"category__startsWith",
|
|
38849
|
+
"category__endWith"
|
|
38850
|
+
]
|
|
38851
|
+
});
|
|
38852
|
+
});
|
|
38853
|
+
resource.command("get-accounting-rule-tree").description(`Retrieve accounting rules organized as a filter tree.`).option("--ledger-id <value>", `Ledger identifier.`).option("--invoicing-entity-id <value>", `Optional invoicing entity identifier.`).option("--max-depth <number>", `Maximum tree depth to return.`).option("--search <value>", `Search by rule identifier or category.`).addHelpText("after", `
|
|
38854
|
+
Examples:
|
|
38855
|
+
hyperline accounting-rules get-accounting-rule-tree
|
|
38856
|
+
hyperline accounting-rules get-accounting-rule-tree --ledger-id <ledger_id> --invoicing-entity-id <invoicing_entity_id>`).action(async (opts) => {
|
|
38857
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38858
|
+
if (!ctx) {
|
|
38859
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38860
|
+
process.exit(1);
|
|
38861
|
+
}
|
|
38862
|
+
const args = {};
|
|
38863
|
+
if (opts.ledgerId !== void 0)
|
|
38864
|
+
args.ledger_id = opts.ledgerId;
|
|
38865
|
+
if (opts.invoicingEntityId !== void 0)
|
|
38866
|
+
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38867
|
+
if (opts.search !== void 0)
|
|
38868
|
+
args.search = opts.search;
|
|
38869
|
+
if (opts.maxDepth !== void 0)
|
|
38870
|
+
args.max_depth = Number(opts.maxDepth);
|
|
38871
|
+
await ctx.execute({
|
|
38872
|
+
method: "GET",
|
|
38873
|
+
path: "/v1/accounting/rules/tree",
|
|
38874
|
+
args,
|
|
38875
|
+
queryParamKeys: [
|
|
38876
|
+
"ledger_id",
|
|
38877
|
+
"invoicing_entity_id",
|
|
38878
|
+
"max_depth",
|
|
38879
|
+
"search"
|
|
38880
|
+
]
|
|
38881
|
+
});
|
|
38882
|
+
});
|
|
38883
|
+
resource.command("get-rule-defaults").description(`Preview default account values and priority for a new accounting rule.`).requiredOption("--ledger-id <value>", `Identifier of the ledger used to resolve defaults.`).requiredOption("--category <value>", `Category of the new accounting rule.`).option("--filters <json>", `Optional filters for the proposed rule.`).addHelpText("after", `
|
|
38884
|
+
Examples:
|
|
38885
|
+
hyperline accounting-rules get-rule-defaults --ledger-id <ledger_id> --category <category>
|
|
38886
|
+
hyperline accounting-rules get-rule-defaults --ledger-id <ledger_id> --category <category> --filters <filters>
|
|
38887
|
+
hyperline accounting-rules get-rule-defaults --ledger-id <ledger_id> --category <category> --output json`).action(async (opts) => {
|
|
38888
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38889
|
+
if (!ctx) {
|
|
38890
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38891
|
+
process.exit(1);
|
|
38892
|
+
}
|
|
38893
|
+
const args = {};
|
|
38894
|
+
if (opts.ledgerId !== void 0)
|
|
38895
|
+
args.ledger_id = opts.ledgerId;
|
|
38896
|
+
if (opts.category !== void 0)
|
|
38897
|
+
args.category = opts.category;
|
|
38898
|
+
if (opts.filters !== void 0)
|
|
38899
|
+
args.filters = JSON.parse(opts.filters);
|
|
38900
|
+
await ctx.execute({
|
|
38901
|
+
method: "POST",
|
|
38902
|
+
path: "/v1/accounting/rules/defaults",
|
|
38903
|
+
args,
|
|
38904
|
+
queryParamKeys: []
|
|
38905
|
+
});
|
|
38906
|
+
});
|
|
38907
|
+
resource.command("get").description(`Retrieve a single accounting rule by its identifier.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38908
|
+
Examples:
|
|
38909
|
+
hyperline accounting-rules get --id <id>`).action(async (opts) => {
|
|
38910
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38911
|
+
if (!ctx) {
|
|
38912
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38913
|
+
process.exit(1);
|
|
38914
|
+
}
|
|
38915
|
+
const args = {};
|
|
38916
|
+
if (opts.id !== void 0)
|
|
38917
|
+
args.id = opts.id;
|
|
38918
|
+
await ctx.execute({
|
|
38919
|
+
method: "GET",
|
|
38920
|
+
path: "/v1/accounting/rules/{id}",
|
|
38921
|
+
args,
|
|
38922
|
+
queryParamKeys: []
|
|
38923
|
+
});
|
|
38924
|
+
});
|
|
38925
|
+
resource.command("create").description(`Create a new accounting rule for account code routing or journal posting.`).option("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).option("--name <value>", `Optional user-defined name for the rule.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).requiredOption("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (month, year, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible. Use an asset account for doubtful-receivable reclassification or an expense account for direct write-off.`).option("--customer-credits-ledger-account-id <value>", `Customer credits ledger account ID used for credit balances.`).option("--journal-id <value>", `Journal ID used to route entries in the accounting provider.`).option("--entity-type <value>", `Entity type the rule applies to.`).addHelpText("after", `
|
|
38926
|
+
Examples:
|
|
38927
|
+
hyperline accounting-rules create --category <category> --priority <priority>
|
|
38928
|
+
hyperline accounting-rules create --category <category> --priority <priority> --ledger-id <ledger_id> --name <name>
|
|
38929
|
+
hyperline accounting-rules create --category <category> --priority <priority> --output json`).action(async (opts) => {
|
|
38930
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38931
|
+
if (!ctx) {
|
|
38932
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38933
|
+
process.exit(1);
|
|
38934
|
+
}
|
|
38935
|
+
const args = {};
|
|
38936
|
+
if (opts.ledgerId !== void 0)
|
|
38937
|
+
args.ledger_id = opts.ledgerId;
|
|
38938
|
+
if (opts.name !== void 0)
|
|
38939
|
+
args.name = opts.name;
|
|
38940
|
+
if (opts.category !== void 0)
|
|
38941
|
+
args.category = opts.category;
|
|
38942
|
+
if (opts.intervalPeriod !== void 0)
|
|
38943
|
+
args.interval_period = opts.intervalPeriod;
|
|
38944
|
+
if (opts.revenueLedgerAccountId !== void 0)
|
|
38945
|
+
args.revenue_ledger_account_id = opts.revenueLedgerAccountId;
|
|
38946
|
+
if (opts.deferredRevenueLedgerAccountId !== void 0)
|
|
38947
|
+
args.deferred_revenue_ledger_account_id = opts.deferredRevenueLedgerAccountId;
|
|
38948
|
+
if (opts.deferredDiscountLedgerAccountId !== void 0)
|
|
38949
|
+
args.deferred_discount_ledger_account_id = opts.deferredDiscountLedgerAccountId;
|
|
38950
|
+
if (opts.contraRevenueLedgerAccountId !== void 0)
|
|
38951
|
+
args.contra_revenue_ledger_account_id = opts.contraRevenueLedgerAccountId;
|
|
38952
|
+
if (opts.discountLedgerAccountId !== void 0)
|
|
38953
|
+
args.discount_ledger_account_id = opts.discountLedgerAccountId;
|
|
38954
|
+
if (opts.arLedgerAccountId !== void 0)
|
|
38955
|
+
args.ar_ledger_account_id = opts.arLedgerAccountId;
|
|
38956
|
+
if (opts.cashLedgerAccountId !== void 0)
|
|
38957
|
+
args.cash_ledger_account_id = opts.cashLedgerAccountId;
|
|
38958
|
+
if (opts.paymentsClearingLedgerAccountId !== void 0)
|
|
38959
|
+
args.payments_clearing_ledger_account_id = opts.paymentsClearingLedgerAccountId;
|
|
38960
|
+
if (opts.outputTaxLedgerAccountId !== void 0)
|
|
38961
|
+
args.output_tax_ledger_account_id = opts.outputTaxLedgerAccountId;
|
|
38962
|
+
if (opts.uncollectibleDebitLedgerAccountId !== void 0)
|
|
38963
|
+
args.uncollectible_debit_ledger_account_id = opts.uncollectibleDebitLedgerAccountId;
|
|
38964
|
+
if (opts.customerCreditsLedgerAccountId !== void 0)
|
|
38965
|
+
args.customer_credits_ledger_account_id = opts.customerCreditsLedgerAccountId;
|
|
38966
|
+
if (opts.journalId !== void 0)
|
|
38967
|
+
args.journal_id = opts.journalId;
|
|
38968
|
+
if (opts.entityType !== void 0)
|
|
38969
|
+
args.entity_type = opts.entityType;
|
|
38970
|
+
if (opts.priority !== void 0)
|
|
38971
|
+
args.priority = Number(opts.priority);
|
|
38972
|
+
if (opts.intervalCount !== void 0)
|
|
38973
|
+
args.interval_count = Number(opts.intervalCount);
|
|
38974
|
+
if (opts.productIds !== void 0)
|
|
38975
|
+
args.product_ids = JSON.parse(opts.productIds);
|
|
38976
|
+
if (opts.productTypes !== void 0)
|
|
38977
|
+
args.product_types = JSON.parse(opts.productTypes);
|
|
38978
|
+
if (opts.customerIds !== void 0)
|
|
38979
|
+
args.customer_ids = JSON.parse(opts.customerIds);
|
|
38980
|
+
if (opts.currencies !== void 0)
|
|
38981
|
+
args.currencies = JSON.parse(opts.currencies);
|
|
38982
|
+
if (opts.countries !== void 0)
|
|
38983
|
+
args.countries = JSON.parse(opts.countries);
|
|
38984
|
+
if (opts.couponIds !== void 0)
|
|
38985
|
+
args.coupon_ids = JSON.parse(opts.couponIds);
|
|
38986
|
+
if (opts.clientProviderIds !== void 0)
|
|
38987
|
+
args.client_provider_ids = JSON.parse(opts.clientProviderIds);
|
|
38988
|
+
if (opts.paymentMethodTypes !== void 0)
|
|
38989
|
+
args.payment_method_types = JSON.parse(opts.paymentMethodTypes);
|
|
38990
|
+
await ctx.execute({
|
|
38991
|
+
method: "POST",
|
|
38992
|
+
path: "/v1/accounting/rules",
|
|
38993
|
+
args,
|
|
38994
|
+
queryParamKeys: []
|
|
38995
|
+
});
|
|
38996
|
+
});
|
|
38997
|
+
resource.command("update").description(`Update an existing accounting rule.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Optional user-defined name for the rule.`).option("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).option("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (month, year, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible. Use an asset account for doubtful-receivable reclassification or an expense account for direct write-off.`).option("--customer-credits-ledger-account-id <value>", `Customer credits ledger account ID used for credit balances.`).option("--journal-id <value>", `Journal ID used to route entries in the accounting provider.`).option("--entity-type <value>", `Entity type the rule applies to.`).addHelpText("after", `
|
|
38998
|
+
Examples:
|
|
38999
|
+
hyperline accounting-rules update --id <id>
|
|
39000
|
+
hyperline accounting-rules update --id <id> --name <name> --category <category>
|
|
39001
|
+
hyperline accounting-rules update --id <id> --output json`).action(async (opts) => {
|
|
39002
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
39003
|
+
if (!ctx) {
|
|
39004
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
39005
|
+
process.exit(1);
|
|
39006
|
+
}
|
|
39007
|
+
const args = {};
|
|
39008
|
+
if (opts.id !== void 0)
|
|
39009
|
+
args.id = opts.id;
|
|
39010
|
+
if (opts.name !== void 0)
|
|
39011
|
+
args.name = opts.name;
|
|
39012
|
+
if (opts.category !== void 0)
|
|
39013
|
+
args.category = opts.category;
|
|
39014
|
+
if (opts.intervalPeriod !== void 0)
|
|
39015
|
+
args.interval_period = opts.intervalPeriod;
|
|
39016
|
+
if (opts.revenueLedgerAccountId !== void 0)
|
|
39017
|
+
args.revenue_ledger_account_id = opts.revenueLedgerAccountId;
|
|
39018
|
+
if (opts.deferredRevenueLedgerAccountId !== void 0)
|
|
39019
|
+
args.deferred_revenue_ledger_account_id = opts.deferredRevenueLedgerAccountId;
|
|
39020
|
+
if (opts.deferredDiscountLedgerAccountId !== void 0)
|
|
39021
|
+
args.deferred_discount_ledger_account_id = opts.deferredDiscountLedgerAccountId;
|
|
39022
|
+
if (opts.contraRevenueLedgerAccountId !== void 0)
|
|
39023
|
+
args.contra_revenue_ledger_account_id = opts.contraRevenueLedgerAccountId;
|
|
39024
|
+
if (opts.discountLedgerAccountId !== void 0)
|
|
39025
|
+
args.discount_ledger_account_id = opts.discountLedgerAccountId;
|
|
39026
|
+
if (opts.arLedgerAccountId !== void 0)
|
|
39027
|
+
args.ar_ledger_account_id = opts.arLedgerAccountId;
|
|
39028
|
+
if (opts.cashLedgerAccountId !== void 0)
|
|
39029
|
+
args.cash_ledger_account_id = opts.cashLedgerAccountId;
|
|
39030
|
+
if (opts.paymentsClearingLedgerAccountId !== void 0)
|
|
39031
|
+
args.payments_clearing_ledger_account_id = opts.paymentsClearingLedgerAccountId;
|
|
39032
|
+
if (opts.outputTaxLedgerAccountId !== void 0)
|
|
39033
|
+
args.output_tax_ledger_account_id = opts.outputTaxLedgerAccountId;
|
|
39034
|
+
if (opts.uncollectibleDebitLedgerAccountId !== void 0)
|
|
39035
|
+
args.uncollectible_debit_ledger_account_id = opts.uncollectibleDebitLedgerAccountId;
|
|
39036
|
+
if (opts.customerCreditsLedgerAccountId !== void 0)
|
|
39037
|
+
args.customer_credits_ledger_account_id = opts.customerCreditsLedgerAccountId;
|
|
39038
|
+
if (opts.journalId !== void 0)
|
|
39039
|
+
args.journal_id = opts.journalId;
|
|
39040
|
+
if (opts.entityType !== void 0)
|
|
39041
|
+
args.entity_type = opts.entityType;
|
|
39042
|
+
if (opts.priority !== void 0)
|
|
39043
|
+
args.priority = Number(opts.priority);
|
|
39044
|
+
if (opts.intervalCount !== void 0)
|
|
39045
|
+
args.interval_count = Number(opts.intervalCount);
|
|
39046
|
+
if (opts.productIds !== void 0)
|
|
39047
|
+
args.product_ids = JSON.parse(opts.productIds);
|
|
39048
|
+
if (opts.productTypes !== void 0)
|
|
39049
|
+
args.product_types = JSON.parse(opts.productTypes);
|
|
39050
|
+
if (opts.customerIds !== void 0)
|
|
39051
|
+
args.customer_ids = JSON.parse(opts.customerIds);
|
|
39052
|
+
if (opts.currencies !== void 0)
|
|
39053
|
+
args.currencies = JSON.parse(opts.currencies);
|
|
39054
|
+
if (opts.countries !== void 0)
|
|
39055
|
+
args.countries = JSON.parse(opts.countries);
|
|
39056
|
+
if (opts.couponIds !== void 0)
|
|
39057
|
+
args.coupon_ids = JSON.parse(opts.couponIds);
|
|
39058
|
+
if (opts.clientProviderIds !== void 0)
|
|
39059
|
+
args.client_provider_ids = JSON.parse(opts.clientProviderIds);
|
|
39060
|
+
if (opts.paymentMethodTypes !== void 0)
|
|
39061
|
+
args.payment_method_types = JSON.parse(opts.paymentMethodTypes);
|
|
39062
|
+
await ctx.execute({
|
|
39063
|
+
method: "PUT",
|
|
39064
|
+
path: "/v1/accounting/rules/{id}",
|
|
39065
|
+
args,
|
|
39066
|
+
queryParamKeys: []
|
|
39067
|
+
});
|
|
39068
|
+
});
|
|
39069
|
+
resource.command("delete").description(`Soft-delete an accounting rule.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
39070
|
+
Examples:
|
|
39071
|
+
hyperline accounting-rules delete --id <id>
|
|
39072
|
+
hyperline accounting-rules delete --id <id> --output json`).action(async (opts) => {
|
|
39073
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
39074
|
+
if (!ctx) {
|
|
39075
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
39076
|
+
process.exit(1);
|
|
39077
|
+
}
|
|
39078
|
+
const args = {};
|
|
39079
|
+
if (opts.id !== void 0)
|
|
39080
|
+
args.id = opts.id;
|
|
39081
|
+
if (!opts.yes) {
|
|
39082
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
39083
|
+
if (!confirmed) {
|
|
39084
|
+
process.stdout.write("Aborted.\n");
|
|
39085
|
+
return;
|
|
39086
|
+
}
|
|
39087
|
+
}
|
|
39088
|
+
await ctx.execute({
|
|
39089
|
+
method: "DELETE",
|
|
39090
|
+
path: "/v1/accounting/rules/{id}",
|
|
39091
|
+
args,
|
|
39092
|
+
queryParamKeys: []
|
|
39093
|
+
});
|
|
39094
|
+
});
|
|
39095
|
+
resource.command("resolve").description(`Preview which account codes would be resolved for a given context.`).requiredOption("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).option("--product-id <value>", `Product ID to resolve against.`).option("--product-type <value>", `Product type to resolve against.`).option("--currency <value>", `Currency code to resolve against.`).option("--country <value>", `Country code to resolve against.`).option("--customer-id <value>", `Customer ID to resolve against.`).option("--interval-period <value>", `Billing interval period filter (month, year, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).addHelpText("after", `
|
|
39096
|
+
Examples:
|
|
39097
|
+
hyperline accounting-rules resolve --ledger-id <ledger_id> --category <category>
|
|
39098
|
+
hyperline accounting-rules resolve --ledger-id <ledger_id> --category <category> --product-id <product_id> --product-type <product_type>
|
|
39099
|
+
hyperline accounting-rules resolve --ledger-id <ledger_id> --category <category> --output json`).action(async (opts) => {
|
|
39100
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
39101
|
+
if (!ctx) {
|
|
39102
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
39103
|
+
process.exit(1);
|
|
39104
|
+
}
|
|
39105
|
+
const args = {};
|
|
39106
|
+
if (opts.ledgerId !== void 0)
|
|
39107
|
+
args.ledger_id = opts.ledgerId;
|
|
39108
|
+
if (opts.category !== void 0)
|
|
39109
|
+
args.category = opts.category;
|
|
39110
|
+
if (opts.productId !== void 0)
|
|
39111
|
+
args.product_id = opts.productId;
|
|
39112
|
+
if (opts.productType !== void 0)
|
|
39113
|
+
args.product_type = opts.productType;
|
|
39114
|
+
if (opts.currency !== void 0)
|
|
39115
|
+
args.currency = opts.currency;
|
|
39116
|
+
if (opts.country !== void 0)
|
|
39117
|
+
args.country = opts.country;
|
|
39118
|
+
if (opts.customerId !== void 0)
|
|
39119
|
+
args.customer_id = opts.customerId;
|
|
39120
|
+
if (opts.intervalPeriod !== void 0)
|
|
39121
|
+
args.interval_period = opts.intervalPeriod;
|
|
39122
|
+
if (opts.intervalCount !== void 0)
|
|
39123
|
+
args.interval_count = Number(opts.intervalCount);
|
|
39124
|
+
await ctx.execute({
|
|
39125
|
+
method: "POST",
|
|
39126
|
+
path: "/v1/accounting/rules/resolve",
|
|
39127
|
+
args,
|
|
39128
|
+
queryParamKeys: []
|
|
39129
|
+
});
|
|
39130
|
+
});
|
|
39131
|
+
}
|
|
39132
|
+
|
|
37889
39133
|
// build/commands/generated/analytics.js
|
|
37890
39134
|
function registerAnalyticsCommands(parent) {
|
|
37891
39135
|
const resource = parent.command("analytics").description("Manage analytics");
|
|
@@ -37998,7 +39242,7 @@ Examples:
|
|
|
37998
39242
|
queryParamKeys: []
|
|
37999
39243
|
});
|
|
38000
39244
|
});
|
|
38001
|
-
resource.command("create-company").description(`Create a new company. The authentication token will automatically get access to the newly created company.`).requiredOption("--name <value>", `Company name.`).requiredOption("--address <
|
|
39245
|
+
resource.command("create-company").description(`Create a new company. The authentication token will automatically get access to the newly created company.`).requiredOption("--name <value>", `Company name.`).requiredOption("--address <json>", `Address of the default invoicing entity`).addHelpText("after", `
|
|
38002
39246
|
Examples:
|
|
38003
39247
|
hyperline companies create-company --name <name> --address <address>
|
|
38004
39248
|
hyperline companies create-company --name <name> --address <address> --output json`).action(async (opts) => {
|
|
@@ -38011,7 +39255,7 @@ Examples:
|
|
|
38011
39255
|
if (opts.name !== void 0)
|
|
38012
39256
|
args.name = opts.name;
|
|
38013
39257
|
if (opts.address !== void 0)
|
|
38014
|
-
args.address = opts.address;
|
|
39258
|
+
args.address = JSON.parse(opts.address);
|
|
38015
39259
|
await ctx.execute({
|
|
38016
39260
|
method: "POST",
|
|
38017
39261
|
path: "/v1/companies",
|
|
@@ -38045,7 +39289,7 @@ Examples:
|
|
|
38045
39289
|
queryParamKeys: ["take", "skip"]
|
|
38046
39290
|
});
|
|
38047
39291
|
});
|
|
38048
|
-
resource.command("create").description(`Create a new coupon with discount rules. Supports percentage or fixed amount discounts, duration limits, and redemption restrictions.`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <
|
|
39292
|
+
resource.command("create").description(`Create a new coupon with discount rules. Supports percentage or fixed amount discounts, duration limits, and redemption restrictions.`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <json>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).option("--repeat <value>", `Default repeat behaviour applied when the coupon is attached to a subscription. Valid values: \`once\`, \`forever\`, \`duration\`. Can be overridden at attach time.`).option("--duration <json>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
|
|
38049
39293
|
Examples:
|
|
38050
39294
|
hyperline coupons create --name <name> --type <type>
|
|
38051
39295
|
hyperline coupons create --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -38062,12 +39306,8 @@ Examples:
|
|
|
38062
39306
|
args.description = opts.description;
|
|
38063
39307
|
if (opts.expirationDate !== void 0)
|
|
38064
39308
|
args.expiration_date = opts.expirationDate;
|
|
38065
|
-
if (opts.productIds !== void 0)
|
|
38066
|
-
args.product_ids = opts.productIds;
|
|
38067
39309
|
if (opts.repeat !== void 0)
|
|
38068
39310
|
args.repeat = opts.repeat;
|
|
38069
|
-
if (opts.duration !== void 0)
|
|
38070
|
-
args.duration = opts.duration;
|
|
38071
39311
|
if (opts.type !== void 0)
|
|
38072
39312
|
args.type = opts.type;
|
|
38073
39313
|
if (opts.currency !== void 0)
|
|
@@ -38078,6 +39318,10 @@ Examples:
|
|
|
38078
39318
|
args.discount_amount = Number(opts.discountAmount);
|
|
38079
39319
|
if (opts.discountPercent !== void 0)
|
|
38080
39320
|
args.discount_percent = Number(opts.discountPercent);
|
|
39321
|
+
if (opts.productIds !== void 0)
|
|
39322
|
+
args.product_ids = JSON.parse(opts.productIds);
|
|
39323
|
+
if (opts.duration !== void 0)
|
|
39324
|
+
args.duration = JSON.parse(opts.duration);
|
|
38081
39325
|
await ctx.execute({
|
|
38082
39326
|
method: "POST",
|
|
38083
39327
|
path: "/v1/coupons",
|
|
@@ -38103,7 +39347,7 @@ Examples:
|
|
|
38103
39347
|
queryParamKeys: []
|
|
38104
39348
|
});
|
|
38105
39349
|
});
|
|
38106
|
-
resource.command("update").description(`Update an existing coupon's name, discount rules, or restrictions.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <
|
|
39350
|
+
resource.command("update").description(`Update an existing coupon's name, discount rules, or restrictions.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <json>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).option("--repeat <value>", `Default repeat behaviour applied when the coupon is attached to a subscription. Valid values: \`once\`, \`forever\`, \`duration\`. Can be overridden at attach time.`).option("--duration <json>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
|
|
38107
39351
|
Examples:
|
|
38108
39352
|
hyperline coupons update --id <id> --name <name> --type <type>
|
|
38109
39353
|
hyperline coupons update --id <id> --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -38122,12 +39366,8 @@ Examples:
|
|
|
38122
39366
|
args.description = opts.description;
|
|
38123
39367
|
if (opts.expirationDate !== void 0)
|
|
38124
39368
|
args.expiration_date = opts.expirationDate;
|
|
38125
|
-
if (opts.productIds !== void 0)
|
|
38126
|
-
args.product_ids = opts.productIds;
|
|
38127
39369
|
if (opts.repeat !== void 0)
|
|
38128
39370
|
args.repeat = opts.repeat;
|
|
38129
|
-
if (opts.duration !== void 0)
|
|
38130
|
-
args.duration = opts.duration;
|
|
38131
39371
|
if (opts.type !== void 0)
|
|
38132
39372
|
args.type = opts.type;
|
|
38133
39373
|
if (opts.currency !== void 0)
|
|
@@ -38138,6 +39378,10 @@ Examples:
|
|
|
38138
39378
|
args.discount_amount = Number(opts.discountAmount);
|
|
38139
39379
|
if (opts.discountPercent !== void 0)
|
|
38140
39380
|
args.discount_percent = Number(opts.discountPercent);
|
|
39381
|
+
if (opts.productIds !== void 0)
|
|
39382
|
+
args.product_ids = JSON.parse(opts.productIds);
|
|
39383
|
+
if (opts.duration !== void 0)
|
|
39384
|
+
args.duration = JSON.parse(opts.duration);
|
|
38141
39385
|
await ctx.execute({
|
|
38142
39386
|
method: "PUT",
|
|
38143
39387
|
path: "/v1/coupons/{id}",
|
|
@@ -38369,7 +39613,7 @@ Examples:
|
|
|
38369
39613
|
queryParamKeys: []
|
|
38370
39614
|
});
|
|
38371
39615
|
});
|
|
38372
|
-
resource.command("create-custom-property").description(`Create a new custom property definition with a name, type (string, number, boolean, date, select), and optional default value.`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <
|
|
39616
|
+
resource.command("create-custom-property").description(`Create a new custom property definition with a name, type (string, number, boolean, date, select), and optional default value.`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <json>", `entities`).option("--api-only", `api_only`).option("--required", `required`).option("--authorized-values <json>", `authorized_values`).addHelpText("after", `
|
|
38373
39617
|
Examples:
|
|
38374
39618
|
hyperline custom-properties create-custom-property --name <name> --type <type> --slug <slug> --entities <entities>
|
|
38375
39619
|
hyperline custom-properties create-custom-property --name <name> --type <type> --slug <slug> --entities <entities> --api-only --required
|
|
@@ -38386,14 +39630,14 @@ Examples:
|
|
|
38386
39630
|
args.type = opts.type;
|
|
38387
39631
|
if (opts.slug !== void 0)
|
|
38388
39632
|
args.slug = opts.slug;
|
|
38389
|
-
if (opts.entities !== void 0)
|
|
38390
|
-
args.entities = opts.entities;
|
|
38391
|
-
if (opts.authorizedValues !== void 0)
|
|
38392
|
-
args.authorized_values = opts.authorizedValues;
|
|
38393
39633
|
if (opts.apiOnly !== void 0)
|
|
38394
39634
|
args.api_only = true;
|
|
38395
39635
|
if (opts.required !== void 0)
|
|
38396
39636
|
args.required = true;
|
|
39637
|
+
if (opts.entities !== void 0)
|
|
39638
|
+
args.entities = JSON.parse(opts.entities);
|
|
39639
|
+
if (opts.authorizedValues !== void 0)
|
|
39640
|
+
args.authorized_values = JSON.parse(opts.authorizedValues);
|
|
38397
39641
|
await ctx.execute({
|
|
38398
39642
|
method: "POST",
|
|
38399
39643
|
path: "/v1/custom-properties",
|
|
@@ -38401,7 +39645,7 @@ Examples:
|
|
|
38401
39645
|
queryParamKeys: []
|
|
38402
39646
|
});
|
|
38403
39647
|
});
|
|
38404
|
-
resource.command("update-custom-property").description(`Update an existing custom property definition by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <
|
|
39648
|
+
resource.command("update-custom-property").description(`Update an existing custom property definition by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <json>", `entities`).option("--api-only", `api_only`).option("--required", `required`).option("--authorized-values <json>", `authorized_values`).addHelpText("after", `
|
|
38405
39649
|
Examples:
|
|
38406
39650
|
hyperline custom-properties update-custom-property --id <id> --name <name> --type <type> --slug <slug> --entities <entities>
|
|
38407
39651
|
hyperline custom-properties update-custom-property --id <id> --name <name> --type <type> --slug <slug> --entities <entities> --api-only --required
|
|
@@ -38420,14 +39664,14 @@ Examples:
|
|
|
38420
39664
|
args.type = opts.type;
|
|
38421
39665
|
if (opts.slug !== void 0)
|
|
38422
39666
|
args.slug = opts.slug;
|
|
38423
|
-
if (opts.entities !== void 0)
|
|
38424
|
-
args.entities = opts.entities;
|
|
38425
|
-
if (opts.authorizedValues !== void 0)
|
|
38426
|
-
args.authorized_values = opts.authorizedValues;
|
|
38427
39667
|
if (opts.apiOnly !== void 0)
|
|
38428
39668
|
args.api_only = true;
|
|
38429
39669
|
if (opts.required !== void 0)
|
|
38430
39670
|
args.required = true;
|
|
39671
|
+
if (opts.entities !== void 0)
|
|
39672
|
+
args.entities = JSON.parse(opts.entities);
|
|
39673
|
+
if (opts.authorizedValues !== void 0)
|
|
39674
|
+
args.authorized_values = JSON.parse(opts.authorizedValues);
|
|
38431
39675
|
await ctx.execute({
|
|
38432
39676
|
method: "PUT",
|
|
38433
39677
|
path: "/v1/custom-properties/{id}",
|
|
@@ -38781,17 +40025,17 @@ Customer type.
|
|
|
38781
40025
|
- \`corporate\`: The customer is a business entity.
|
|
38782
40026
|
- \`person\`: The customer is a natural person.
|
|
38783
40027
|
- \`automatically_created\`: The customer was automatically imported (e.g. from a data loader). This value cannot be used when creating/editing.
|
|
38784
|
-
`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--tax-ids <
|
|
40028
|
+
`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--tax-ids <json>", `Customer tax IDs.`).option("--local-tax-number <value>", `Customer local tax number.`).option("--tax-rate-custom <number>", `Customer custom tax rate. If not defined, the rate will be automatically determined based on the customer's country, your country, and applicable legal requirements.`).option("--taxability <value>", `Customer taxability.
|
|
38785
40029
|
|
|
38786
40030
|
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38787
40031
|
- \`exempt\`: The customer is exempt from tax.
|
|
38788
|
-
`).option("--registration-number <value>", `Customer registration number.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <
|
|
40032
|
+
`).option("--registration-number <value>", `Customer registration number.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <json>", `Customer billing address.`).option("--shipping-address <json>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <json>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <json>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--bank-account <json>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
38789
40033
|
How customer invoices are issued from the parent organisation.
|
|
38790
40034
|
|
|
38791
40035
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38792
40036
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38793
40037
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
38794
|
-
`).option("--properties <
|
|
40038
|
+
`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <json>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
38795
40039
|
Examples:
|
|
38796
40040
|
hyperline customers create-customer
|
|
38797
40041
|
hyperline customers create-customer --name <name> --type <type>
|
|
@@ -38808,8 +40052,6 @@ Examples:
|
|
|
38808
40052
|
args.type = opts.type;
|
|
38809
40053
|
if (opts.currency !== void 0)
|
|
38810
40054
|
args.currency = opts.currency;
|
|
38811
|
-
if (opts.taxIds !== void 0)
|
|
38812
|
-
args.tax_ids = opts.taxIds;
|
|
38813
40055
|
if (opts.localTaxNumber !== void 0)
|
|
38814
40056
|
args.local_tax_number = opts.localTaxNumber;
|
|
38815
40057
|
if (opts.taxability !== void 0)
|
|
@@ -38822,40 +40064,24 @@ Examples:
|
|
|
38822
40064
|
args.domain = opts.domain;
|
|
38823
40065
|
if (opts.invoicingEntityId !== void 0)
|
|
38824
40066
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38825
|
-
if (opts.billingAddress !== void 0)
|
|
38826
|
-
args.billing_address = opts.billingAddress;
|
|
38827
|
-
if (opts.shippingAddress !== void 0)
|
|
38828
|
-
args.shipping_address = opts.shippingAddress;
|
|
38829
40067
|
if (opts.billingEmail !== void 0)
|
|
38830
40068
|
args.billing_email = opts.billingEmail;
|
|
38831
|
-
if (opts.invoiceEmails !== void 0)
|
|
38832
|
-
args.invoice_emails = opts.invoiceEmails;
|
|
38833
40069
|
if (opts.language !== void 0)
|
|
38834
40070
|
args.language = opts.language;
|
|
38835
40071
|
if (opts.timezone !== void 0)
|
|
38836
40072
|
args.timezone = opts.timezone;
|
|
38837
|
-
if (opts.availablePaymentMethods !== void 0)
|
|
38838
|
-
args.available_payment_methods = opts.availablePaymentMethods;
|
|
38839
40073
|
if (opts.paymentMethodType !== void 0)
|
|
38840
40074
|
args.payment_method_type = opts.paymentMethodType;
|
|
38841
|
-
if (opts.bankAccount !== void 0)
|
|
38842
|
-
args.bank_account = opts.bankAccount;
|
|
38843
40075
|
if (opts.organisationId !== void 0)
|
|
38844
40076
|
args.organisation_id = opts.organisationId;
|
|
38845
40077
|
if (opts.organisationInvoicing !== void 0)
|
|
38846
40078
|
args.organisation_invoicing = opts.organisationInvoicing;
|
|
38847
|
-
if (opts.properties !== void 0)
|
|
38848
|
-
args.properties = opts.properties;
|
|
38849
|
-
if (opts.customProperties !== void 0)
|
|
38850
|
-
args.custom_properties = opts.customProperties;
|
|
38851
40079
|
if (opts.invoiceRemindersEnabled !== void 0)
|
|
38852
40080
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38853
40081
|
if (opts.priceBookId !== void 0)
|
|
38854
40082
|
args.price_book_id = opts.priceBookId;
|
|
38855
40083
|
if (opts.ownerId !== void 0)
|
|
38856
40084
|
args.owner_id = opts.ownerId;
|
|
38857
|
-
if (opts.followerIds !== void 0)
|
|
38858
|
-
args.follower_ids = opts.followerIds;
|
|
38859
40085
|
if (opts.taxRateCustom !== void 0)
|
|
38860
40086
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38861
40087
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -38864,6 +40090,24 @@ Examples:
|
|
|
38864
40090
|
args.custom_payment_initiation_delay = Number(opts.customPaymentInitiationDelay);
|
|
38865
40091
|
if (opts.isGovernmentAffiliated !== void 0)
|
|
38866
40092
|
args.is_government_affiliated = true;
|
|
40093
|
+
if (opts.taxIds !== void 0)
|
|
40094
|
+
args.tax_ids = JSON.parse(opts.taxIds);
|
|
40095
|
+
if (opts.billingAddress !== void 0)
|
|
40096
|
+
args.billing_address = JSON.parse(opts.billingAddress);
|
|
40097
|
+
if (opts.shippingAddress !== void 0)
|
|
40098
|
+
args.shipping_address = JSON.parse(opts.shippingAddress);
|
|
40099
|
+
if (opts.invoiceEmails !== void 0)
|
|
40100
|
+
args.invoice_emails = JSON.parse(opts.invoiceEmails);
|
|
40101
|
+
if (opts.availablePaymentMethods !== void 0)
|
|
40102
|
+
args.available_payment_methods = JSON.parse(opts.availablePaymentMethods);
|
|
40103
|
+
if (opts.bankAccount !== void 0)
|
|
40104
|
+
args.bank_account = JSON.parse(opts.bankAccount);
|
|
40105
|
+
if (opts.properties !== void 0)
|
|
40106
|
+
args.properties = JSON.parse(opts.properties);
|
|
40107
|
+
if (opts.customProperties !== void 0)
|
|
40108
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
40109
|
+
if (opts.followerIds !== void 0)
|
|
40110
|
+
args.follower_ids = JSON.parse(opts.followerIds);
|
|
38867
40111
|
await ctx.execute({
|
|
38868
40112
|
method: "POST",
|
|
38869
40113
|
path: "/v1/customers",
|
|
@@ -38871,7 +40115,7 @@ Examples:
|
|
|
38871
40115
|
queryParamKeys: []
|
|
38872
40116
|
});
|
|
38873
40117
|
});
|
|
38874
|
-
resource.command("create-customers").description(`Create up to 50 customers in a single batch request. Returns successes and errors separately for each customer in the batch.`).requiredOption("--customers <
|
|
40118
|
+
resource.command("create-customers").description(`Create up to 50 customers in a single batch request. Returns successes and errors separately for each customer in the batch.`).requiredOption("--customers <json>", `customers`).addHelpText("after", `
|
|
38875
40119
|
Examples:
|
|
38876
40120
|
hyperline customers create-customers --customers <customers>
|
|
38877
40121
|
hyperline customers create-customers --customers <customers> --output json`).action(async (opts) => {
|
|
@@ -38882,7 +40126,7 @@ Examples:
|
|
|
38882
40126
|
}
|
|
38883
40127
|
const args = {};
|
|
38884
40128
|
if (opts.customers !== void 0)
|
|
38885
|
-
args.customers = opts.customers;
|
|
40129
|
+
args.customers = JSON.parse(opts.customers);
|
|
38886
40130
|
await ctx.execute({
|
|
38887
40131
|
method: "POST",
|
|
38888
40132
|
path: "/v1/customers/batch",
|
|
@@ -38914,17 +40158,17 @@ Customer type.
|
|
|
38914
40158
|
- \`corporate\`: The customer is a business entity.
|
|
38915
40159
|
- \`person\`: The customer is a natural person.
|
|
38916
40160
|
- \`automatically_created\`: The customer was automatically imported (e.g. from a data loader). This value cannot be used when creating/editing.
|
|
38917
|
-
`).option("--currency <value>", `Customer currency. Can only be changed if the customer doesn't have existing invoices, a wallet or a payment method saved.`).option("--tax-ids <
|
|
40161
|
+
`).option("--currency <value>", `Customer currency. Can only be changed if the customer doesn't have existing invoices, a wallet or a payment method saved.`).option("--tax-ids <json>", `Customer tax IDs.`).option("--local-tax-number <value>", `Customer local tax number.`).option("--tax-rate-custom <number>", `Customer custom tax rate. If not defined, the rate will be automatically determined based on the customer's country, your country, and applicable legal requirements.`).option("--taxability <value>", `Customer taxability.
|
|
38918
40162
|
|
|
38919
40163
|
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38920
40164
|
- \`exempt\`: The customer is exempt from tax.
|
|
38921
|
-
`).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <
|
|
40165
|
+
`).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <json>", `Customer billing address.`).option("--shipping-address <json>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <json>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <json>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--payment-method-id <value>", `ID of the default payment method of the customer. Only applies to card and direct debit.`).option("--bank-account <json>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
38922
40166
|
How customer invoices are issued from the parent organisation.
|
|
38923
40167
|
|
|
38924
40168
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38925
40169
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38926
40170
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
38927
|
-
`).option("--properties <
|
|
40171
|
+
`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <json>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
38928
40172
|
Examples:
|
|
38929
40173
|
hyperline customers update --id <id>
|
|
38930
40174
|
hyperline customers update --id <id> --name <name> --type <type>
|
|
@@ -38943,8 +40187,6 @@ Examples:
|
|
|
38943
40187
|
args.type = opts.type;
|
|
38944
40188
|
if (opts.currency !== void 0)
|
|
38945
40189
|
args.currency = opts.currency;
|
|
38946
|
-
if (opts.taxIds !== void 0)
|
|
38947
|
-
args.tax_ids = opts.taxIds;
|
|
38948
40190
|
if (opts.localTaxNumber !== void 0)
|
|
38949
40191
|
args.local_tax_number = opts.localTaxNumber;
|
|
38950
40192
|
if (opts.taxability !== void 0)
|
|
@@ -38957,42 +40199,26 @@ Examples:
|
|
|
38957
40199
|
args.domain = opts.domain;
|
|
38958
40200
|
if (opts.invoicingEntityId !== void 0)
|
|
38959
40201
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38960
|
-
if (opts.billingAddress !== void 0)
|
|
38961
|
-
args.billing_address = opts.billingAddress;
|
|
38962
|
-
if (opts.shippingAddress !== void 0)
|
|
38963
|
-
args.shipping_address = opts.shippingAddress;
|
|
38964
40202
|
if (opts.billingEmail !== void 0)
|
|
38965
40203
|
args.billing_email = opts.billingEmail;
|
|
38966
|
-
if (opts.invoiceEmails !== void 0)
|
|
38967
|
-
args.invoice_emails = opts.invoiceEmails;
|
|
38968
40204
|
if (opts.language !== void 0)
|
|
38969
40205
|
args.language = opts.language;
|
|
38970
40206
|
if (opts.timezone !== void 0)
|
|
38971
40207
|
args.timezone = opts.timezone;
|
|
38972
|
-
if (opts.availablePaymentMethods !== void 0)
|
|
38973
|
-
args.available_payment_methods = opts.availablePaymentMethods;
|
|
38974
40208
|
if (opts.paymentMethodType !== void 0)
|
|
38975
40209
|
args.payment_method_type = opts.paymentMethodType;
|
|
38976
40210
|
if (opts.paymentMethodId !== void 0)
|
|
38977
40211
|
args.payment_method_id = opts.paymentMethodId;
|
|
38978
|
-
if (opts.bankAccount !== void 0)
|
|
38979
|
-
args.bank_account = opts.bankAccount;
|
|
38980
40212
|
if (opts.organisationId !== void 0)
|
|
38981
40213
|
args.organisation_id = opts.organisationId;
|
|
38982
40214
|
if (opts.organisationInvoicing !== void 0)
|
|
38983
40215
|
args.organisation_invoicing = opts.organisationInvoicing;
|
|
38984
|
-
if (opts.properties !== void 0)
|
|
38985
|
-
args.properties = opts.properties;
|
|
38986
|
-
if (opts.customProperties !== void 0)
|
|
38987
|
-
args.custom_properties = opts.customProperties;
|
|
38988
40216
|
if (opts.invoiceRemindersEnabled !== void 0)
|
|
38989
40217
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38990
40218
|
if (opts.priceBookId !== void 0)
|
|
38991
40219
|
args.price_book_id = opts.priceBookId;
|
|
38992
40220
|
if (opts.ownerId !== void 0)
|
|
38993
40221
|
args.owner_id = opts.ownerId;
|
|
38994
|
-
if (opts.followerIds !== void 0)
|
|
38995
|
-
args.follower_ids = opts.followerIds;
|
|
38996
40222
|
if (opts.taxRateCustom !== void 0)
|
|
38997
40223
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38998
40224
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -39001,6 +40227,24 @@ Examples:
|
|
|
39001
40227
|
args.custom_payment_initiation_delay = Number(opts.customPaymentInitiationDelay);
|
|
39002
40228
|
if (opts.isGovernmentAffiliated !== void 0)
|
|
39003
40229
|
args.is_government_affiliated = true;
|
|
40230
|
+
if (opts.taxIds !== void 0)
|
|
40231
|
+
args.tax_ids = JSON.parse(opts.taxIds);
|
|
40232
|
+
if (opts.billingAddress !== void 0)
|
|
40233
|
+
args.billing_address = JSON.parse(opts.billingAddress);
|
|
40234
|
+
if (opts.shippingAddress !== void 0)
|
|
40235
|
+
args.shipping_address = JSON.parse(opts.shippingAddress);
|
|
40236
|
+
if (opts.invoiceEmails !== void 0)
|
|
40237
|
+
args.invoice_emails = JSON.parse(opts.invoiceEmails);
|
|
40238
|
+
if (opts.availablePaymentMethods !== void 0)
|
|
40239
|
+
args.available_payment_methods = JSON.parse(opts.availablePaymentMethods);
|
|
40240
|
+
if (opts.bankAccount !== void 0)
|
|
40241
|
+
args.bank_account = JSON.parse(opts.bankAccount);
|
|
40242
|
+
if (opts.properties !== void 0)
|
|
40243
|
+
args.properties = JSON.parse(opts.properties);
|
|
40244
|
+
if (opts.customProperties !== void 0)
|
|
40245
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
40246
|
+
if (opts.followerIds !== void 0)
|
|
40247
|
+
args.follower_ids = JSON.parse(opts.followerIds);
|
|
39004
40248
|
await ctx.execute({
|
|
39005
40249
|
method: "PUT",
|
|
39006
40250
|
path: "/v1/customers/{id}",
|
|
@@ -39355,7 +40599,7 @@ Examples:
|
|
|
39355
40599
|
queryParamKeys: ["take", "skip", "type", "invoice_id", "created_at"]
|
|
39356
40600
|
});
|
|
39357
40601
|
});
|
|
39358
|
-
resource.command("create-customer-credit").description(`Create a credit entity for a customer linked to a specific product with an optional initial balance.`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `Credit product ID.`).option("--name <value>", `Credit name.`).option("--current-balance <number>", `Current credit balance.`).option("--low-count-threshold <number>", `Value indicating a low threshold.`).option("--auto-topup <
|
|
40602
|
+
resource.command("create-customer-credit").description(`Create a credit entity for a customer linked to a specific product with an optional initial balance.`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `Credit product ID.`).option("--name <value>", `Credit name.`).option("--current-balance <number>", `Current credit balance.`).option("--low-count-threshold <number>", `Value indicating a low threshold.`).option("--auto-topup <json>", `Auto top-up options.`).addHelpText("after", `
|
|
39359
40603
|
Examples:
|
|
39360
40604
|
hyperline customers-credits create-customer-credit --id <id> --product-id <product_id>
|
|
39361
40605
|
hyperline customers-credits create-customer-credit --id <id> --product-id <product_id> --name <name> --current-balance <current_balance>
|
|
@@ -39372,12 +40616,12 @@ Examples:
|
|
|
39372
40616
|
args.product_id = opts.productId;
|
|
39373
40617
|
if (opts.name !== void 0)
|
|
39374
40618
|
args.name = opts.name;
|
|
39375
|
-
if (opts.autoTopup !== void 0)
|
|
39376
|
-
args.auto_topup = opts.autoTopup;
|
|
39377
40619
|
if (opts.currentBalance !== void 0)
|
|
39378
40620
|
args.current_balance = Number(opts.currentBalance);
|
|
39379
40621
|
if (opts.lowCountThreshold !== void 0)
|
|
39380
40622
|
args.low_count_threshold = Number(opts.lowCountThreshold);
|
|
40623
|
+
if (opts.autoTopup !== void 0)
|
|
40624
|
+
args.auto_topup = JSON.parse(opts.autoTopup);
|
|
39381
40625
|
await ctx.execute({
|
|
39382
40626
|
method: "POST",
|
|
39383
40627
|
path: "/v1/customers/{id}/credits",
|
|
@@ -39385,7 +40629,7 @@ Examples:
|
|
|
39385
40629
|
queryParamKeys: []
|
|
39386
40630
|
});
|
|
39387
40631
|
});
|
|
39388
|
-
resource.command("update-customer-credit").description(`Update the configuration of a customer's credit product (e.g. balance thresholds, auto-topup settings).`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `productId parameter`).option("--name <value>", `Credit name.`).option("--low-count-threshold <number>", `Value indicating a low threshold.`).option("--auto-topup <
|
|
40632
|
+
resource.command("update-customer-credit").description(`Update the configuration of a customer's credit product (e.g. balance thresholds, auto-topup settings).`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `productId parameter`).option("--name <value>", `Credit name.`).option("--low-count-threshold <number>", `Value indicating a low threshold.`).option("--auto-topup <json>", `Auto top-up options.`).addHelpText("after", `
|
|
39389
40633
|
Examples:
|
|
39390
40634
|
hyperline customers-credits update-customer-credit --id <id> --product-id <productId>
|
|
39391
40635
|
hyperline customers-credits update-customer-credit --id <id> --product-id <productId> --name <name> --low-count-threshold <low_count_threshold>
|
|
@@ -39402,10 +40646,10 @@ Examples:
|
|
|
39402
40646
|
args.productId = opts.productId;
|
|
39403
40647
|
if (opts.name !== void 0)
|
|
39404
40648
|
args.name = opts.name;
|
|
39405
|
-
if (opts.autoTopup !== void 0)
|
|
39406
|
-
args.auto_topup = opts.autoTopup;
|
|
39407
40649
|
if (opts.lowCountThreshold !== void 0)
|
|
39408
40650
|
args.low_count_threshold = Number(opts.lowCountThreshold);
|
|
40651
|
+
if (opts.autoTopup !== void 0)
|
|
40652
|
+
args.auto_topup = JSON.parse(opts.autoTopup);
|
|
39409
40653
|
await ctx.execute({
|
|
39410
40654
|
method: "PUT",
|
|
39411
40655
|
path: "/v1/customers/{id}/credits/{productId}",
|
|
@@ -39618,7 +40862,7 @@ Examples:
|
|
|
39618
40862
|
queryParamKeys: ["take", "skip"]
|
|
39619
40863
|
});
|
|
39620
40864
|
});
|
|
39621
|
-
resource.command("create").description(`Create a new customer segment.`).requiredOption("--name <value>", `name`).option("--description <value>", `description`).requiredOption("--rules <
|
|
40865
|
+
resource.command("create").description(`Create a new customer segment.`).requiredOption("--name <value>", `name`).option("--description <value>", `description`).requiredOption("--rules <json>", `rules`).addHelpText("after", `
|
|
39622
40866
|
Examples:
|
|
39623
40867
|
hyperline customers-segments create --name <name> --rules <rules>
|
|
39624
40868
|
hyperline customers-segments create --name <name> --rules <rules> --description <description>
|
|
@@ -39634,7 +40878,7 @@ Examples:
|
|
|
39634
40878
|
if (opts.description !== void 0)
|
|
39635
40879
|
args.description = opts.description;
|
|
39636
40880
|
if (opts.rules !== void 0)
|
|
39637
|
-
args.rules = opts.rules;
|
|
40881
|
+
args.rules = JSON.parse(opts.rules);
|
|
39638
40882
|
await ctx.execute({
|
|
39639
40883
|
method: "POST",
|
|
39640
40884
|
path: "/v1/customers/segments",
|
|
@@ -39642,7 +40886,7 @@ Examples:
|
|
|
39642
40886
|
queryParamKeys: []
|
|
39643
40887
|
});
|
|
39644
40888
|
});
|
|
39645
|
-
resource.command("update").description(`Update an existing customer segment.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `name`).option("--description <value>", `description`).option("--rules <
|
|
40889
|
+
resource.command("update").description(`Update an existing customer segment.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `name`).option("--description <value>", `description`).option("--rules <json>", `rules`).addHelpText("after", `
|
|
39646
40890
|
Examples:
|
|
39647
40891
|
hyperline customers-segments update --id <id>
|
|
39648
40892
|
hyperline customers-segments update --id <id> --name <name> --description <description>
|
|
@@ -39660,7 +40904,7 @@ Examples:
|
|
|
39660
40904
|
if (opts.description !== void 0)
|
|
39661
40905
|
args.description = opts.description;
|
|
39662
40906
|
if (opts.rules !== void 0)
|
|
39663
|
-
args.rules = opts.rules;
|
|
40907
|
+
args.rules = JSON.parse(opts.rules);
|
|
39664
40908
|
await ctx.execute({
|
|
39665
40909
|
method: "PATCH",
|
|
39666
40910
|
path: "/v1/customers/segments/{id}",
|
|
@@ -40279,7 +41523,7 @@ Payment method strategy used to charge the invoice. Only applies to \`to_pay\` s
|
|
|
40279
41523
|
|
|
40280
41524
|
- \`current\`: Use the current default payment method of the customer.
|
|
40281
41525
|
- \`external\`: Manage the payment of the invoice outside of Hyperline.
|
|
40282
|
-
`).option("--payment-method-id <value>", `ID of the default payment method used to pay the invoice. Transactions related to the invoice may use different payment methods.`).option("--bank-account-id <value>", `ID of the bank account displayed on the invoice. Transactions related to the invoice may use different bank accounts.`).option("--subscription-id <value>", `ID of the subscription related to the invoice.`).option("--emitted-at <value>", `Issue date of the invoice.`).option("--due-at <value>", `Due date of the invoice. Computed from the issue date and the payment delay configured in your settings.`).option("--settled-at <value>", `Date the invoice was fully paid.`).option("--properties <
|
|
41526
|
+
`).option("--payment-method-id <value>", `ID of the default payment method used to pay the invoice. Transactions related to the invoice may use different payment methods.`).option("--bank-account-id <value>", `ID of the bank account displayed on the invoice. Transactions related to the invoice may use different bank accounts.`).option("--subscription-id <value>", `ID of the subscription related to the invoice.`).option("--emitted-at <value>", `Issue date of the invoice.`).option("--due-at <value>", `Due date of the invoice. Computed from the issue date and the payment delay configured in your settings.`).option("--settled-at <value>", `Date the invoice was fully paid.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `Values for custom properties defined for the \`invoice\` entity, keyed by slug.`).option("--additional-display-fields <json>", `Ordered additional fields displayed on the invoice PDF. Invoice and customer custom properties are referenced by slug.`).requiredOption("--line-items <json>", `line_items`).option("--transactions <json>", `transactions`).option("--coupons <json>", `coupons`).addHelpText("after", `
|
|
40283
41527
|
Examples:
|
|
40284
41528
|
hyperline invoices create-invoice --customer-id <customer_id> --line-items <line_items>
|
|
40285
41529
|
hyperline invoices create-invoice --customer-id <customer_id> --line-items <line_items> --currency <currency> --status <status>
|
|
@@ -40331,17 +41575,17 @@ Examples:
|
|
|
40331
41575
|
if (opts.settledAt !== void 0)
|
|
40332
41576
|
args.settled_at = opts.settledAt;
|
|
40333
41577
|
if (opts.properties !== void 0)
|
|
40334
|
-
args.properties = opts.properties;
|
|
41578
|
+
args.properties = JSON.parse(opts.properties);
|
|
40335
41579
|
if (opts.customProperties !== void 0)
|
|
40336
|
-
args.custom_properties = opts.customProperties;
|
|
41580
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
40337
41581
|
if (opts.additionalDisplayFields !== void 0)
|
|
40338
|
-
args.additional_display_fields = opts.additionalDisplayFields;
|
|
41582
|
+
args.additional_display_fields = JSON.parse(opts.additionalDisplayFields);
|
|
40339
41583
|
if (opts.lineItems !== void 0)
|
|
40340
|
-
args.line_items = opts.lineItems;
|
|
41584
|
+
args.line_items = JSON.parse(opts.lineItems);
|
|
40341
41585
|
if (opts.transactions !== void 0)
|
|
40342
|
-
args.transactions = opts.transactions;
|
|
41586
|
+
args.transactions = JSON.parse(opts.transactions);
|
|
40343
41587
|
if (opts.coupons !== void 0)
|
|
40344
|
-
args.coupons = opts.coupons;
|
|
41588
|
+
args.coupons = JSON.parse(opts.coupons);
|
|
40345
41589
|
await ctx.execute({
|
|
40346
41590
|
method: "POST",
|
|
40347
41591
|
path: "/v1/invoices",
|
|
@@ -40386,7 +41630,7 @@ Examples:
|
|
|
40386
41630
|
queryParamKeys: []
|
|
40387
41631
|
});
|
|
40388
41632
|
});
|
|
40389
|
-
resource.command("create-invoices").description(`Create multiple invoices asynchronously in batch. Track results via webhooks (invoice.batch.creation_succeeded / invoice.batch.creation_failed). Returns a batch_id.`).option("--batch-id <value>", `Optional identifier for the batch request. If not provided, a unique ID will be generated.`).requiredOption("--invoices <
|
|
41633
|
+
resource.command("create-invoices").description(`Create multiple invoices asynchronously in batch. Track results via webhooks (invoice.batch.creation_succeeded / invoice.batch.creation_failed). Returns a batch_id.`).option("--batch-id <value>", `Optional identifier for the batch request. If not provided, a unique ID will be generated.`).requiredOption("--invoices <json>", `List of invoices to create (max 50).`).addHelpText("after", `
|
|
40390
41634
|
Examples:
|
|
40391
41635
|
hyperline invoices create-invoices --invoices <invoices>
|
|
40392
41636
|
hyperline invoices create-invoices --invoices <invoices> --batch-id <batch_id>
|
|
@@ -40400,7 +41644,7 @@ Examples:
|
|
|
40400
41644
|
if (opts.batchId !== void 0)
|
|
40401
41645
|
args.batch_id = opts.batchId;
|
|
40402
41646
|
if (opts.invoices !== void 0)
|
|
40403
|
-
args.invoices = opts.invoices;
|
|
41647
|
+
args.invoices = JSON.parse(opts.invoices);
|
|
40404
41648
|
await ctx.execute({
|
|
40405
41649
|
method: "POST",
|
|
40406
41650
|
path: "/v2/invoices/batch",
|
|
@@ -40427,10 +41671,10 @@ Examples:
|
|
|
40427
41671
|
queryParamKeys: []
|
|
40428
41672
|
});
|
|
40429
41673
|
});
|
|
40430
|
-
resource.command("charge").description(`Manually trigger payment collection for an invoice. Optionally specify a payment_method_id to charge.`).requiredOption("--id <value>", `id parameter`).option("--payment-method-id <value>", `Payment method used to execute the payment. This payment method will override any previously set method on the invoice.`).addHelpText("after", `
|
|
41674
|
+
resource.command("charge").description(`Manually trigger payment collection for an invoice. Optionally specify a payment_method_id and an amount to charge now.`).requiredOption("--id <value>", `id parameter`).option("--payment-method-id <value>", `Payment method used to execute the payment. This payment method will override any previously set method on the invoice.`).option("--amount <number>", `Amount to charge now, expressed in the currency's smallest unit. Defaults to the outstanding invoice amount.`).addHelpText("after", `
|
|
40431
41675
|
Examples:
|
|
40432
41676
|
hyperline invoices charge --id <id>
|
|
40433
|
-
hyperline invoices charge --id <id> --payment-method-id <payment_method_id>
|
|
41677
|
+
hyperline invoices charge --id <id> --payment-method-id <payment_method_id> --amount <amount>
|
|
40434
41678
|
hyperline invoices charge --id <id> --output json`).action(async (opts) => {
|
|
40435
41679
|
const ctx = resource.parent?.opts()._ctx;
|
|
40436
41680
|
if (!ctx) {
|
|
@@ -40442,6 +41686,8 @@ Examples:
|
|
|
40442
41686
|
args.id = opts.id;
|
|
40443
41687
|
if (opts.paymentMethodId !== void 0)
|
|
40444
41688
|
args.payment_method_id = opts.paymentMethodId;
|
|
41689
|
+
if (opts.amount !== void 0)
|
|
41690
|
+
args.amount = Number(opts.amount);
|
|
40445
41691
|
await ctx.execute({
|
|
40446
41692
|
method: "POST",
|
|
40447
41693
|
path: "/v1/invoices/{id}/charge",
|
|
@@ -40517,7 +41763,7 @@ Examples:
|
|
|
40517
41763
|
|
|
40518
41764
|
- \`auto\`: Tax is automatically computed and applied.
|
|
40519
41765
|
- \`not_eligible\`: Tax collection is disabled for the invoice.
|
|
40520
|
-
`).option("--line-items <
|
|
41766
|
+
`).option("--line-items <json>", `line_items`).option("--coupons <json>", `coupons`).option("--payment-method-type <value>", `payment_method_type`).option("--payment-method-id <value>", `ID of the default payment method used to pay the invoice. Transactions related to the invoice may use different payment methods.`).option("--bank-account-id <value>", `ID of the bank account displayed on the invoice. Transactions related to the invoice may use different bank accounts.`).option("--subscription-id <value>", `ID of the subscription related to the invoice.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `Values for custom properties defined for the \`invoice\` entity, keyed by slug.`).option("--additional-display-fields <json>", `Ordered additional fields displayed on the invoice PDF. Invoice and customer custom properties are referenced by slug.`).option("--customer <json>", `Override customer details on the invoice. Only allowed for draft or grace period invoices.`).addHelpText("after", `
|
|
40521
41767
|
Examples:
|
|
40522
41768
|
hyperline invoices update --id <id>
|
|
40523
41769
|
hyperline invoices update --id <id> --type <type> --document-name <document_name>
|
|
@@ -40546,10 +41792,6 @@ Examples:
|
|
|
40546
41792
|
args.footer = opts.footer;
|
|
40547
41793
|
if (opts.taxScheme !== void 0)
|
|
40548
41794
|
args.tax_scheme = opts.taxScheme;
|
|
40549
|
-
if (opts.lineItems !== void 0)
|
|
40550
|
-
args.line_items = opts.lineItems;
|
|
40551
|
-
if (opts.coupons !== void 0)
|
|
40552
|
-
args.coupons = opts.coupons;
|
|
40553
41795
|
if (opts.paymentMethodType !== void 0)
|
|
40554
41796
|
args.payment_method_type = opts.paymentMethodType;
|
|
40555
41797
|
if (opts.paymentMethodId !== void 0)
|
|
@@ -40558,14 +41800,18 @@ Examples:
|
|
|
40558
41800
|
args.bank_account_id = opts.bankAccountId;
|
|
40559
41801
|
if (opts.subscriptionId !== void 0)
|
|
40560
41802
|
args.subscription_id = opts.subscriptionId;
|
|
41803
|
+
if (opts.lineItems !== void 0)
|
|
41804
|
+
args.line_items = JSON.parse(opts.lineItems);
|
|
41805
|
+
if (opts.coupons !== void 0)
|
|
41806
|
+
args.coupons = JSON.parse(opts.coupons);
|
|
40561
41807
|
if (opts.properties !== void 0)
|
|
40562
|
-
args.properties = opts.properties;
|
|
41808
|
+
args.properties = JSON.parse(opts.properties);
|
|
40563
41809
|
if (opts.customProperties !== void 0)
|
|
40564
|
-
args.custom_properties = opts.customProperties;
|
|
41810
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
40565
41811
|
if (opts.additionalDisplayFields !== void 0)
|
|
40566
|
-
args.additional_display_fields = opts.additionalDisplayFields;
|
|
41812
|
+
args.additional_display_fields = JSON.parse(opts.additionalDisplayFields);
|
|
40567
41813
|
if (opts.customer !== void 0)
|
|
40568
|
-
args.customer = opts.customer;
|
|
41814
|
+
args.customer = JSON.parse(opts.customer);
|
|
40569
41815
|
await ctx.execute({
|
|
40570
41816
|
method: "PATCH",
|
|
40571
41817
|
path: "/v1/invoices/{id}",
|
|
@@ -40754,7 +42000,7 @@ Examples:
|
|
|
40754
42000
|
queryParamKeys: []
|
|
40755
42001
|
});
|
|
40756
42002
|
});
|
|
40757
|
-
resource.command("create-invoicing-entity").description(`Create a new invoicing entity with company details, address, and tax configuration. Used as the sender on invoices.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).requiredOption("--name <value>", `The name of the invoicing entity.`).option("--trade-name <value>", `The trade name of the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `The state or province of the invoicing entity.`).option("--city <value>", `The city of the invoicing entity.`).requiredOption("--country <value>", `The country in which the invoicing entity is registered.`).requiredOption("--currency <value>", `The currency code that the invoicing entity operates in.`).requiredOption("--accounting-currency <value>", `The currency used for accounting purposes.`).option("--invoice-number-pattern <value>", `The pattern used for generating invoice numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--credit-note-number-pattern <value>", `The pattern used for generating credit note numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--document-number-pattern <value>", `The pattern used for generating document numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--next-invoice-number <number>", `The next invoice number to be used.`).option("--next-credit-note-number <number>", `The next credit note number to be used.`).option("--next-document-number <number>", `The next document number to be used.`).option("--default-payment-delay <number>", `The default payment term in days.`).option("--invoice-grace-period-duration <number>", `The grace period duration in days.`).option("--invoice-payment-initiation-delay <number>", `The payment initiation delay in days for the invoices.`).option("--document-payment-initiation-delay <number>", `The payment initiation delay in days for the custom documents.`).option("--invoice-late-fees <value>", `The late fees applicable to the invoices.`).option("--invoice-footer <value>", `The footer text to be used in invoices.`).option("--document-footer <value>", `The footer text to be used in documents. If not specified, the invoice footer will be used.`).option("--quote-footer <value>", `The footer text to be used in quotes.`).option("--logo-url <value>", `URL of the logo to be used in invoices.`).option("--favicon-url <value>", `URL of the logo to be used as favicon.`).option("--brand-color <value>", `Brand color to be used in invoices (hexadecimal color code).`).option("--forced-customer-type <value>", `Forces all customers created under this invoicing entity to have this type. Set to null to allow users to choose.`).option("--credit-note-wallet-refund-enabled", `When enabled, credit note refunds default to the customer's wallet
|
|
42003
|
+
resource.command("create-invoicing-entity").description(`Create a new invoicing entity with company details, address, and tax configuration. Used as the sender on invoices.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).requiredOption("--name <value>", `The name of the invoicing entity.`).option("--trade-name <value>", `The trade name of the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `The state or province of the invoicing entity.`).option("--city <value>", `The city of the invoicing entity.`).requiredOption("--country <value>", `The country in which the invoicing entity is registered.`).requiredOption("--currency <value>", `The currency code that the invoicing entity operates in.`).requiredOption("--accounting-currency <value>", `The currency used for accounting purposes.`).option("--invoice-number-pattern <value>", `The pattern used for generating invoice numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--credit-note-number-pattern <value>", `The pattern used for generating credit note numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--document-number-pattern <value>", `The pattern used for generating document numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--next-invoice-number <number>", `The next invoice number to be used.`).option("--next-credit-note-number <number>", `The next credit note number to be used.`).option("--next-document-number <number>", `The next document number to be used.`).option("--default-payment-delay <number>", `The default payment term in days.`).option("--invoice-grace-period-duration <number>", `The grace period duration in days.`).option("--invoice-payment-initiation-delay <number>", `The payment initiation delay in days for the invoices.`).option("--document-payment-initiation-delay <number>", `The payment initiation delay in days for the custom documents.`).option("--invoice-late-fees <value>", `The late fees applicable to the invoices.`).option("--invoice-footer <value>", `The footer text to be used in invoices.`).option("--document-footer <value>", `The footer text to be used in documents. If not specified, the invoice footer will be used.`).option("--quote-footer <value>", `The footer text to be used in quotes.`).option("--logo-url <value>", `URL of the logo to be used in invoices.`).option("--favicon-url <value>", `URL of the logo to be used as favicon.`).option("--brand-color <value>", `Brand color to be used in invoices (hexadecimal color code).`).option("--forced-customer-type <value>", `Forces all customers created under this invoicing entity to have this type. Set to null to allow users to choose.`).option("--credit-note-wallet-refund-enabled", `When enabled and no \`refund_method\` is specified, credit note refunds default to the customer's wallet, including credit notes generated by subscription updates, cancellations, and transitions. An explicit \`refund_method\` always wins. Requires wallets to be enabled at the workspace level.`).option("--standalone-credit-note-creation-enabled", `Whether credit notes without an original invoice can be created under this invoicing entity.`).addHelpText("after", `
|
|
40758
42004
|
Examples:
|
|
40759
42005
|
hyperline invoicing-entities create-invoicing-entity --name <name> --country <country> --currency <currency> --accounting-currency <accounting_currency>
|
|
40760
42006
|
hyperline invoicing-entities create-invoicing-entity --name <name> --country <country> --currency <currency> --accounting-currency <accounting_currency> --is-default --trade-name <trade_name>
|
|
@@ -40844,7 +42090,7 @@ Examples:
|
|
|
40844
42090
|
queryParamKeys: []
|
|
40845
42091
|
});
|
|
40846
42092
|
});
|
|
40847
|
-
resource.command("update-invoicing-entity").description(`Update an existing invoicing entity's details (address, tax ID, branding, etc.).`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `The name of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `The state or province of the invoicing entity.`).option("--city <value>", `The city of the invoicing entity.`).option("--country <value>", `The country in which the invoicing entity is registered.`).option("--currency <value>", `The currency code that the invoicing entity operates in.`).option("--accounting-currency <value>", `The currency used for accounting purposes.`).option("--invoice-number-pattern <value>", `The pattern used for generating invoice numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--credit-note-number-pattern <value>", `The pattern used for generating credit note numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--document-number-pattern <value>", `The pattern used for generating document numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--default-payment-delay <number>", `The default payment term in days.`).option("--invoice-grace-period-duration <number>", `The grace period duration in days.`).option("--invoice-payment-initiation-delay <number>", `The payment initiation delay in days for the invoices.`).option("--document-payment-initiation-delay <number>", `The payment initiation delay in days for the custom documents.`).option("--invoice-late-fees <value>", `The late fees applicable to the invoices.`).option("--invoice-footer <value>", `The footer text to be used in invoices.`).option("--document-footer <value>", `The footer text to be used in documents. If not specified, the invoice footer will be used.`).option("--logo-url <value>", `URL of the logo to be used in invoices.`).option("--favicon-url <value>", `URL of the logo to be used as favicon.`).option("--brand-color <value>", `Brand color to be used in invoices (hexadecimal color code).`).option("--forced-customer-type <value>", `Forces all customers created under this invoicing entity to have this type. Set to null to allow users to choose.`).option("--credit-note-wallet-refund-enabled", `When enabled, credit note refunds default to the customer's wallet
|
|
42093
|
+
resource.command("update-invoicing-entity").description(`Update an existing invoicing entity's details (address, tax ID, branding, etc.).`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `The name of the invoicing entity.`).option("--registration-number <value>", `The registration number of the invoicing entity.`).option("--tax-id <value>", `The tax identification number of the invoicing entity.`).option("--billing-email <value>", `The billing email address for the invoicing entity.`).option("--timezone <value>", `The timezone the invoicing entity operates in.`).option("--language <value>", `The default language of the invoicing entity.`).option("--is-default", `Flag to indicate if this is the default invoicing entity. If true, it will switch the other existing invoicing entities to non-default.`).option("--address-line1 <value>", `The first line of the address for the invoicing entity.`).option("--address-line2 <value>", `The second line of the address for the invoicing entity.`).option("--zip-code <value>", `The postal code for the invoicing entity's address.`).option("--state <value>", `The state or province of the invoicing entity.`).option("--city <value>", `The city of the invoicing entity.`).option("--country <value>", `The country in which the invoicing entity is registered.`).option("--currency <value>", `The currency code that the invoicing entity operates in.`).option("--accounting-currency <value>", `The currency used for accounting purposes.`).option("--invoice-number-pattern <value>", `The pattern used for generating invoice numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--credit-note-number-pattern <value>", `The pattern used for generating credit note numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--document-number-pattern <value>", `The pattern used for generating document numbers. Available dynamic elements: number {number} (mandatory), year {YYYY}, month {MM} and day {DD}.`).option("--default-payment-delay <number>", `The default payment term in days.`).option("--invoice-grace-period-duration <number>", `The grace period duration in days.`).option("--invoice-payment-initiation-delay <number>", `The payment initiation delay in days for the invoices.`).option("--document-payment-initiation-delay <number>", `The payment initiation delay in days for the custom documents.`).option("--invoice-late-fees <value>", `The late fees applicable to the invoices.`).option("--invoice-footer <value>", `The footer text to be used in invoices.`).option("--document-footer <value>", `The footer text to be used in documents. If not specified, the invoice footer will be used.`).option("--logo-url <value>", `URL of the logo to be used in invoices.`).option("--favicon-url <value>", `URL of the logo to be used as favicon.`).option("--brand-color <value>", `Brand color to be used in invoices (hexadecimal color code).`).option("--forced-customer-type <value>", `Forces all customers created under this invoicing entity to have this type. Set to null to allow users to choose.`).option("--credit-note-wallet-refund-enabled", `When enabled and no \`refund_method\` is specified, credit note refunds default to the customer's wallet, including credit notes generated by subscription updates, cancellations, and transitions. An explicit \`refund_method\` always wins. Requires wallets to be enabled at the workspace level.`).option("--standalone-credit-note-creation-enabled", `Whether credit notes without an original invoice can be created under this invoicing entity.`).addHelpText("after", `
|
|
40848
42094
|
Examples:
|
|
40849
42095
|
hyperline invoicing-entities update-invoicing-entity --id <id>
|
|
40850
42096
|
hyperline invoicing-entities update-invoicing-entity --id <id> --name <name> --registration-number <registration_number>
|
|
@@ -41014,12 +42260,12 @@ function registerPaymentsCommands(parent) {
|
|
|
41014
42260
|
Payment type.
|
|
41015
42261
|
|
|
41016
42262
|
- \`one_time\`: One-time payment, generating one-off invoice.
|
|
41017
|
-
`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--products <
|
|
42263
|
+
`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--products <json>", `Products composing the related invoice.`).option("--purchase-order <value>", `Purchase order added on the generated invoice.`).option("--custom-note <value>", `Custom note added on the generated invoice.`).requiredOption("--charging-method <value>", `
|
|
41018
42264
|
Charging method.
|
|
41019
42265
|
|
|
41020
42266
|
- \`immediately\`: Customer's payment method will be charged directly to pay the invoice.
|
|
41021
42267
|
- \`checkout\`: Dedicated checkout page will be created for the customer to pay the invoice.
|
|
41022
|
-
`).option("--payment-method-type <value>", `Type of payment method to use to pay the invoice. If not specified, the payment_method_id or the default customer payment method is used.`).option("--payment-method-id <value>", `ID of the payment method to use to pay the invoice. Ignored if payment_method_type is specified.`).option("--available-payment-methods <
|
|
42268
|
+
`).option("--payment-method-type <value>", `Type of payment method to use to pay the invoice. If not specified, the payment_method_id or the default customer payment method is used.`).option("--payment-method-id <value>", `ID of the payment method to use to pay the invoice. Ignored if payment_method_type is specified.`).option("--available-payment-methods <json>", `available_payment_methods`).option("--checkout-session <json>", `Only applies to \`checkout\` charging method.`).addHelpText("after", `
|
|
41023
42269
|
Examples:
|
|
41024
42270
|
hyperline payments create --type <type> --customer-id <customer_id> --charging-method <charging_method>
|
|
41025
42271
|
hyperline payments create --type <type> --customer-id <customer_id> --charging-method <charging_method> --products <products> --purchase-order <purchase_order>
|
|
@@ -41034,8 +42280,6 @@ Examples:
|
|
|
41034
42280
|
args.type = opts.type;
|
|
41035
42281
|
if (opts.customerId !== void 0)
|
|
41036
42282
|
args.customer_id = opts.customerId;
|
|
41037
|
-
if (opts.products !== void 0)
|
|
41038
|
-
args.products = opts.products;
|
|
41039
42283
|
if (opts.purchaseOrder !== void 0)
|
|
41040
42284
|
args.purchase_order = opts.purchaseOrder;
|
|
41041
42285
|
if (opts.customNote !== void 0)
|
|
@@ -41046,10 +42290,12 @@ Examples:
|
|
|
41046
42290
|
args.payment_method_type = opts.paymentMethodType;
|
|
41047
42291
|
if (opts.paymentMethodId !== void 0)
|
|
41048
42292
|
args.payment_method_id = opts.paymentMethodId;
|
|
42293
|
+
if (opts.products !== void 0)
|
|
42294
|
+
args.products = JSON.parse(opts.products);
|
|
41049
42295
|
if (opts.availablePaymentMethods !== void 0)
|
|
41050
|
-
args.available_payment_methods = opts.availablePaymentMethods;
|
|
42296
|
+
args.available_payment_methods = JSON.parse(opts.availablePaymentMethods);
|
|
41051
42297
|
if (opts.checkoutSession !== void 0)
|
|
41052
|
-
args.checkout_session = opts.checkoutSession;
|
|
42298
|
+
args.checkout_session = JSON.parse(opts.checkoutSession);
|
|
41053
42299
|
await ctx.execute({
|
|
41054
42300
|
method: "POST",
|
|
41055
42301
|
path: "/v1/payments",
|
|
@@ -41345,12 +42591,12 @@ Examples:
|
|
|
41345
42591
|
]
|
|
41346
42592
|
});
|
|
41347
42593
|
});
|
|
41348
|
-
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <
|
|
42594
|
+
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <json>", `Price configurations for the product.`).option("--aggregator <json>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <json>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--credits-grant-mode <value>", `
|
|
41349
42595
|
How the periodic credit allowance is granted for partial billing periods.
|
|
41350
42596
|
|
|
41351
42597
|
- \`prorated\` (default): the granted credits are prorated to the elapsed period.
|
|
41352
42598
|
- \`full_allowance\`: the full allowance is always granted (the invoice remains prorated).
|
|
41353
|
-
`).option("--display-mode <value>", `How bundle items are displayed on invoices.`).option("--exclusive-items-enabled", `When true, only one item in the bundle can be active at a time.`).option("--bundle-items <
|
|
42599
|
+
`).option("--display-mode <value>", `How bundle items are displayed on invoices.`).option("--exclusive-items-enabled", `When true, only one item in the bundle can be active at a time.`).option("--bundle-items <json>", `Products included in this bundle. Percentages must sum to 100.`).addHelpText("after", `
|
|
41354
42600
|
Examples:
|
|
41355
42601
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations>
|
|
41356
42602
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations> --description <description> --description-display-interval-dates
|
|
@@ -41367,30 +42613,16 @@ Examples:
|
|
|
41367
42613
|
args.description = opts.description;
|
|
41368
42614
|
if (opts.publicDescription !== void 0)
|
|
41369
42615
|
args.public_description = opts.publicDescription;
|
|
41370
|
-
if (opts.translations !== void 0)
|
|
41371
|
-
args.translations = opts.translations;
|
|
41372
|
-
if (opts.customProperties !== void 0)
|
|
41373
|
-
args.custom_properties = opts.customProperties;
|
|
41374
|
-
if (opts.accounting !== void 0)
|
|
41375
|
-
args.accounting = opts.accounting;
|
|
41376
42616
|
if (opts.type !== void 0)
|
|
41377
42617
|
args.type = opts.type;
|
|
41378
|
-
if (opts.priceConfigurations !== void 0)
|
|
41379
|
-
args.price_configurations = opts.priceConfigurations;
|
|
41380
|
-
if (opts.aggregator !== void 0)
|
|
41381
|
-
args.aggregator = opts.aggregator;
|
|
41382
42618
|
if (opts.aggregatorId !== void 0)
|
|
41383
42619
|
args.aggregator_id = opts.aggregatorId;
|
|
41384
42620
|
if (opts.unitName !== void 0)
|
|
41385
42621
|
args.unit_name = opts.unitName;
|
|
41386
|
-
if (opts.creditAggregators !== void 0)
|
|
41387
|
-
args.credit_aggregators = opts.creditAggregators;
|
|
41388
42622
|
if (opts.creditsGrantMode !== void 0)
|
|
41389
42623
|
args.credits_grant_mode = opts.creditsGrantMode;
|
|
41390
42624
|
if (opts.displayMode !== void 0)
|
|
41391
42625
|
args.display_mode = opts.displayMode;
|
|
41392
|
-
if (opts.bundleItems !== void 0)
|
|
41393
|
-
args.bundle_items = opts.bundleItems;
|
|
41394
42626
|
if (opts.lowCreditsThreshold !== void 0)
|
|
41395
42627
|
args.low_credits_threshold = Number(opts.lowCreditsThreshold);
|
|
41396
42628
|
if (opts.descriptionDisplayIntervalDates !== void 0)
|
|
@@ -41403,6 +42635,20 @@ Examples:
|
|
|
41403
42635
|
args.is_connected_seat_item = true;
|
|
41404
42636
|
if (opts.exclusiveItemsEnabled !== void 0)
|
|
41405
42637
|
args.exclusive_items_enabled = true;
|
|
42638
|
+
if (opts.translations !== void 0)
|
|
42639
|
+
args.translations = JSON.parse(opts.translations);
|
|
42640
|
+
if (opts.customProperties !== void 0)
|
|
42641
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
42642
|
+
if (opts.accounting !== void 0)
|
|
42643
|
+
args.accounting = JSON.parse(opts.accounting);
|
|
42644
|
+
if (opts.priceConfigurations !== void 0)
|
|
42645
|
+
args.price_configurations = JSON.parse(opts.priceConfigurations);
|
|
42646
|
+
if (opts.aggregator !== void 0)
|
|
42647
|
+
args.aggregator = JSON.parse(opts.aggregator);
|
|
42648
|
+
if (opts.creditAggregators !== void 0)
|
|
42649
|
+
args.credit_aggregators = JSON.parse(opts.creditAggregators);
|
|
42650
|
+
if (opts.bundleItems !== void 0)
|
|
42651
|
+
args.bundle_items = JSON.parse(opts.bundleItems);
|
|
41406
42652
|
await ctx.execute({
|
|
41407
42653
|
method: "POST",
|
|
41408
42654
|
path: "/v1/products",
|
|
@@ -41431,7 +42677,7 @@ Examples:
|
|
|
41431
42677
|
queryParamKeys: ["price_book_id"]
|
|
41432
42678
|
});
|
|
41433
42679
|
});
|
|
41434
|
-
resource.command("update").description(`Update a product's name, description, type, or configuration by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--public-description <value>", `Public description of the product.`).option("--translations <
|
|
42680
|
+
resource.command("update").description(`Update a product's name, description, type, or configuration by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--properties <json>", `properties`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).addHelpText("after", `
|
|
41435
42681
|
Examples:
|
|
41436
42682
|
hyperline products update --id <id> --name <name>
|
|
41437
42683
|
hyperline products update --id <id> --name <name> --description <description> --public-description <public_description>
|
|
@@ -41450,18 +42696,18 @@ Examples:
|
|
|
41450
42696
|
args.description = opts.description;
|
|
41451
42697
|
if (opts.publicDescription !== void 0)
|
|
41452
42698
|
args.public_description = opts.publicDescription;
|
|
41453
|
-
if (opts.translations !== void 0)
|
|
41454
|
-
args.translations = opts.translations;
|
|
41455
|
-
if (opts.properties !== void 0)
|
|
41456
|
-
args.properties = opts.properties;
|
|
41457
|
-
if (opts.customProperties !== void 0)
|
|
41458
|
-
args.custom_properties = opts.customProperties;
|
|
41459
|
-
if (opts.accounting !== void 0)
|
|
41460
|
-
args.accounting = opts.accounting;
|
|
41461
42699
|
if (opts.isAvailableOnDemand !== void 0)
|
|
41462
42700
|
args.is_available_on_demand = true;
|
|
41463
42701
|
if (opts.isAvailableOnSubscription !== void 0)
|
|
41464
42702
|
args.is_available_on_subscription = true;
|
|
42703
|
+
if (opts.translations !== void 0)
|
|
42704
|
+
args.translations = JSON.parse(opts.translations);
|
|
42705
|
+
if (opts.properties !== void 0)
|
|
42706
|
+
args.properties = JSON.parse(opts.properties);
|
|
42707
|
+
if (opts.customProperties !== void 0)
|
|
42708
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
42709
|
+
if (opts.accounting !== void 0)
|
|
42710
|
+
args.accounting = JSON.parse(opts.accounting);
|
|
41465
42711
|
await ctx.execute({
|
|
41466
42712
|
method: "PUT",
|
|
41467
42713
|
path: "/v1/products/{id}",
|
|
@@ -41544,12 +42790,12 @@ Quote status.
|
|
|
41544
42790
|
- \`draft\`: The quote is a draft.
|
|
41545
42791
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
41546
42792
|
- \`pending_signature\`: The quote is awaiting the customer's signature.
|
|
41547
|
-
`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. If not specified, the Hyperline account owner will be assigned.`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the quote.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored \u2014 the amount is always derived from the linked invoice's \`amount_excluding_tax\`.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <
|
|
42793
|
+
`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. If not specified, the Hyperline account owner will be assigned.`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the quote.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored \u2014 the amount is always derived from the linked invoice's \`amount_excluding_tax\`.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
41548
42794
|
|
|
41549
42795
|
- \`all\`: Display all pricing tiers.
|
|
41550
42796
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
41551
42797
|
- \`none\`: Hide all pricing tiers.
|
|
41552
|
-
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--template-id <value>", `ID of the quote template. If not specified, a subscription configuration or an \`invoice\` payload must be defined.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--subscription <
|
|
42798
|
+
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--template-id <value>", `ID of the quote template. If not specified, a subscription configuration or an \`invoice\` payload must be defined.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--subscription <json>", `Subscription configuration constituting the quote.`).option("--invoice <json>", `Invoice configuration constituting the one-off quote. When provided, a draft invoice is created and linked to the quote. Cannot be combined with \`subscription\` or \`template_id\`.`).addHelpText("after", `
|
|
41553
42799
|
Examples:
|
|
41554
42800
|
hyperline quotes create --customer-id <customer_id>
|
|
41555
42801
|
hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
|
|
@@ -41574,10 +42820,6 @@ Examples:
|
|
|
41574
42820
|
args.terms = opts.terms;
|
|
41575
42821
|
if (opts.collectPaymentDetails !== void 0)
|
|
41576
42822
|
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41577
|
-
if (opts.collectCustomPropertyIds !== void 0)
|
|
41578
|
-
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41579
|
-
if (opts.contractClauseIds !== void 0)
|
|
41580
|
-
args.contract_clause_ids = opts.contractClauseIds;
|
|
41581
42823
|
if (opts.requireTaxId !== void 0)
|
|
41582
42824
|
args.require_tax_id = opts.requireTaxId;
|
|
41583
42825
|
if (opts.displayQuoteValue !== void 0)
|
|
@@ -41602,12 +42844,16 @@ Examples:
|
|
|
41602
42844
|
args.template_id = opts.templateId;
|
|
41603
42845
|
if (opts.expiresAt !== void 0)
|
|
41604
42846
|
args.expires_at = opts.expiresAt;
|
|
41605
|
-
if (opts.subscription !== void 0)
|
|
41606
|
-
args.subscription = opts.subscription;
|
|
41607
|
-
if (opts.invoice !== void 0)
|
|
41608
|
-
args.invoice = opts.invoice;
|
|
41609
42847
|
if (opts.amount !== void 0)
|
|
41610
42848
|
args.amount = Number(opts.amount);
|
|
42849
|
+
if (opts.collectCustomPropertyIds !== void 0)
|
|
42850
|
+
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
42851
|
+
if (opts.contractClauseIds !== void 0)
|
|
42852
|
+
args.contract_clause_ids = JSON.parse(opts.contractClauseIds);
|
|
42853
|
+
if (opts.subscription !== void 0)
|
|
42854
|
+
args.subscription = JSON.parse(opts.subscription);
|
|
42855
|
+
if (opts.invoice !== void 0)
|
|
42856
|
+
args.invoice = JSON.parse(opts.invoice);
|
|
41611
42857
|
await ctx.execute({
|
|
41612
42858
|
method: "POST",
|
|
41613
42859
|
path: "/v1/quotes",
|
|
@@ -41834,12 +43080,12 @@ Examples:
|
|
|
41834
43080
|
queryParamKeys: []
|
|
41835
43081
|
});
|
|
41836
43082
|
});
|
|
41837
|
-
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice. For quotes created from \`template_id\`, use this tool for subscription overrides such as dates, contract terms, products, phases, coupons, discounts, prices, seats, and subscription custom properties. Omit \`terms\`, \`comments\`, and \`contract_clause_ids\` unless deliberately overriding template content.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. Set to \`null\` to clear the manually set value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <
|
|
43083
|
+
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice. For quotes created from \`template_id\`, use this tool for subscription overrides such as dates, contract terms, products, phases, coupons, discounts, prices, seats, and subscription custom properties. Omit \`terms\`, \`comments\`, and \`contract_clause_ids\` unless deliberately overriding template content.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. Set to \`null\` to clear the manually set value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
41838
43084
|
|
|
41839
43085
|
- \`all\`: Display all pricing tiers.
|
|
41840
43086
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
41841
43087
|
- \`none\`: Hide all pricing tiers.
|
|
41842
|
-
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <
|
|
43088
|
+
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <json>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <json>", `Invoice configuration constituting the one-off quote. When provided on a draft one-off quote, it deletes the previous draft invoice and creates a fresh one linked to the quote. \`invoice.invoicing_entity_id\` is ignored on update \u2014 the quote's existing invoicing entity is reused.`).addHelpText("after", `
|
|
41843
43089
|
Examples:
|
|
41844
43090
|
hyperline quotes update --id <id>
|
|
41845
43091
|
hyperline quotes update --id <id> --owner-email <owner_email> --comments <comments>
|
|
@@ -41860,10 +43106,6 @@ Examples:
|
|
|
41860
43106
|
args.terms = opts.terms;
|
|
41861
43107
|
if (opts.collectPaymentDetails !== void 0)
|
|
41862
43108
|
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41863
|
-
if (opts.collectCustomPropertyIds !== void 0)
|
|
41864
|
-
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41865
|
-
if (opts.contractClauseIds !== void 0)
|
|
41866
|
-
args.contract_clause_ids = opts.contractClauseIds;
|
|
41867
43109
|
if (opts.requireTaxId !== void 0)
|
|
41868
43110
|
args.require_tax_id = opts.requireTaxId;
|
|
41869
43111
|
if (opts.displayQuoteValue !== void 0)
|
|
@@ -41888,12 +43130,16 @@ Examples:
|
|
|
41888
43130
|
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
41889
43131
|
if (opts.expiresAt !== void 0)
|
|
41890
43132
|
args.expires_at = opts.expiresAt;
|
|
41891
|
-
if (opts.subscription !== void 0)
|
|
41892
|
-
args.subscription = opts.subscription;
|
|
41893
|
-
if (opts.invoice !== void 0)
|
|
41894
|
-
args.invoice = opts.invoice;
|
|
41895
43133
|
if (opts.amount !== void 0)
|
|
41896
43134
|
args.amount = Number(opts.amount);
|
|
43135
|
+
if (opts.collectCustomPropertyIds !== void 0)
|
|
43136
|
+
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
43137
|
+
if (opts.contractClauseIds !== void 0)
|
|
43138
|
+
args.contract_clause_ids = JSON.parse(opts.contractClauseIds);
|
|
43139
|
+
if (opts.subscription !== void 0)
|
|
43140
|
+
args.subscription = JSON.parse(opts.subscription);
|
|
43141
|
+
if (opts.invoice !== void 0)
|
|
43142
|
+
args.invoice = JSON.parse(opts.invoice);
|
|
41897
43143
|
await ctx.execute({
|
|
41898
43144
|
method: "PATCH",
|
|
41899
43145
|
path: "/v1/quotes/{id}",
|
|
@@ -42192,7 +43438,7 @@ Examples:
|
|
|
42192
43438
|
// build/commands/generated/subscriptions.js
|
|
42193
43439
|
function registerSubscriptionsCommands(parent) {
|
|
42194
43440
|
const resource = parent.command("subscriptions").description("Manage subscriptions");
|
|
42195
|
-
resource.command("create-subscription-update").description(`Apply a single update to an existing subscription (e.g. change quantity, add/remove product, modify price).`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--type <value>", `type`).requiredOption("--payload <
|
|
43441
|
+
resource.command("create-subscription-update").description(`Apply a single update to an existing subscription (e.g. change quantity, add/remove product, modify price).`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--type <value>", `type`).requiredOption("--payload <json>", `payload`).addHelpText("after", `
|
|
42196
43442
|
Examples:
|
|
42197
43443
|
hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload>
|
|
42198
43444
|
hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload> --apply-at <apply_at> --charge-at <charge_at>
|
|
@@ -42222,7 +43468,7 @@ Examples:
|
|
|
42222
43468
|
if (opts.type !== void 0)
|
|
42223
43469
|
args.type = opts.type;
|
|
42224
43470
|
if (opts.payload !== void 0)
|
|
42225
|
-
args.payload = opts.payload;
|
|
43471
|
+
args.payload = JSON.parse(opts.payload);
|
|
42226
43472
|
await ctx.execute({
|
|
42227
43473
|
method: "POST",
|
|
42228
43474
|
path: "/v1/subscriptions/{id}/update",
|
|
@@ -42230,7 +43476,7 @@ Examples:
|
|
|
42230
43476
|
queryParamKeys: []
|
|
42231
43477
|
});
|
|
42232
43478
|
});
|
|
42233
|
-
resource.command("create-subscription-updates").description(`Apply multiple updates at once to an existing subscription in a single atomic operation.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <
|
|
43479
|
+
resource.command("create-subscription-updates").description(`Apply multiple updates at once to an existing subscription in a single atomic operation.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <json>", `updates`).addHelpText("after", `
|
|
42234
43480
|
Examples:
|
|
42235
43481
|
hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
42236
43482
|
hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates> --apply-at <apply_at> --charge-at <charge_at>
|
|
@@ -42258,7 +43504,7 @@ Examples:
|
|
|
42258
43504
|
if (opts.refundMethod !== void 0)
|
|
42259
43505
|
args.refund_method = opts.refundMethod;
|
|
42260
43506
|
if (opts.updates !== void 0)
|
|
42261
|
-
args.updates = opts.updates;
|
|
43507
|
+
args.updates = JSON.parse(opts.updates);
|
|
42262
43508
|
await ctx.execute({
|
|
42263
43509
|
method: "POST",
|
|
42264
43510
|
path: "/v1/subscriptions/{id}/update-many",
|
|
@@ -42394,7 +43640,7 @@ Examples:
|
|
|
42394
43640
|
queryParamKeys: []
|
|
42395
43641
|
});
|
|
42396
43642
|
});
|
|
42397
|
-
resource.command("simulate-subscription-updates").description(`Preview the effect of updates on a subscription without applying them. Returns simulated invoice and billing impact.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <
|
|
43643
|
+
resource.command("simulate-subscription-updates").description(`Preview the effect of updates on a subscription without applying them. Returns simulated invoice and billing impact.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <json>", `updates`).addHelpText("after", `
|
|
42398
43644
|
Examples:
|
|
42399
43645
|
hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
42400
43646
|
hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates> --apply-at <apply_at> --charge-at <charge_at>
|
|
@@ -42422,7 +43668,7 @@ Examples:
|
|
|
42422
43668
|
if (opts.refundMethod !== void 0)
|
|
42423
43669
|
args.refund_method = opts.refundMethod;
|
|
42424
43670
|
if (opts.updates !== void 0)
|
|
42425
|
-
args.updates = opts.updates;
|
|
43671
|
+
args.updates = JSON.parse(opts.updates);
|
|
42426
43672
|
await ctx.execute({
|
|
42427
43673
|
method: "POST",
|
|
42428
43674
|
path: "/v1/subscriptions/{id}/simulate-updates",
|
|
@@ -42437,7 +43683,7 @@ Strategy used to activate the subscription.
|
|
|
42437
43683
|
- \`manually\`: The subscription requires activation through a manual action.
|
|
42438
43684
|
- \`checkout\`: The subscription will be activated once the checkout is completed, but only if the start date is in the past. Otherwise, activation will occur later on the specified start date.
|
|
42439
43685
|
- \`quote\`: The subscription will be activated depending on the configuration and the signature of the related quote.
|
|
42440
|
-
`).option("--products <
|
|
43686
|
+
`).option("--products <json>", `Products that make up the subscription.`).option("--coupons <json>", `coupons`).option("--name <value>", `Subscription custom name.`).option("--purchase-order <value>", `Reference to the purchase order.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--minimum-invoice-fee <number>", `Minimum fee applied to each invoice outside of one time payments.`).option("--contract-terms <json>", `Contract terms linked to the subscription.`).option("--starts-at <value>", `Applies only if the activation strategy is \`start_date\`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--initial-billing-at <value>", `Date when the subscription will start being billed. If not specified, it will correspond to the \`starts_at\` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--display-shipping-details <value>", `Indicates if the shipping details should be displayed on the subscription's invoices.`).option("--cancel-at <value>", `Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--cancellation-strategy <value>", `
|
|
42441
43687
|
Strategy used to cancel the subscription. If not specified \`do_nothing\` is used.
|
|
42442
43688
|
|
|
42443
43689
|
- \`charge_prorata\`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period.
|
|
@@ -42446,23 +43692,23 @@ Strategy used to cancel the subscription. If not specified \`do_nothing\` is use
|
|
|
42446
43692
|
- \`refund_custom\`: Will refund to the customer a custom amount.
|
|
42447
43693
|
- \`end_of_period\`: Will cancel the subscription at the end date of the current billing period.
|
|
42448
43694
|
- \`do_nothing\`: Will only cease the subscription without any additional actions.
|
|
42449
|
-
`).option("--cancellation-amount <number>", `Custom amount used when cancelling the subscription. Only applies to the \`charge_custom\` or the \`refund_custom\` cancellation strategy.`).option("--cancellation-refund-method <value>", `Override the refund destination for credit notes generated by \`refund_prorata\` / \`refund_custom\` cancellation strategies. When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).option("--properties <
|
|
43695
|
+
`).option("--cancellation-amount <number>", `Custom amount used when cancelling the subscription. Only applies to the \`charge_custom\` or the \`refund_custom\` cancellation strategy.`).option("--cancellation-refund-method <value>", `Override the refund destination for credit notes generated by \`refund_prorata\` / \`refund_custom\` cancellation strategies. When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--tax-only <value>", `Only tax will be charged on this subscription.`).option("--generate-draft-invoices <value>", `Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent`).option("--generate-document <value>", `Generate non-legal documents instead of invoices.`).option("--document-name <value>", `If \`generate_document\` is turned on, allows you to give a name to your document.`).option("--add-tax-to-document <value>", `If \`generate_document\` is turned on, will add taxes to document.`).option("--do-not-charge-subscription <value>", `Subscription will be invoiced but not charged (invoices/documents will be settled directly).`).option("--invoice-custom-note <value>", `Default custom note added to invoices generated by the subscription.`).option("--invoice-schedule <value>", `
|
|
42450
43696
|
Defines when invoices are generated relative to the billing period.
|
|
42451
43697
|
|
|
42452
43698
|
- \`period_start\`: Invoices are generated at the start of the billing period.
|
|
42453
43699
|
- \`period_end\`: Invoices are generated at the end of the billing period.
|
|
42454
|
-
`).option("--template-id <value>", `ID of the template that the subscription is linked to.`).option("--template-configuration-id <value>", `ID of the template configuration that the subscription is linked to.`).option("--trial <
|
|
43700
|
+
`).option("--template-id <value>", `ID of the template that the subscription is linked to.`).option("--template-configuration-id <value>", `ID of the template configuration that the subscription is linked to.`).option("--trial <json>", `Create a free trial phase based on the plan configuration. Only applies if a \`plan_id\` is provided.`).option("--payment-method-strategy <value>", `
|
|
42455
43701
|
Payment method strategy used to bill the subscription. By default, the current payment method of the customer will be used.
|
|
42456
43702
|
|
|
42457
43703
|
- \`new\`: Ask the customer for a new payment method. The customer can fill in their payment method either on the subscription's checkout session or on their portal page.
|
|
42458
43704
|
- \`current\`: Use the current default payment method of the customer.
|
|
42459
43705
|
- \`external\`: Manage the payments of the subscription outside of Hyperline.
|
|
42460
|
-
`).option("--available-payment-method-types <
|
|
43706
|
+
`).option("--available-payment-method-types <json>", `Set the allowed types of payment methods for the customer. Only applies to the \`new\` payment method strategy.`).option("--billing-cycle-alignment <value>", `
|
|
42461
43707
|
Alignment of product billing cycles. Only applies when creating a subscription from a plan.
|
|
42462
43708
|
|
|
42463
43709
|
- \`calendar_period\`: The billing cycles of the products will be aligned on the calendar period, after the first period which will be invoiced taking into account the prorata of the first cycle compared to the product periodicity.
|
|
42464
43710
|
- \`anniversary\`: The billing cycles of the products will be aligned on the anniversary of the phase initial billing date.
|
|
42465
|
-
`).option("--checkout-session <
|
|
43711
|
+
`).option("--checkout-session <json>", `Checkout session of the subscription.`).option("--phases <json>", `phases`).addHelpText("after", `
|
|
42466
43712
|
Examples:
|
|
42467
43713
|
hyperline subscriptions create --customer-id <customer_id>
|
|
42468
43714
|
hyperline subscriptions create --customer-id <customer_id> --activation-strategy <activation_strategy> --products <products>
|
|
@@ -42477,10 +43723,6 @@ Examples:
|
|
|
42477
43723
|
args.customer_id = opts.customerId;
|
|
42478
43724
|
if (opts.activationStrategy !== void 0)
|
|
42479
43725
|
args.activation_strategy = opts.activationStrategy;
|
|
42480
|
-
if (opts.products !== void 0)
|
|
42481
|
-
args.products = opts.products;
|
|
42482
|
-
if (opts.coupons !== void 0)
|
|
42483
|
-
args.coupons = opts.coupons;
|
|
42484
43726
|
if (opts.name !== void 0)
|
|
42485
43727
|
args.name = opts.name;
|
|
42486
43728
|
if (opts.purchaseOrder !== void 0)
|
|
@@ -42489,8 +43731,6 @@ Examples:
|
|
|
42489
43731
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
42490
43732
|
if (opts.crmOpportunityId !== void 0)
|
|
42491
43733
|
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
42492
|
-
if (opts.contractTerms !== void 0)
|
|
42493
|
-
args.contract_terms = opts.contractTerms;
|
|
42494
43734
|
if (opts.startsAt !== void 0)
|
|
42495
43735
|
args.starts_at = opts.startsAt;
|
|
42496
43736
|
if (opts.initialBillingAt !== void 0)
|
|
@@ -42503,10 +43743,6 @@ Examples:
|
|
|
42503
43743
|
args.cancellation_strategy = opts.cancellationStrategy;
|
|
42504
43744
|
if (opts.cancellationRefundMethod !== void 0)
|
|
42505
43745
|
args.cancellation_refund_method = opts.cancellationRefundMethod;
|
|
42506
|
-
if (opts.properties !== void 0)
|
|
42507
|
-
args.properties = opts.properties;
|
|
42508
|
-
if (opts.customProperties !== void 0)
|
|
42509
|
-
args.custom_properties = opts.customProperties;
|
|
42510
43746
|
if (opts.taxOnly !== void 0)
|
|
42511
43747
|
args.tax_only = opts.taxOnly;
|
|
42512
43748
|
if (opts.generateDraftInvoices !== void 0)
|
|
@@ -42527,22 +43763,32 @@ Examples:
|
|
|
42527
43763
|
args.template_id = opts.templateId;
|
|
42528
43764
|
if (opts.templateConfigurationId !== void 0)
|
|
42529
43765
|
args.template_configuration_id = opts.templateConfigurationId;
|
|
42530
|
-
if (opts.trial !== void 0)
|
|
42531
|
-
args.trial = opts.trial;
|
|
42532
43766
|
if (opts.paymentMethodStrategy !== void 0)
|
|
42533
43767
|
args.payment_method_strategy = opts.paymentMethodStrategy;
|
|
42534
|
-
if (opts.availablePaymentMethodTypes !== void 0)
|
|
42535
|
-
args.available_payment_method_types = opts.availablePaymentMethodTypes;
|
|
42536
43768
|
if (opts.billingCycleAlignment !== void 0)
|
|
42537
43769
|
args.billing_cycle_alignment = opts.billingCycleAlignment;
|
|
42538
|
-
if (opts.checkoutSession !== void 0)
|
|
42539
|
-
args.checkout_session = opts.checkoutSession;
|
|
42540
|
-
if (opts.phases !== void 0)
|
|
42541
|
-
args.phases = opts.phases;
|
|
42542
43770
|
if (opts.minimumInvoiceFee !== void 0)
|
|
42543
43771
|
args.minimum_invoice_fee = Number(opts.minimumInvoiceFee);
|
|
42544
43772
|
if (opts.cancellationAmount !== void 0)
|
|
42545
43773
|
args.cancellation_amount = Number(opts.cancellationAmount);
|
|
43774
|
+
if (opts.products !== void 0)
|
|
43775
|
+
args.products = JSON.parse(opts.products);
|
|
43776
|
+
if (opts.coupons !== void 0)
|
|
43777
|
+
args.coupons = JSON.parse(opts.coupons);
|
|
43778
|
+
if (opts.contractTerms !== void 0)
|
|
43779
|
+
args.contract_terms = JSON.parse(opts.contractTerms);
|
|
43780
|
+
if (opts.properties !== void 0)
|
|
43781
|
+
args.properties = JSON.parse(opts.properties);
|
|
43782
|
+
if (opts.customProperties !== void 0)
|
|
43783
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
43784
|
+
if (opts.trial !== void 0)
|
|
43785
|
+
args.trial = JSON.parse(opts.trial);
|
|
43786
|
+
if (opts.availablePaymentMethodTypes !== void 0)
|
|
43787
|
+
args.available_payment_method_types = JSON.parse(opts.availablePaymentMethodTypes);
|
|
43788
|
+
if (opts.checkoutSession !== void 0)
|
|
43789
|
+
args.checkout_session = JSON.parse(opts.checkoutSession);
|
|
43790
|
+
if (opts.phases !== void 0)
|
|
43791
|
+
args.phases = JSON.parse(opts.phases);
|
|
42546
43792
|
await ctx.execute({
|
|
42547
43793
|
method: "POST",
|
|
42548
43794
|
path: "/v2/subscriptions",
|
|
@@ -42790,7 +44036,7 @@ Defines when invoices are generated relative to the billing period.
|
|
|
42790
44036
|
|
|
42791
44037
|
- \`period_start\`: Invoices are generated at the start of the billing period.
|
|
42792
44038
|
- \`period_end\`: Invoices are generated at the end of the billing period.
|
|
42793
|
-
`).option("--estimated-arr <number>", `Estimated Annual Recurring Revenue generated by the subscription.`).option("--contract-value <number>", `Contract value of the subscription. This value is overridable by the user.`).option("--starts-at <value>", `Applies only if the activation strategy is \`start_date\`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--initial-billing-at <value>", `Date when the subscription will start being billed. If not specified, it will correspond to the \`starts_at\` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--cancel-at <value>", `Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--properties <
|
|
44039
|
+
`).option("--estimated-arr <number>", `Estimated Annual Recurring Revenue generated by the subscription.`).option("--contract-value <number>", `Contract value of the subscription. This value is overridable by the user.`).option("--starts-at <value>", `Applies only if the activation strategy is \`start_date\`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--initial-billing-at <value>", `Date when the subscription will start being billed. If not specified, it will correspond to the \`starts_at\` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--cancel-at <value>", `Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--display-shipping-details <value>", `Indicates if the shipping details should be displayed on the subscription's invoices.`).option("--phases <json>", `Array of subscription phases. Existing pending phases will be replaced by the ones in the array.`).option("--contract-terms <json>", `Contract terms to update.`).addHelpText("after", `
|
|
42794
44040
|
Examples:
|
|
42795
44041
|
hyperline subscriptions update --id <id>
|
|
42796
44042
|
hyperline subscriptions update --id <id> --name <name> --purchase-order <purchase_order>
|
|
@@ -42831,22 +44077,22 @@ Examples:
|
|
|
42831
44077
|
args.initial_billing_at = opts.initialBillingAt;
|
|
42832
44078
|
if (opts.cancelAt !== void 0)
|
|
42833
44079
|
args.cancel_at = opts.cancelAt;
|
|
42834
|
-
if (opts.properties !== void 0)
|
|
42835
|
-
args.properties = opts.properties;
|
|
42836
|
-
if (opts.customProperties !== void 0)
|
|
42837
|
-
args.custom_properties = opts.customProperties;
|
|
42838
44080
|
if (opts.displayShippingDetails !== void 0)
|
|
42839
44081
|
args.display_shipping_details = opts.displayShippingDetails;
|
|
42840
|
-
if (opts.phases !== void 0)
|
|
42841
|
-
args.phases = opts.phases;
|
|
42842
|
-
if (opts.contractTerms !== void 0)
|
|
42843
|
-
args.contract_terms = opts.contractTerms;
|
|
42844
44082
|
if (opts.minimumInvoiceFee !== void 0)
|
|
42845
44083
|
args.minimum_invoice_fee = Number(opts.minimumInvoiceFee);
|
|
42846
44084
|
if (opts.estimatedArr !== void 0)
|
|
42847
44085
|
args.estimated_arr = Number(opts.estimatedArr);
|
|
42848
44086
|
if (opts.contractValue !== void 0)
|
|
42849
44087
|
args.contract_value = Number(opts.contractValue);
|
|
44088
|
+
if (opts.properties !== void 0)
|
|
44089
|
+
args.properties = JSON.parse(opts.properties);
|
|
44090
|
+
if (opts.customProperties !== void 0)
|
|
44091
|
+
args.custom_properties = JSON.parse(opts.customProperties);
|
|
44092
|
+
if (opts.phases !== void 0)
|
|
44093
|
+
args.phases = JSON.parse(opts.phases);
|
|
44094
|
+
if (opts.contractTerms !== void 0)
|
|
44095
|
+
args.contract_terms = JSON.parse(opts.contractTerms);
|
|
42850
44096
|
await ctx.execute({
|
|
42851
44097
|
method: "PUT",
|
|
42852
44098
|
path: "/v2/subscriptions/{id}",
|
|
@@ -43177,7 +44423,7 @@ Examples:
|
|
|
43177
44423
|
]
|
|
43178
44424
|
});
|
|
43179
44425
|
});
|
|
43180
|
-
resource.command("create-subscription-transition").description(`Create a transition from one subscription to another, configured from a subscription, plan, or template. Can be applied immediately or scheduled.`).requiredOption("--source-subscription-id <value>", `The ID of the subscription to transition from`).option("--name <value>", `An optional name for the transition`).option("--calculation-method <value>", `The calculation method to use for the transition. 'do_not_charge' will not generate any transition invoice. 'pro_rata' will generate a prorated invoice for the remaining period. 'pro_rata_separate_documents' issues a credit note for the current period (the amount invoiced when 'last_renewal', otherwise a prorated cancellation credit) and a separate invoice for the new configuration.`).option("--billing-cycle-transition-method <value>", `The billing cycle transition method to use. 'keep_current_billing_cycle' (the default) keeps the current billing cycle dates; the request is rejected when the phases share no product billing periodicity, as the cycle cannot then be preserved \u2014 use 'align_to_new_billing_cycle' in that case. 'align_to_new_billing_cycle' aligns the billing cycle to the transition date.`).requiredOption("--application-schedule <value>", `When the transition should be applied: 'immediately', 'scheduled' for a specific date, or 'last_renewal' to apply it retroactively to the start of the current billing period (refunding what was already invoiced for that period and re-charging the new configuration). Past dates within the current billing period are supported and will be applied immediately.`).option("--transition-date <value>", `The date at which the transition should occur. Only applicable if the application schedule is 'scheduled'. Can be a past date within the current billing period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).requiredOption("--target-subscription <
|
|
44426
|
+
resource.command("create-subscription-transition").description(`Create a transition from one subscription to another, configured from a subscription, plan, or template. Can be applied immediately or scheduled.`).requiredOption("--source-subscription-id <value>", `The ID of the subscription to transition from`).option("--name <value>", `An optional name for the transition`).option("--calculation-method <value>", `The calculation method to use for the transition. 'do_not_charge' will not generate any transition invoice. 'pro_rata' will generate a prorated invoice for the remaining period. 'pro_rata_separate_documents' issues a credit note for the current period (the amount invoiced when 'last_renewal', otherwise a prorated cancellation credit) and a separate invoice for the new configuration.`).option("--billing-cycle-transition-method <value>", `The billing cycle transition method to use. 'keep_current_billing_cycle' (the default) keeps the current billing cycle dates; the request is rejected when the phases share no product billing periodicity, as the cycle cannot then be preserved \u2014 use 'align_to_new_billing_cycle' in that case. 'align_to_new_billing_cycle' aligns the billing cycle to the transition date.`).requiredOption("--application-schedule <value>", `When the transition should be applied: 'immediately', 'scheduled' for a specific date, or 'last_renewal' to apply it retroactively to the start of the current billing period (refunding what was already invoiced for that period and re-charging the new configuration). Past dates within the current billing period are supported and will be applied immediately.`).option("--transition-date <value>", `The date at which the transition should occur. Only applicable if the application schedule is 'scheduled'. Can be a past date within the current billing period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).requiredOption("--target-subscription <json>", `The configuration of the subscription to transition to`).addHelpText("after", `
|
|
43181
44427
|
Examples:
|
|
43182
44428
|
hyperline subscriptions-transitions create-subscription-transition --source-subscription-id <source_subscription_id> --application-schedule <application_schedule> --target-subscription <target_subscription>
|
|
43183
44429
|
hyperline subscriptions-transitions create-subscription-transition --source-subscription-id <source_subscription_id> --application-schedule <application_schedule> --target-subscription <target_subscription> --name <name> --calculation-method <calculation_method>
|
|
@@ -43201,7 +44447,7 @@ Examples:
|
|
|
43201
44447
|
if (opts.transitionDate !== void 0)
|
|
43202
44448
|
args.transition_date = opts.transitionDate;
|
|
43203
44449
|
if (opts.targetSubscription !== void 0)
|
|
43204
|
-
args.target_subscription = opts.targetSubscription;
|
|
44450
|
+
args.target_subscription = JSON.parse(opts.targetSubscription);
|
|
43205
44451
|
await ctx.execute({
|
|
43206
44452
|
method: "POST",
|
|
43207
44453
|
path: "/v2/subscriptions/transitions",
|
|
@@ -43473,7 +44719,7 @@ Examples:
|
|
|
43473
44719
|
queryParamKeys: []
|
|
43474
44720
|
});
|
|
43475
44721
|
});
|
|
43476
|
-
resource.command("update-wallet-settings").description(`Update global wallet settings for the account.`).option("--enabled", `Indicates if the wallet feature is enabled or not. If disabled, wallets won't be debited even if they are in \`active\` state and with money.`).option("--allow-free-credits", `Allow top up for free amounts on wallets.`).option("--allow-topup-on-portal", `Allow wallet top up on customer's portal.`).option("--product-ids <
|
|
44722
|
+
resource.command("update-wallet-settings").description(`Update global wallet settings for the account.`).option("--enabled", `Indicates if the wallet feature is enabled or not. If disabled, wallets won't be debited even if they are in \`active\` state and with money.`).option("--allow-free-credits", `Allow top up for free amounts on wallets.`).option("--allow-topup-on-portal", `Allow wallet top up on customer's portal.`).option("--product-ids <json>", `Product IDs on which wallet will apply. If empty, the wallet will apply to all invoice line items.`).addHelpText("after", `
|
|
43477
44723
|
Examples:
|
|
43478
44724
|
hyperline wallets update-wallet-settings
|
|
43479
44725
|
hyperline wallets update-wallet-settings --enabled --allow-free-credits
|
|
@@ -43484,14 +44730,14 @@ Examples:
|
|
|
43484
44730
|
process.exit(1);
|
|
43485
44731
|
}
|
|
43486
44732
|
const args = {};
|
|
43487
|
-
if (opts.productIds !== void 0)
|
|
43488
|
-
args.product_ids = opts.productIds;
|
|
43489
44733
|
if (opts.enabled !== void 0)
|
|
43490
44734
|
args.enabled = true;
|
|
43491
44735
|
if (opts.allowFreeCredits !== void 0)
|
|
43492
44736
|
args.allow_free_credits = true;
|
|
43493
44737
|
if (opts.allowTopupOnPortal !== void 0)
|
|
43494
44738
|
args.allow_topup_on_portal = true;
|
|
44739
|
+
if (opts.productIds !== void 0)
|
|
44740
|
+
args.product_ids = JSON.parse(opts.productIds);
|
|
43495
44741
|
await ctx.execute({
|
|
43496
44742
|
method: "PATCH",
|
|
43497
44743
|
path: "/v1/wallets/settings",
|
|
@@ -43522,7 +44768,7 @@ Examples:
|
|
|
43522
44768
|
queryParamKeys: ["customer_id", "take", "skip"]
|
|
43523
44769
|
});
|
|
43524
44770
|
});
|
|
43525
|
-
resource.command("create").description(`Create a new prepaid wallet for a customer with an initial balance and currency.`).requiredOption("--customer-id <value>", `Wallet customer ID.`).option("--low-projected-balance-threshold <number>", `Threshold indicating a low level of wallet projected balance.`).requiredOption("--is-auto-load-enabled <value>", `Indicates if the wallet is auto-loaded regularly.`).option("--auto-load-type <value>", `Indicates if the auto-load is free or paid.`).option("--auto-load-amount <number>", `Amount to auto-load. Expressed in currency's smallest unit.`).option("--auto-load-reset", `Indicates if the wallet amount must be reset before auto-load.`).option("--auto-load-interval <
|
|
44771
|
+
resource.command("create").description(`Create a new prepaid wallet for a customer with an initial balance and currency.`).requiredOption("--customer-id <value>", `Wallet customer ID.`).option("--low-projected-balance-threshold <number>", `Threshold indicating a low level of wallet projected balance.`).requiredOption("--is-auto-load-enabled <value>", `Indicates if the wallet is auto-loaded regularly.`).option("--auto-load-type <value>", `Indicates if the auto-load is free or paid.`).option("--auto-load-amount <number>", `Amount to auto-load. Expressed in currency's smallest unit.`).option("--auto-load-reset", `Indicates if the wallet amount must be reset before auto-load.`).option("--auto-load-interval <json>", `Interval indicating how often the wallet is auto-loaded.`).option("--auto-load-next-date <value>", `Date on which the next auto-load will be executed. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--auto-load-threshold <number>", `Threshold to auto-load. Expressed in currency's smallest unit.`).addHelpText("after", `
|
|
43526
44772
|
Examples:
|
|
43527
44773
|
hyperline wallets create --customer-id <customer_id> --is-auto-load-enabled <is_auto_load_enabled>
|
|
43528
44774
|
hyperline wallets create --customer-id <customer_id> --is-auto-load-enabled <is_auto_load_enabled> --low-projected-balance-threshold <low_projected_balance_threshold> --auto-load-type <auto_load_type>
|
|
@@ -43539,8 +44785,6 @@ Examples:
|
|
|
43539
44785
|
args.is_auto_load_enabled = opts.isAutoLoadEnabled;
|
|
43540
44786
|
if (opts.autoLoadType !== void 0)
|
|
43541
44787
|
args.auto_load_type = opts.autoLoadType;
|
|
43542
|
-
if (opts.autoLoadInterval !== void 0)
|
|
43543
|
-
args.auto_load_interval = opts.autoLoadInterval;
|
|
43544
44788
|
if (opts.autoLoadNextDate !== void 0)
|
|
43545
44789
|
args.auto_load_next_date = opts.autoLoadNextDate;
|
|
43546
44790
|
if (opts.lowProjectedBalanceThreshold !== void 0)
|
|
@@ -43551,6 +44795,8 @@ Examples:
|
|
|
43551
44795
|
args.auto_load_threshold = Number(opts.autoLoadThreshold);
|
|
43552
44796
|
if (opts.autoLoadReset !== void 0)
|
|
43553
44797
|
args.auto_load_reset = true;
|
|
44798
|
+
if (opts.autoLoadInterval !== void 0)
|
|
44799
|
+
args.auto_load_interval = JSON.parse(opts.autoLoadInterval);
|
|
43554
44800
|
await ctx.execute({
|
|
43555
44801
|
method: "POST",
|
|
43556
44802
|
path: "/v1/wallets",
|
|
@@ -43576,7 +44822,7 @@ Examples:
|
|
|
43576
44822
|
queryParamKeys: []
|
|
43577
44823
|
});
|
|
43578
44824
|
});
|
|
43579
|
-
resource.command("update").description(`Update a wallet's configuration (e.g. name, auto-topup settings).`).requiredOption("--id <value>", `id parameter`).option("--state <value>", `Wallet state.`).option("--low-projected-balance-threshold <number>", `Threshold indicating a low level of wallet projected balance.`).requiredOption("--is-auto-load-enabled <value>", `Indicates if the wallet is auto-loaded regularly.`).option("--auto-load-type <value>", `Indicates if the auto-load is free or paid.`).option("--auto-load-amount <number>", `Amount to auto-load. Expressed in currency's smallest unit.`).option("--auto-load-reset", `Indicates if the wallet amount must be reset before auto-load.`).option("--auto-load-interval <
|
|
44825
|
+
resource.command("update").description(`Update a wallet's configuration (e.g. name, auto-topup settings).`).requiredOption("--id <value>", `id parameter`).option("--state <value>", `Wallet state.`).option("--low-projected-balance-threshold <number>", `Threshold indicating a low level of wallet projected balance.`).requiredOption("--is-auto-load-enabled <value>", `Indicates if the wallet is auto-loaded regularly.`).option("--auto-load-type <value>", `Indicates if the auto-load is free or paid.`).option("--auto-load-amount <number>", `Amount to auto-load. Expressed in currency's smallest unit.`).option("--auto-load-reset", `Indicates if the wallet amount must be reset before auto-load.`).option("--auto-load-interval <json>", `Interval indicating how often the wallet is auto-loaded.`).option("--auto-load-next-date <value>", `Date on which the next auto-load will be executed. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--auto-load-threshold <number>", `Threshold to auto-load. Expressed in currency's smallest unit.`).addHelpText("after", `
|
|
43580
44826
|
Examples:
|
|
43581
44827
|
hyperline wallets update --id <id> --is-auto-load-enabled <is_auto_load_enabled>
|
|
43582
44828
|
hyperline wallets update --id <id> --is-auto-load-enabled <is_auto_load_enabled> --state <state> --low-projected-balance-threshold <low_projected_balance_threshold>
|
|
@@ -43595,8 +44841,6 @@ Examples:
|
|
|
43595
44841
|
args.is_auto_load_enabled = opts.isAutoLoadEnabled;
|
|
43596
44842
|
if (opts.autoLoadType !== void 0)
|
|
43597
44843
|
args.auto_load_type = opts.autoLoadType;
|
|
43598
|
-
if (opts.autoLoadInterval !== void 0)
|
|
43599
|
-
args.auto_load_interval = opts.autoLoadInterval;
|
|
43600
44844
|
if (opts.autoLoadNextDate !== void 0)
|
|
43601
44845
|
args.auto_load_next_date = opts.autoLoadNextDate;
|
|
43602
44846
|
if (opts.lowProjectedBalanceThreshold !== void 0)
|
|
@@ -43607,6 +44851,8 @@ Examples:
|
|
|
43607
44851
|
args.auto_load_threshold = Number(opts.autoLoadThreshold);
|
|
43608
44852
|
if (opts.autoLoadReset !== void 0)
|
|
43609
44853
|
args.auto_load_reset = true;
|
|
44854
|
+
if (opts.autoLoadInterval !== void 0)
|
|
44855
|
+
args.auto_load_interval = JSON.parse(opts.autoLoadInterval);
|
|
43610
44856
|
await ctx.execute({
|
|
43611
44857
|
method: "PUT",
|
|
43612
44858
|
path: "/v1/wallets/{id}",
|
|
@@ -43614,7 +44860,7 @@ Examples:
|
|
|
43614
44860
|
queryParamKeys: []
|
|
43615
44861
|
});
|
|
43616
44862
|
});
|
|
43617
|
-
resource.command("load").description(`Add
|
|
44863
|
+
resource.command("load").description(`Add free credits, load selected line items from a paid invoice, apply unallocated funds from an existing payment transaction, or record a new paid transaction.`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Wallet load type. Use \`paid\` to load paid invoice line items, apply an existing payment transaction, or record a new one, or \`free\` to grant credits without collecting payment.`).option("--amount <number>", `Amount to be loaded onto the wallet as free credits. A corresponding credit note will be generated and no payment is collected. Expressed in currency's smallest unit.`).option("--comment <value>", `Internal comment stored on the wallet transaction for context.`).option("--document-status <value>", `Indicates the status of the generated credit note for free top-ups.`).option("--transaction-id <value>", `Existing payment transaction ID whose unallocated amount will be loaded onto the wallet.`).option("--invoice-id <value>", `Paid invoice ID whose selected line items will be loaded onto the wallet.`).option("--invoice-line-item-ids <json>", `IDs of paid invoice line items whose combined amount will be loaded onto the wallet.`).option("--date <value>", `Date of the new offline payment transaction recorded for the wallet load. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--bank-account-id <value>", `Bank account ID to use when recording a new paid wallet load by bank transfer.`).option("--reference <value>", `Reference stored on the new payment transaction for a paid wallet load.`).addHelpText("after", `
|
|
43618
44864
|
Examples:
|
|
43619
44865
|
hyperline wallets load --id <id>
|
|
43620
44866
|
hyperline wallets load --id <id> --type <type> --amount <amount>
|
|
@@ -43633,12 +44879,20 @@ Examples:
|
|
|
43633
44879
|
args.comment = opts.comment;
|
|
43634
44880
|
if (opts.documentStatus !== void 0)
|
|
43635
44881
|
args.document_status = opts.documentStatus;
|
|
44882
|
+
if (opts.transactionId !== void 0)
|
|
44883
|
+
args.transaction_id = opts.transactionId;
|
|
44884
|
+
if (opts.invoiceId !== void 0)
|
|
44885
|
+
args.invoice_id = opts.invoiceId;
|
|
44886
|
+
if (opts.date !== void 0)
|
|
44887
|
+
args.date = opts.date;
|
|
43636
44888
|
if (opts.bankAccountId !== void 0)
|
|
43637
44889
|
args.bank_account_id = opts.bankAccountId;
|
|
43638
44890
|
if (opts.reference !== void 0)
|
|
43639
44891
|
args.reference = opts.reference;
|
|
43640
44892
|
if (opts.amount !== void 0)
|
|
43641
44893
|
args.amount = Number(opts.amount);
|
|
44894
|
+
if (opts.invoiceLineItemIds !== void 0)
|
|
44895
|
+
args.invoice_line_item_ids = JSON.parse(opts.invoiceLineItemIds);
|
|
43642
44896
|
await ctx.execute({
|
|
43643
44897
|
method: "POST",
|
|
43644
44898
|
path: "/v1/wallets/{id}/load",
|
|
@@ -43749,7 +45003,7 @@ Examples:
|
|
|
43749
45003
|
queryParamKeys: []
|
|
43750
45004
|
});
|
|
43751
45005
|
});
|
|
43752
|
-
resource.command("create-webhook-endpoint").description(`Create a new webhook endpoint with a URL and list of event types to subscribe to.`).option("--description <value>", `Webhook endpoint description.`).requiredOption("--url <value>", `Webhook endpoint URL.`).option("--secret <value>", `Webhook endpoint verification secret (base64 encoded random bytes). If not defined, a secret is automatically generated and only accessible in the UI.`).option("--rate-limit <number>", `Webhook rate limit (per second).`).option("--event-types <
|
|
45006
|
+
resource.command("create-webhook-endpoint").description(`Create a new webhook endpoint with a URL and list of event types to subscribe to.`).option("--description <value>", `Webhook endpoint description.`).requiredOption("--url <value>", `Webhook endpoint URL.`).option("--secret <value>", `Webhook endpoint verification secret (base64 encoded random bytes). If not defined, a secret is automatically generated and only accessible in the UI.`).option("--rate-limit <number>", `Webhook rate limit (per second).`).option("--event-types <json>", `Webhook event types filter. If not defined, all event messages will be sent.`).addHelpText("after", `
|
|
43753
45007
|
Examples:
|
|
43754
45008
|
hyperline webhooks create-webhook-endpoint --url <url>
|
|
43755
45009
|
hyperline webhooks create-webhook-endpoint --url <url> --description <description> --secret <secret>
|
|
@@ -43766,10 +45020,10 @@ Examples:
|
|
|
43766
45020
|
args.url = opts.url;
|
|
43767
45021
|
if (opts.secret !== void 0)
|
|
43768
45022
|
args.secret = opts.secret;
|
|
43769
|
-
if (opts.eventTypes !== void 0)
|
|
43770
|
-
args.event_types = opts.eventTypes;
|
|
43771
45023
|
if (opts.rateLimit !== void 0)
|
|
43772
45024
|
args.rate_limit = Number(opts.rateLimit);
|
|
45025
|
+
if (opts.eventTypes !== void 0)
|
|
45026
|
+
args.event_types = JSON.parse(opts.eventTypes);
|
|
43773
45027
|
await ctx.execute({
|
|
43774
45028
|
method: "POST",
|
|
43775
45029
|
path: "/v1/webhooks/endpoints",
|
|
@@ -43777,7 +45031,7 @@ Examples:
|
|
|
43777
45031
|
queryParamKeys: []
|
|
43778
45032
|
});
|
|
43779
45033
|
});
|
|
43780
|
-
resource.command("update-webhook-endpoint").description(`Update a webhook endpoint's URL, subscribed events, or enabled status.`).requiredOption("--id <value>", `id parameter`).option("--description <value>", `Webhook endpoint description.`).requiredOption("--url <value>", `Webhook endpoint URL.`).option("--rate-limit <number>", `Webhook rate limit (per second).`).option("--event-types <
|
|
45034
|
+
resource.command("update-webhook-endpoint").description(`Update a webhook endpoint's URL, subscribed events, or enabled status.`).requiredOption("--id <value>", `id parameter`).option("--description <value>", `Webhook endpoint description.`).requiredOption("--url <value>", `Webhook endpoint URL.`).option("--rate-limit <number>", `Webhook rate limit (per second).`).option("--event-types <json>", `Webhook event types filter. If not defined, all event messages will be sent.`).addHelpText("after", `
|
|
43781
45035
|
Examples:
|
|
43782
45036
|
hyperline webhooks update-webhook-endpoint --id <id> --url <url>
|
|
43783
45037
|
hyperline webhooks update-webhook-endpoint --id <id> --url <url> --description <description> --rate-limit <rate_limit>
|
|
@@ -43794,10 +45048,10 @@ Examples:
|
|
|
43794
45048
|
args.description = opts.description;
|
|
43795
45049
|
if (opts.url !== void 0)
|
|
43796
45050
|
args.url = opts.url;
|
|
43797
|
-
if (opts.eventTypes !== void 0)
|
|
43798
|
-
args.event_types = opts.eventTypes;
|
|
43799
45051
|
if (opts.rateLimit !== void 0)
|
|
43800
45052
|
args.rate_limit = Number(opts.rateLimit);
|
|
45053
|
+
if (opts.eventTypes !== void 0)
|
|
45054
|
+
args.event_types = JSON.parse(opts.eventTypes);
|
|
43801
45055
|
await ctx.execute({
|
|
43802
45056
|
method: "PUT",
|
|
43803
45057
|
path: "/v1/webhooks/endpoints/{id}",
|
|
@@ -43831,7 +45085,7 @@ Examples:
|
|
|
43831
45085
|
queryParamKeys: []
|
|
43832
45086
|
});
|
|
43833
45087
|
});
|
|
43834
|
-
resource.command("list-webhook-messages").description(`List webhook messages sent across all endpoints. Filterable by event_types, before/after dates. Payloads are expunged after 90 days. Uses cursor-based pagination.`).option("--before <value>", `Date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--after <value>", `Date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--event-types <
|
|
45088
|
+
resource.command("list-webhook-messages").description(`List webhook messages sent across all endpoints. Filterable by event_types, before/after dates. Payloads are expunged after 90 days. Uses cursor-based pagination.`).option("--before <value>", `Date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--after <value>", `Date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--event-types <json>", `Event types to consider.`).option("--limit <number>", `limit`).option("--iterator <value>", `iterator`).addHelpText("after", `
|
|
43835
45089
|
Examples:
|
|
43836
45090
|
hyperline webhooks list-webhook-messages
|
|
43837
45091
|
hyperline webhooks list-webhook-messages --before <before> --after <after>`).action(async (opts) => {
|
|
@@ -43845,12 +45099,12 @@ Examples:
|
|
|
43845
45099
|
args.before = opts.before;
|
|
43846
45100
|
if (opts.after !== void 0)
|
|
43847
45101
|
args.after = opts.after;
|
|
43848
|
-
if (opts.eventTypes !== void 0)
|
|
43849
|
-
args.event_types = opts.eventTypes;
|
|
43850
45102
|
if (opts.iterator !== void 0)
|
|
43851
45103
|
args.iterator = opts.iterator;
|
|
43852
45104
|
if (opts.limit !== void 0)
|
|
43853
45105
|
args.limit = Number(opts.limit);
|
|
45106
|
+
if (opts.eventTypes !== void 0)
|
|
45107
|
+
args.event_types = JSON.parse(opts.eventTypes);
|
|
43854
45108
|
await ctx.execute({
|
|
43855
45109
|
method: "GET",
|
|
43856
45110
|
path: "/v1/webhooks/messages",
|
|
@@ -43862,6 +45116,12 @@ Examples:
|
|
|
43862
45116
|
|
|
43863
45117
|
// build/commands/generated/index.js
|
|
43864
45118
|
function registerAllCommands(program2) {
|
|
45119
|
+
registerAccounting_Journal_EntriesCommands(program2);
|
|
45120
|
+
registerAccounting_LedgersCommands(program2);
|
|
45121
|
+
registerAccounting_AccountsCommands(program2);
|
|
45122
|
+
registerAccounting_ReportsCommands(program2);
|
|
45123
|
+
registerAccounting_Revenue_RecognitionCommands(program2);
|
|
45124
|
+
registerAccounting_RulesCommands(program2);
|
|
43865
45125
|
registerCustom_PropertiesCommands(program2);
|
|
43866
45126
|
registerAnalyticsCommands(program2);
|
|
43867
45127
|
registerBank_AccountsCommands(program2);
|
|
@@ -59882,6 +61142,7 @@ var de = {
|
|
|
59882
61142
|
"invoices.prorata.paymentForItemFullPeriod": "Zahlung f\xFCr",
|
|
59883
61143
|
"invoices.prorata.refundForItem": "Anteilig erstatteter Betrag f\xFCr",
|
|
59884
61144
|
"invoices.prorata.refundForItemFullPeriod": "Erstattung f\xFCr",
|
|
61145
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 abgelaufenes Guthaben",
|
|
59885
61146
|
"subscriptions.closingChargeName": "Abschlussgeb\xFChr f\xFCr das Abonnement",
|
|
59886
61147
|
"subscriptions.correction": "Vorperiodische Anpassung",
|
|
59887
61148
|
"subscriptions.updates.addCoupon": "Gutschein hinzuf\xFCgen {{couponName}}",
|
|
@@ -59913,6 +61174,7 @@ var en = {
|
|
|
59913
61174
|
"invoices.prorata.paymentForItemFullPeriod": "Payment for",
|
|
59914
61175
|
"invoices.prorata.refundForItem": "Prorated refund for",
|
|
59915
61176
|
"invoices.prorata.refundForItemFullPeriod": "Refund for",
|
|
61177
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 expired balance",
|
|
59916
61178
|
"subscriptions.closingChargeName": "Closing fee for subscription",
|
|
59917
61179
|
"subscriptions.correction": "Adjustment previous period",
|
|
59918
61180
|
"subscriptions.updates.addCoupon": "Add coupon {{couponName}}",
|
|
@@ -59972,6 +61234,7 @@ var es = {
|
|
|
59972
61234
|
"invoices.prorata.paymentForItemFullPeriod": "Pago por",
|
|
59973
61235
|
"invoices.prorata.refundForItem": "Reembolso prorrateado por",
|
|
59974
61236
|
"invoices.prorata.refundForItemFullPeriod": "Reembolso por",
|
|
61237
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo caducado",
|
|
59975
61238
|
"subscriptions.closingChargeName": "Cargo por cierre de suscripci\xF3n",
|
|
59976
61239
|
"subscriptions.correction": "Ajuste del periodo anterior",
|
|
59977
61240
|
"subscriptions.updates.addCoupon": "A\xF1adir cup\xF3n {{couponName}}",
|
|
@@ -60017,6 +61280,7 @@ var fr = {
|
|
|
60017
61280
|
"invoices.prorata.paymentForItemFullPeriod": "Paiement pour",
|
|
60018
61281
|
"invoices.prorata.refundForItem": "Remboursement au prorata pour",
|
|
60019
61282
|
"invoices.prorata.refundForItemFullPeriod": "Remboursement pour",
|
|
61283
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 solde expir\xE9",
|
|
60020
61284
|
"subscriptions.closingChargeName": "Frais de cl\xF4ture pour abonnement",
|
|
60021
61285
|
"subscriptions.correction": "Ajustement p\xE9riode pr\xE9c\xE9dente",
|
|
60022
61286
|
"subscriptions.updates.addCoupon": "Ajout du coupon {{couponName}}",
|
|
@@ -60062,6 +61326,7 @@ var it = {
|
|
|
60062
61326
|
"invoices.prorata.paymentForItemFullPeriod": "Pagamento per",
|
|
60063
61327
|
"invoices.prorata.refundForItem": "Rimborso proporzionale per",
|
|
60064
61328
|
"invoices.prorata.refundForItemFullPeriod": "Rimborso per",
|
|
61329
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo scaduto",
|
|
60065
61330
|
"subscriptions.closingChargeName": "Costo di chiusura per abbonamento",
|
|
60066
61331
|
"subscriptions.correction": "Correzione periodo precedente",
|
|
60067
61332
|
"subscriptions.updates.addCoupon": "Aggiungi coupon {{couponName}}",
|
|
@@ -60107,6 +61372,7 @@ var nl = {
|
|
|
60107
61372
|
"invoices.prorata.paymentForItemFullPeriod": "Betaling voor",
|
|
60108
61373
|
"invoices.prorata.refundForItem": "Gedeeltelijke terugbetaling voor",
|
|
60109
61374
|
"invoices.prorata.refundForItemFullPeriod": "Terugbetaling voor",
|
|
61375
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 verlopen saldo",
|
|
60110
61376
|
"subscriptions.closingChargeName": "Afsluitkosten voor abonnement",
|
|
60111
61377
|
"subscriptions.correction": "Aanpassing vorige periode",
|
|
60112
61378
|
"subscriptions.updates.addCoupon": "Coupon toevoegen {{couponName}}",
|
|
@@ -60152,6 +61418,7 @@ var pl = {
|
|
|
60152
61418
|
"invoices.prorata.paymentForItemFullPeriod": "P\u0142atno\u015B\u0107 za",
|
|
60153
61419
|
"invoices.prorata.refundForItem": "Zwrot proporcjonalny za",
|
|
60154
61420
|
"invoices.prorata.refundForItemFullPeriod": "Zwrot za",
|
|
61421
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 wygas\u0142e saldo",
|
|
60155
61422
|
"subscriptions.closingChargeName": "Op\u0142ata za zamkni\u0119cie subskrypcji",
|
|
60156
61423
|
"subscriptions.correction": "Korekta poprzedniego okresu",
|
|
60157
61424
|
"subscriptions.updates.addCoupon": "Dodaj kupon {{couponName}}",
|
|
@@ -60197,6 +61464,7 @@ var pt = {
|
|
|
60197
61464
|
"invoices.prorata.paymentForItemFullPeriod": "Pagamento por",
|
|
60198
61465
|
"invoices.prorata.refundForItem": "Reembolso proporcional por",
|
|
60199
61466
|
"invoices.prorata.refundForItemFullPeriod": "Reembolso por",
|
|
61467
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo expirado",
|
|
60200
61468
|
"subscriptions.closingChargeName": "Taxa de encerramento da assinatura",
|
|
60201
61469
|
"subscriptions.correction": "Ajuste do per\xEDodo anterior",
|
|
60202
61470
|
"subscriptions.updates.addCoupon": "Adicionar cupom {{couponName}}",
|
|
@@ -62917,6 +64185,7 @@ var import_shared3 = __toESM(require_shared(), 1);
|
|
|
62917
64185
|
import * as https from "node:https";
|
|
62918
64186
|
|
|
62919
64187
|
// ../hyperline-lib/build/utils/json.js
|
|
64188
|
+
import { createHash as createHash2 } from "node:crypto";
|
|
62920
64189
|
import { deepEqual } from "fast-equals";
|
|
62921
64190
|
|
|
62922
64191
|
// ../hyperline-lib/build/utils/api/filterBuilder.js
|
|
@@ -62969,7 +64238,7 @@ import { RateLimiterRedis as RateLimiterRedis2, RateLimiterRes as RateLimiterRes
|
|
|
62969
64238
|
import multer from "multer";
|
|
62970
64239
|
|
|
62971
64240
|
// ../hyperline-lib/build/http/middlewares/idempotency.js
|
|
62972
|
-
import { createHash as
|
|
64241
|
+
import { createHash as createHash3 } from "node:crypto";
|
|
62973
64242
|
import { isDeepStrictEqual } from "node:util";
|
|
62974
64243
|
import { idempotency } from "express-idempotency";
|
|
62975
64244
|
|