@hyperline/cli 0.1.0-build.1.559c845 → 0.1.0-build.1.563460d
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 +438 -63
- package/dist/external-deps.json +1 -0
- package/package.json +2 -1
|
@@ -34894,10 +34894,10 @@ var require_shared = __commonJS({
|
|
|
34894
34894
|
ZodId: () => ZodId,
|
|
34895
34895
|
ZodTranslationsSchemaFn: () => ZodTranslationsSchemaFn
|
|
34896
34896
|
});
|
|
34897
|
-
var
|
|
34897
|
+
var import_zod19 = require_lib();
|
|
34898
34898
|
var countryIds2 = ["all", ...countries.map(({ id }) => id)];
|
|
34899
|
-
var ZodId =
|
|
34900
|
-
var ZodTranslationsSchemaFn = (schema) =>
|
|
34899
|
+
var ZodId = import_zod19.z.enum(countryIds2);
|
|
34900
|
+
var ZodTranslationsSchemaFn = (schema) => import_zod19.z.record(import_zod19.z.string(), schema.optional());
|
|
34901
34901
|
var UsStates = [
|
|
34902
34902
|
{ id: "AA", name: "Armed Forces Americas" },
|
|
34903
34903
|
{ id: "AE", name: "Armed Forces Europe" },
|
|
@@ -38020,7 +38020,7 @@ Examples:
|
|
|
38020
38020
|
queryParamKeys: ["take", "skip"]
|
|
38021
38021
|
});
|
|
38022
38022
|
});
|
|
38023
|
-
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 <value>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).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", `
|
|
38023
|
+
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 <value>", `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 <value>", `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", `
|
|
38024
38024
|
Examples:
|
|
38025
38025
|
hyperline coupons create --name <name> --type <type>
|
|
38026
38026
|
hyperline coupons create --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -38039,6 +38039,10 @@ Examples:
|
|
|
38039
38039
|
args.expiration_date = opts.expirationDate;
|
|
38040
38040
|
if (opts.productIds !== void 0)
|
|
38041
38041
|
args.product_ids = opts.productIds;
|
|
38042
|
+
if (opts.repeat !== void 0)
|
|
38043
|
+
args.repeat = opts.repeat;
|
|
38044
|
+
if (opts.duration !== void 0)
|
|
38045
|
+
args.duration = opts.duration;
|
|
38042
38046
|
if (opts.type !== void 0)
|
|
38043
38047
|
args.type = opts.type;
|
|
38044
38048
|
if (opts.currency !== void 0)
|
|
@@ -38074,7 +38078,7 @@ Examples:
|
|
|
38074
38078
|
queryParamKeys: []
|
|
38075
38079
|
});
|
|
38076
38080
|
});
|
|
38077
|
-
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 <value>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).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", `
|
|
38081
|
+
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 <value>", `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 <value>", `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", `
|
|
38078
38082
|
Examples:
|
|
38079
38083
|
hyperline coupons update --id <id> --name <name> --type <type>
|
|
38080
38084
|
hyperline coupons update --id <id> --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -38095,6 +38099,10 @@ Examples:
|
|
|
38095
38099
|
args.expiration_date = opts.expirationDate;
|
|
38096
38100
|
if (opts.productIds !== void 0)
|
|
38097
38101
|
args.product_ids = opts.productIds;
|
|
38102
|
+
if (opts.repeat !== void 0)
|
|
38103
|
+
args.repeat = opts.repeat;
|
|
38104
|
+
if (opts.duration !== void 0)
|
|
38105
|
+
args.duration = opts.duration;
|
|
38098
38106
|
if (opts.type !== void 0)
|
|
38099
38107
|
args.type = opts.type;
|
|
38100
38108
|
if (opts.currency !== void 0)
|
|
@@ -38429,16 +38437,24 @@ Examples:
|
|
|
38429
38437
|
// build/commands/generated/customers.js
|
|
38430
38438
|
function registerCustomersCommands(parent) {
|
|
38431
38439
|
const resource = parent.command("customers").description("Manage customers");
|
|
38432
|
-
resource.command("list").description(`List customers with optional filters for name, type, status, currency, country, external_id, billing_email, search, tax_id, subscription_status, invoicing_entity_id, segment_id, custom_properties, payment_method_type, created_at, updated_at. Paginated with
|
|
38440
|
+
resource.command("list").description(`List customers with optional filters for name, type, status, currency, country, external_id, billing_email, search, tax_id, subscription_status, invoicing_entity_id, segment_id, custom_properties, payment_method_type, integration_entity_id, created_at, and updated_at. Sortable by created_at or updated_at. Paginated with limit/cursor.`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.is-null <value>", `name__isNull`).option("--name.is-not-null <value>", `name__isNotNull`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--type <value>", `type`).option("--type.in <value>", `type__in`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--currency <value>", `currency`).option("--currency.not <value>", `currency__not`).option("--currency.is-null <value>", `currency__isNull`).option("--currency.is-not-null <value>", `currency__isNotNull`).option("--currency.equals <value>", `currency__equals`).option("--currency.contains <value>", `currency__contains`).option("--currency.starts-with <value>", `currency__startsWith`).option("--currency.end-with <value>", `currency__endWith`).option("--country <value>", `country`).option("--country.not <value>", `country__not`).option("--country.is-null <value>", `country__isNull`).option("--country.is-not-null <value>", `country__isNotNull`).option("--country.equals <value>", `country__equals`).option("--country.contains <value>", `country__contains`).option("--country.starts-with <value>", `country__startsWith`).option("--country.end-with <value>", `country__endWith`).option("--external-id <value>", `external_id`).option("--external-id.not <value>", `external_id__not`).option("--external-id.is-null <value>", `external_id__isNull`).option("--external-id.is-not-null <value>", `external_id__isNotNull`).option("--external-id.equals <value>", `external_id__equals`).option("--external-id.contains <value>", `external_id__contains`).option("--external-id.starts-with <value>", `external_id__startsWith`).option("--external-id.end-with <value>", `external_id__endWith`).option("--billing-email <value>", `billing_email`).option("--billing-email.not <value>", `billing_email__not`).option("--billing-email.is-null <value>", `billing_email__isNull`).option("--billing-email.is-not-null <value>", `billing_email__isNotNull`).option("--billing-email.equals <value>", `billing_email__equals`).option("--billing-email.contains <value>", `billing_email__contains`).option("--billing-email.starts-with <value>", `billing_email__startsWith`).option("--billing-email.end-with <value>", `billing_email__endWith`).option("--search <value>", `search`).option("--tax-id <value>", `tax_id`).option("--tax-id.not <value>", `tax_id__not`).option("--tax-id.is-null <value>", `tax_id__isNull`).option("--tax-id.is-not-null <value>", `tax_id__isNotNull`).option("--tax-id.equals <value>", `tax_id__equals`).option("--tax-id.contains <value>", `tax_id__contains`).option("--tax-id.starts-with <value>", `tax_id__startsWith`).option("--tax-id.end-with <value>", `tax_id__endWith`).option("--subscription-status <value>", `subscription_status`).option("--subscription-status.in <value>", `subscription_status__in`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--invoicing-entity-id.not <value>", `invoicing_entity_id__not`).option("--invoicing-entity-id.is-null <value>", `invoicing_entity_id__isNull`).option("--invoicing-entity-id.is-not-null <value>", `invoicing_entity_id__isNotNull`).option("--invoicing-entity-id.equals <value>", `invoicing_entity_id__equals`).option("--invoicing-entity-id.contains <value>", `invoicing_entity_id__contains`).option("--invoicing-entity-id.starts-with <value>", `invoicing_entity_id__startsWith`).option("--invoicing-entity-id.end-with <value>", `invoicing_entity_id__endWith`).option("--segment-id <value>", `segment_id`).option("--custom-properties <value>", `custom_properties`).option("--payment-method-type <value>", `payment_method_type`).option("--payment-method-type.in <value>", `payment_method_type__in`).option("--integration-entity-id <value>", `integration_entity_id`).option("--created-at <value>", `created_at`).option("--created-at.not <value>", `created_at__not`).option("--created-at.is-null <value>", `created_at__isNull`).option("--created-at.is-not-null <value>", `created_at__isNotNull`).option("--created-at.equals <value>", `created_at__equals`).option("--created-at.lt <value>", `created_at__lt`).option("--created-at.lte <value>", `created_at__lte`).option("--created-at.gt <value>", `created_at__gt`).option("--created-at.gte <value>", `created_at__gte`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.is-null <value>", `updated_at__isNull`).option("--updated-at.is-not-null <value>", `updated_at__isNotNull`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
38433
38441
|
Examples:
|
|
38434
38442
|
hyperline customers list
|
|
38435
|
-
hyperline customers list --
|
|
38443
|
+
hyperline customers list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
38436
38444
|
const ctx = resource.parent?.opts()._ctx;
|
|
38437
38445
|
if (!ctx) {
|
|
38438
38446
|
process.stderr.write("Error: Not authenticated\n");
|
|
38439
38447
|
process.exit(1);
|
|
38440
38448
|
}
|
|
38441
38449
|
const args = {};
|
|
38450
|
+
if (opts.cursor !== void 0)
|
|
38451
|
+
args.cursor = opts.cursor;
|
|
38452
|
+
if (opts.includeTotal !== void 0)
|
|
38453
|
+
args.include_total = opts.includeTotal;
|
|
38454
|
+
if (opts.order !== void 0)
|
|
38455
|
+
args.order = opts.order;
|
|
38456
|
+
if (opts.sort !== void 0)
|
|
38457
|
+
args.sort = opts.sort;
|
|
38442
38458
|
if (opts.name !== void 0)
|
|
38443
38459
|
args.name = opts.name;
|
|
38444
38460
|
if (opts["name.not"] !== void 0)
|
|
@@ -38611,17 +38627,18 @@ Examples:
|
|
|
38611
38627
|
args.updated_at__gt = opts["updatedAt.gt"];
|
|
38612
38628
|
if (opts["updatedAt.gte"] !== void 0)
|
|
38613
38629
|
args.updated_at__gte = opts["updatedAt.gte"];
|
|
38614
|
-
if (opts.
|
|
38615
|
-
args.
|
|
38616
|
-
if (opts.skip !== void 0)
|
|
38617
|
-
args.skip = Number(opts.skip);
|
|
38630
|
+
if (opts.limit !== void 0)
|
|
38631
|
+
args.limit = Number(opts.limit);
|
|
38618
38632
|
await ctx.execute({
|
|
38619
38633
|
method: "GET",
|
|
38620
|
-
path: "/
|
|
38634
|
+
path: "/v2/customers",
|
|
38621
38635
|
args,
|
|
38622
38636
|
queryParamKeys: [
|
|
38623
|
-
"
|
|
38624
|
-
"
|
|
38637
|
+
"limit",
|
|
38638
|
+
"cursor",
|
|
38639
|
+
"include_total",
|
|
38640
|
+
"order",
|
|
38641
|
+
"sort",
|
|
38625
38642
|
"name",
|
|
38626
38643
|
"name__not",
|
|
38627
38644
|
"name__isNull",
|
|
@@ -38711,19 +38728,41 @@ Examples:
|
|
|
38711
38728
|
]
|
|
38712
38729
|
});
|
|
38713
38730
|
});
|
|
38731
|
+
resource.command("get").description(`Retrieve full details of a customer by ID including billing info, address, subscriptions, custom properties, integrations, payment method, and bank account.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38732
|
+
Examples:
|
|
38733
|
+
hyperline customers get --id <id>`).action(async (opts) => {
|
|
38734
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38735
|
+
if (!ctx) {
|
|
38736
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38737
|
+
process.exit(1);
|
|
38738
|
+
}
|
|
38739
|
+
const args = {};
|
|
38740
|
+
if (opts.id !== void 0)
|
|
38741
|
+
args.id = opts.id;
|
|
38742
|
+
await ctx.execute({
|
|
38743
|
+
method: "GET",
|
|
38744
|
+
path: "/v2/customers/{id}",
|
|
38745
|
+
args,
|
|
38746
|
+
queryParamKeys: []
|
|
38747
|
+
});
|
|
38748
|
+
});
|
|
38714
38749
|
resource.command("create-customer").description(`Create a new customer with billing details, address, currency, and optional provider mappings. Returns the full customer object.`).option("--name <value>", `Customer name.`).option("--type <value>", `
|
|
38715
38750
|
Customer type.
|
|
38716
38751
|
|
|
38717
38752
|
- \`corporate\`: The customer is a business entity.
|
|
38718
38753
|
- \`person\`: The customer is a natural person.
|
|
38719
38754
|
- \`automatically_created\`: The customer was automatically imported (e.g. from a data loader). This value cannot be used when creating/editing.
|
|
38720
|
-
`).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 <value>", `Customer tax IDs.`).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("--
|
|
38755
|
+
`).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 <value>", `Customer tax IDs.`).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.
|
|
38756
|
+
|
|
38757
|
+
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38758
|
+
- \`exempt\`: The customer is exempt from tax.
|
|
38759
|
+
`).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("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `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 <value>", `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 <value>", `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>", `
|
|
38721
38760
|
How customer invoices are issued from the parent organisation.
|
|
38722
38761
|
|
|
38723
38762
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38724
38763
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38725
38764
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
38726
|
-
`).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `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.`).addHelpText("after", `
|
|
38765
|
+
`).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `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 <value>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
38727
38766
|
Examples:
|
|
38728
38767
|
hyperline customers create-customer
|
|
38729
38768
|
hyperline customers create-customer --name <name> --type <type>
|
|
@@ -38742,6 +38781,8 @@ Examples:
|
|
|
38742
38781
|
args.currency = opts.currency;
|
|
38743
38782
|
if (opts.taxIds !== void 0)
|
|
38744
38783
|
args.tax_ids = opts.taxIds;
|
|
38784
|
+
if (opts.taxability !== void 0)
|
|
38785
|
+
args.taxability = opts.taxability;
|
|
38745
38786
|
if (opts.registrationNumber !== void 0)
|
|
38746
38787
|
args.registration_number = opts.registrationNumber;
|
|
38747
38788
|
if (opts.externalId !== void 0)
|
|
@@ -38778,6 +38819,10 @@ Examples:
|
|
|
38778
38819
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38779
38820
|
if (opts.priceBookId !== void 0)
|
|
38780
38821
|
args.price_book_id = opts.priceBookId;
|
|
38822
|
+
if (opts.ownerId !== void 0)
|
|
38823
|
+
args.owner_id = opts.ownerId;
|
|
38824
|
+
if (opts.followerIds !== void 0)
|
|
38825
|
+
args.follower_ids = opts.followerIds;
|
|
38781
38826
|
if (opts.taxRateCustom !== void 0)
|
|
38782
38827
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38783
38828
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -38812,24 +38857,6 @@ Examples:
|
|
|
38812
38857
|
queryParamKeys: []
|
|
38813
38858
|
});
|
|
38814
38859
|
});
|
|
38815
|
-
resource.command("get").description(`Retrieve full details of a customer by ID including billing info, address, subscriptions, custom properties, and provider mappings.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38816
|
-
Examples:
|
|
38817
|
-
hyperline customers get --id <id>`).action(async (opts) => {
|
|
38818
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
38819
|
-
if (!ctx) {
|
|
38820
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
38821
|
-
process.exit(1);
|
|
38822
|
-
}
|
|
38823
|
-
const args = {};
|
|
38824
|
-
if (opts.id !== void 0)
|
|
38825
|
-
args.id = opts.id;
|
|
38826
|
-
await ctx.execute({
|
|
38827
|
-
method: "GET",
|
|
38828
|
-
path: "/v1/customers/{id}",
|
|
38829
|
-
args,
|
|
38830
|
-
queryParamKeys: []
|
|
38831
|
-
});
|
|
38832
|
-
});
|
|
38833
38860
|
resource.command("get-customer-portal-url").description(`Get a portal URL for a customer. The portal allows the customer to view invoices, update payment methods, and manage their account.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38834
38861
|
Examples:
|
|
38835
38862
|
hyperline customers get-customer-portal-url --id <id>`).action(async (opts) => {
|
|
@@ -38854,13 +38881,17 @@ Customer type.
|
|
|
38854
38881
|
- \`corporate\`: The customer is a business entity.
|
|
38855
38882
|
- \`person\`: The customer is a natural person.
|
|
38856
38883
|
- \`automatically_created\`: The customer was automatically imported (e.g. from a data loader). This value cannot be used when creating/editing.
|
|
38857
|
-
`).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 <value>", `Customer tax IDs.`).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("--
|
|
38884
|
+
`).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 <value>", `Customer tax IDs.`).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.
|
|
38885
|
+
|
|
38886
|
+
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38887
|
+
- \`exempt\`: The customer is exempt from tax.
|
|
38888
|
+
`).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("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `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 <value>", `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 <value>", `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>", `
|
|
38858
38889
|
How customer invoices are issued from the parent organisation.
|
|
38859
38890
|
|
|
38860
38891
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38861
38892
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38862
38893
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
38863
|
-
`).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `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.`).addHelpText("after", `
|
|
38894
|
+
`).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `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 <value>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
|
|
38864
38895
|
Examples:
|
|
38865
38896
|
hyperline customers update --id <id>
|
|
38866
38897
|
hyperline customers update --id <id> --name <name> --type <type>
|
|
@@ -38881,6 +38912,8 @@ Examples:
|
|
|
38881
38912
|
args.currency = opts.currency;
|
|
38882
38913
|
if (opts.taxIds !== void 0)
|
|
38883
38914
|
args.tax_ids = opts.taxIds;
|
|
38915
|
+
if (opts.taxability !== void 0)
|
|
38916
|
+
args.taxability = opts.taxability;
|
|
38884
38917
|
if (opts.registrationNumber !== void 0)
|
|
38885
38918
|
args.registration_number = opts.registrationNumber;
|
|
38886
38919
|
if (opts.externalId !== void 0)
|
|
@@ -38919,6 +38952,10 @@ Examples:
|
|
|
38919
38952
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38920
38953
|
if (opts.priceBookId !== void 0)
|
|
38921
38954
|
args.price_book_id = opts.priceBookId;
|
|
38955
|
+
if (opts.ownerId !== void 0)
|
|
38956
|
+
args.owner_id = opts.ownerId;
|
|
38957
|
+
if (opts.followerIds !== void 0)
|
|
38958
|
+
args.follower_ids = opts.followerIds;
|
|
38922
38959
|
if (opts.taxRateCustom !== void 0)
|
|
38923
38960
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38924
38961
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -39583,6 +39620,7 @@ Export name.
|
|
|
39583
39620
|
- \`draft_invoices\`: Export all draft invoices, with customer and product information.
|
|
39584
39621
|
- \`open_invoices\`: Export all open invoices, with customer and product information.
|
|
39585
39622
|
- \`live_subscriptions\`: List of all active subscriptions line by line.
|
|
39623
|
+
- \`credit_balances\`: Monthly credit balance roll-forward per customer and credit type (opening, top-ups, consumption, expiry, closing).
|
|
39586
39624
|
`).requiredOption("--file-type <value>", `
|
|
39587
39625
|
Export file type.
|
|
39588
39626
|
|
|
@@ -40175,7 +40213,7 @@ Payment method strategy used to charge the invoice. Only applies to \`to_pay\` s
|
|
|
40175
40213
|
|
|
40176
40214
|
- \`current\`: Use the current default payment method of the customer.
|
|
40177
40215
|
- \`external\`: Manage the payment of the invoice outside of Hyperline.
|
|
40178
|
-
`).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 <value>", `Key/value pairs to store any metadata useful in your context.`).requiredOption("--line-items <value>", `line_items`).option("--transactions <value>", `transactions`).option("--coupons <value>", `coupons`).addHelpText("after", `
|
|
40216
|
+
`).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 <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `Values for custom properties defined for the \`invoice\` entity, keyed by slug.`).requiredOption("--line-items <value>", `line_items`).option("--transactions <value>", `transactions`).option("--coupons <value>", `coupons`).addHelpText("after", `
|
|
40179
40217
|
Examples:
|
|
40180
40218
|
hyperline invoices create-invoice --customer-id <customer_id> --line-items <line_items>
|
|
40181
40219
|
hyperline invoices create-invoice --customer-id <customer_id> --line-items <line_items> --currency <currency> --status <status>
|
|
@@ -40228,6 +40266,8 @@ Examples:
|
|
|
40228
40266
|
args.settled_at = opts.settledAt;
|
|
40229
40267
|
if (opts.properties !== void 0)
|
|
40230
40268
|
args.properties = opts.properties;
|
|
40269
|
+
if (opts.customProperties !== void 0)
|
|
40270
|
+
args.custom_properties = opts.customProperties;
|
|
40231
40271
|
if (opts.lineItems !== void 0)
|
|
40232
40272
|
args.line_items = opts.lineItems;
|
|
40233
40273
|
if (opts.transactions !== void 0)
|
|
@@ -40241,10 +40281,15 @@ Examples:
|
|
|
40241
40281
|
queryParamKeys: []
|
|
40242
40282
|
});
|
|
40243
40283
|
});
|
|
40244
|
-
resource.command("create-credit-note").description(`Create a credit note for an existing invoice by ID. Credit notes partially or fully reverse an invoice amount.`).requiredOption("--id <value>", `id parameter`).option("--amount-including-tax <number>", `Amount of the credit note. If not specified, the amount will be computed from the original invoice.`).option("--status <value>", `Status of the credit note.
|
|
40284
|
+
resource.command("create-credit-note").description(`Create a credit note for an existing invoice by ID. Credit notes partially or fully reverse an invoice amount. Optionally trigger a refund via wallet, original payment method, or external settlement.`).requiredOption("--id <value>", `id parameter`).option("--amount-including-tax <number>", `Amount of the credit note. If not specified, the amount will be computed from the original invoice.`).option("--status <value>", `Status of the credit note.
|
|
40245
40285
|
|
|
40246
40286
|
- \`to_pay\`: Credit note is awaiting payment.
|
|
40247
40287
|
- \`draft\`: Credit note is in draft mode (not finalized yet).
|
|
40288
|
+
`).option("--trigger-refund", `Whether to trigger a refund for the credit note amount. Defaults to \`false\`. When \`true\`, the refund is issued using \`refund_method\`.`).option("--refund-method <value>", `How the refund should be settled. Only used when \`trigger_refund\` is \`true\`. Defaults to \`original_payment_method\`.
|
|
40289
|
+
|
|
40290
|
+
- \`wallet\`: Credit the customer's wallet with the refunded amount.
|
|
40291
|
+
- \`original_payment_method\`: Refund to the payment method used on the original invoice.
|
|
40292
|
+
- \`external\`: Mark the refund as settled externally (no automatic transfer).
|
|
40248
40293
|
`).addHelpText("after", `
|
|
40249
40294
|
Examples:
|
|
40250
40295
|
hyperline invoices create-credit-note --id <id>
|
|
@@ -40260,8 +40305,12 @@ Examples:
|
|
|
40260
40305
|
args.id = opts.id;
|
|
40261
40306
|
if (opts.status !== void 0)
|
|
40262
40307
|
args.status = opts.status;
|
|
40308
|
+
if (opts.refundMethod !== void 0)
|
|
40309
|
+
args.refund_method = opts.refundMethod;
|
|
40263
40310
|
if (opts.amountIncludingTax !== void 0)
|
|
40264
40311
|
args.amount_including_tax = Number(opts.amountIncludingTax);
|
|
40312
|
+
if (opts.triggerRefund !== void 0)
|
|
40313
|
+
args.trigger_refund = true;
|
|
40265
40314
|
await ctx.execute({
|
|
40266
40315
|
method: "POST",
|
|
40267
40316
|
path: "/v1/invoices/{id}/credit-notes",
|
|
@@ -40400,7 +40449,7 @@ Examples:
|
|
|
40400
40449
|
|
|
40401
40450
|
- \`auto\`: Tax is automatically computed and applied.
|
|
40402
40451
|
- \`not_eligible\`: Tax collection is disabled for the invoice.
|
|
40403
|
-
`).option("--line-items <value>", `line_items`).option("--coupons <value>", `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("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).option("--customer <value>", `Override customer details on the invoice. Only allowed for draft or grace period invoices.`).addHelpText("after", `
|
|
40452
|
+
`).option("--line-items <value>", `line_items`).option("--coupons <value>", `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("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `Values for custom properties defined for the \`invoice\` entity, keyed by slug.`).option("--customer <value>", `Override customer details on the invoice. Only allowed for draft or grace period invoices.`).addHelpText("after", `
|
|
40404
40453
|
Examples:
|
|
40405
40454
|
hyperline invoices update --id <id>
|
|
40406
40455
|
hyperline invoices update --id <id> --type <type> --document-name <document_name>
|
|
@@ -40441,6 +40490,8 @@ Examples:
|
|
|
40441
40490
|
args.bank_account_id = opts.bankAccountId;
|
|
40442
40491
|
if (opts.properties !== void 0)
|
|
40443
40492
|
args.properties = opts.properties;
|
|
40493
|
+
if (opts.customProperties !== void 0)
|
|
40494
|
+
args.custom_properties = opts.customProperties;
|
|
40444
40495
|
if (opts.customer !== void 0)
|
|
40445
40496
|
args.customer = opts.customer;
|
|
40446
40497
|
await ctx.execute({
|
|
@@ -40561,7 +40612,7 @@ Examples:
|
|
|
40561
40612
|
queryParamKeys: []
|
|
40562
40613
|
});
|
|
40563
40614
|
});
|
|
40564
|
-
resource.command("delete-invoice-transaction").description(`Delete a scheduled transaction from an invoice
|
|
40615
|
+
resource.command("delete-invoice-transaction").description(`Delete a scheduled transaction or wallet debit from an invoice.`).requiredOption("--id <value>", `id parameter`).requiredOption("--transaction-id <value>", `transactionId parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
40565
40616
|
Examples:
|
|
40566
40617
|
hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId>
|
|
40567
40618
|
hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId> --output json`).action(async (opts) => {
|
|
@@ -40633,7 +40684,7 @@ Examples:
|
|
|
40633
40684
|
queryParamKeys: []
|
|
40634
40685
|
});
|
|
40635
40686
|
});
|
|
40636
|
-
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.`).addHelpText("after", `
|
|
40687
|
+
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 for invoices under this invoicing entity. The default applies only when \`refund_method\` is omitted on \`POST /v1/invoices/{id}/credit-notes\`; an explicit \`refund_method\` always wins. Requires wallets to be enabled at the workspace level.`).addHelpText("after", `
|
|
40637
40688
|
Examples:
|
|
40638
40689
|
hyperline invoicing-entities create-invoicing-entity --name <name> --country <country> --currency <currency> --accounting-currency <accounting_currency>
|
|
40639
40690
|
hyperline invoicing-entities create-invoicing-entity --name <name> --country <country> --currency <currency> --accounting-currency <accounting_currency> --is-default --trade-name <trade_name>
|
|
@@ -40712,6 +40763,8 @@ Examples:
|
|
|
40712
40763
|
args.document_payment_initiation_delay = Number(opts.documentPaymentInitiationDelay);
|
|
40713
40764
|
if (opts.isDefault !== void 0)
|
|
40714
40765
|
args.is_default = true;
|
|
40766
|
+
if (opts.creditNoteWalletRefundEnabled !== void 0)
|
|
40767
|
+
args.credit_note_wallet_refund_enabled = true;
|
|
40715
40768
|
await ctx.execute({
|
|
40716
40769
|
method: "POST",
|
|
40717
40770
|
path: "/v1/invoicing-entities",
|
|
@@ -40719,7 +40772,7 @@ Examples:
|
|
|
40719
40772
|
queryParamKeys: []
|
|
40720
40773
|
});
|
|
40721
40774
|
});
|
|
40722
|
-
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.`).addHelpText("after", `
|
|
40775
|
+
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 for invoices under this invoicing entity. The default applies only when \`refund_method\` is omitted on \`POST /v1/invoices/{id}/credit-notes\`; an explicit \`refund_method\` always wins. Requires wallets to be enabled at the workspace level.`).addHelpText("after", `
|
|
40723
40776
|
Examples:
|
|
40724
40777
|
hyperline invoicing-entities update-invoicing-entity --id <id>
|
|
40725
40778
|
hyperline invoicing-entities update-invoicing-entity --id <id> --name <name> --registration-number <registration_number>
|
|
@@ -40790,6 +40843,8 @@ Examples:
|
|
|
40790
40843
|
args.document_payment_initiation_delay = Number(opts.documentPaymentInitiationDelay);
|
|
40791
40844
|
if (opts.isDefault !== void 0)
|
|
40792
40845
|
args.is_default = true;
|
|
40846
|
+
if (opts.creditNoteWalletRefundEnabled !== void 0)
|
|
40847
|
+
args.credit_note_wallet_refund_enabled = true;
|
|
40793
40848
|
await ctx.execute({
|
|
40794
40849
|
method: "PUT",
|
|
40795
40850
|
path: "/v1/invoicing-entities/{id}",
|
|
@@ -41358,18 +41413,18 @@ Examples:
|
|
|
41358
41413
|
// build/commands/generated/quotes.js
|
|
41359
41414
|
function registerQuotesCommands(parent) {
|
|
41360
41415
|
const resource = parent.command("quotes").description("Manage quotes");
|
|
41361
|
-
resource.command("create").description(`Create a new quote for a customer
|
|
41416
|
+
resource.command("create").description(`Create a new quote for a customer. Use \`subscription\` (or \`template_id\`) for subscription quotes; use \`invoice\` for one-off quotes backed by a draft invoice with line items. Quotes can be sent for signature and converted to subscriptions or one-off invoices. When creating from a quote template, do not combine \`template_id\` with subscription overrides for dates, contract terms, products, phases, coupons, discounts, prices, or seats in this call: first create the quote from \`template_id\` so template terms and contract documents are copied, then call \`update_quote\` with the subscription payload.`).option("--status <value>", `
|
|
41362
41417
|
Quote status.
|
|
41363
41418
|
|
|
41364
41419
|
- \`draft\`: The quote is a draft.
|
|
41365
41420
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
41366
41421
|
- \`pending_signature\`: The quote is awaiting the customer's signature.
|
|
41367
|
-
`).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.
|
|
41422
|
+
`).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 <value>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <value>", `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.
|
|
41368
41423
|
|
|
41369
41424
|
- \`all\`: Display all pricing tiers.
|
|
41370
41425
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
41371
41426
|
- \`none\`: Hide all pricing tiers.
|
|
41372
|
-
`).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("--template-id <value>", `ID of the quote template. If not specified, a subscription configuration 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 <value>", `Subscription configuration constituting the quote.`).addHelpText("after", `
|
|
41427
|
+
`).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 <value>", `Subscription configuration constituting the quote.`).option("--invoice <value>", `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", `
|
|
41373
41428
|
Examples:
|
|
41374
41429
|
hyperline quotes create --customer-id <customer_id>
|
|
41375
41430
|
hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
|
|
@@ -41396,6 +41451,8 @@ Examples:
|
|
|
41396
41451
|
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41397
41452
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
41398
41453
|
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41454
|
+
if (opts.contractClauseIds !== void 0)
|
|
41455
|
+
args.contract_clause_ids = opts.contractClauseIds;
|
|
41399
41456
|
if (opts.requireTaxId !== void 0)
|
|
41400
41457
|
args.require_tax_id = opts.requireTaxId;
|
|
41401
41458
|
if (opts.displayQuoteValue !== void 0)
|
|
@@ -41414,12 +41471,16 @@ Examples:
|
|
|
41414
41471
|
args.display_documents_in_preview = opts.displayDocumentsInPreview;
|
|
41415
41472
|
if (opts.displaySubscriptionOnUpdate !== void 0)
|
|
41416
41473
|
args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
|
|
41474
|
+
if (opts.generateDraftInvoices !== void 0)
|
|
41475
|
+
args.generate_draft_invoices = opts.generateDraftInvoices;
|
|
41417
41476
|
if (opts.templateId !== void 0)
|
|
41418
41477
|
args.template_id = opts.templateId;
|
|
41419
41478
|
if (opts.expiresAt !== void 0)
|
|
41420
41479
|
args.expires_at = opts.expiresAt;
|
|
41421
41480
|
if (opts.subscription !== void 0)
|
|
41422
41481
|
args.subscription = opts.subscription;
|
|
41482
|
+
if (opts.invoice !== void 0)
|
|
41483
|
+
args.invoice = opts.invoice;
|
|
41423
41484
|
if (opts.amount !== void 0)
|
|
41424
41485
|
args.amount = Number(opts.amount);
|
|
41425
41486
|
await ctx.execute({
|
|
@@ -41648,6 +41709,71 @@ Examples:
|
|
|
41648
41709
|
queryParamKeys: []
|
|
41649
41710
|
});
|
|
41650
41711
|
});
|
|
41712
|
+
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 <value>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <value>", `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.
|
|
41713
|
+
|
|
41714
|
+
- \`all\`: Display all pricing tiers.
|
|
41715
|
+
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
41716
|
+
- \`none\`: Hide all pricing tiers.
|
|
41717
|
+
`).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("--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 <value>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <value>", `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", `
|
|
41718
|
+
Examples:
|
|
41719
|
+
hyperline quotes update --id <id>
|
|
41720
|
+
hyperline quotes update --id <id> --owner-email <owner_email> --comments <comments>
|
|
41721
|
+
hyperline quotes update --id <id> --output json`).action(async (opts) => {
|
|
41722
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41723
|
+
if (!ctx) {
|
|
41724
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41725
|
+
process.exit(1);
|
|
41726
|
+
}
|
|
41727
|
+
const args = {};
|
|
41728
|
+
if (opts.id !== void 0)
|
|
41729
|
+
args.id = opts.id;
|
|
41730
|
+
if (opts.ownerEmail !== void 0)
|
|
41731
|
+
args.owner_email = opts.ownerEmail;
|
|
41732
|
+
if (opts.comments !== void 0)
|
|
41733
|
+
args.comments = opts.comments;
|
|
41734
|
+
if (opts.terms !== void 0)
|
|
41735
|
+
args.terms = opts.terms;
|
|
41736
|
+
if (opts.collectPaymentDetails !== void 0)
|
|
41737
|
+
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41738
|
+
if (opts.collectCustomPropertyIds !== void 0)
|
|
41739
|
+
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41740
|
+
if (opts.contractClauseIds !== void 0)
|
|
41741
|
+
args.contract_clause_ids = opts.contractClauseIds;
|
|
41742
|
+
if (opts.requireTaxId !== void 0)
|
|
41743
|
+
args.require_tax_id = opts.requireTaxId;
|
|
41744
|
+
if (opts.displayQuoteValue !== void 0)
|
|
41745
|
+
args.display_quote_value = opts.displayQuoteValue;
|
|
41746
|
+
if (opts.displayQuoteValueWithTax !== void 0)
|
|
41747
|
+
args.display_quote_value_with_tax = opts.displayQuoteValueWithTax;
|
|
41748
|
+
if (opts.displayTaxes !== void 0)
|
|
41749
|
+
args.display_taxes = opts.displayTaxes;
|
|
41750
|
+
if (opts.displayPriceTiers !== void 0)
|
|
41751
|
+
args.display_price_tiers = opts.displayPriceTiers;
|
|
41752
|
+
if (opts.displayPhaseValue !== void 0)
|
|
41753
|
+
args.display_phase_value = opts.displayPhaseValue;
|
|
41754
|
+
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
41755
|
+
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
41756
|
+
if (opts.displayDocumentsInPreview !== void 0)
|
|
41757
|
+
args.display_documents_in_preview = opts.displayDocumentsInPreview;
|
|
41758
|
+
if (opts.displaySubscriptionOnUpdate !== void 0)
|
|
41759
|
+
args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
|
|
41760
|
+
if (opts.generateDraftInvoices !== void 0)
|
|
41761
|
+
args.generate_draft_invoices = opts.generateDraftInvoices;
|
|
41762
|
+
if (opts.expiresAt !== void 0)
|
|
41763
|
+
args.expires_at = opts.expiresAt;
|
|
41764
|
+
if (opts.subscription !== void 0)
|
|
41765
|
+
args.subscription = opts.subscription;
|
|
41766
|
+
if (opts.invoice !== void 0)
|
|
41767
|
+
args.invoice = opts.invoice;
|
|
41768
|
+
if (opts.amount !== void 0)
|
|
41769
|
+
args.amount = Number(opts.amount);
|
|
41770
|
+
await ctx.execute({
|
|
41771
|
+
method: "PATCH",
|
|
41772
|
+
path: "/v1/quotes/{id}",
|
|
41773
|
+
args,
|
|
41774
|
+
queryParamKeys: []
|
|
41775
|
+
});
|
|
41776
|
+
});
|
|
41651
41777
|
resource.command("download").description(`Download the PDF of a quote. Supports locale parameter for localization.`).requiredOption("--id <value>", `id parameter`).option("--locale <value>", `locale`).addHelpText("after", `
|
|
41652
41778
|
Examples:
|
|
41653
41779
|
hyperline quotes download --id <id>
|
|
@@ -41688,6 +41814,25 @@ Examples:
|
|
|
41688
41814
|
queryParamKeys: []
|
|
41689
41815
|
});
|
|
41690
41816
|
});
|
|
41817
|
+
resource.command("finalize").description(`Finalize a draft quote. The quote is submitted for approval when approval is required, otherwise it becomes approved and ready to be sent for signature.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
41818
|
+
Examples:
|
|
41819
|
+
hyperline quotes finalize --id <id>
|
|
41820
|
+
hyperline quotes finalize --id <id> --output json`).action(async (opts) => {
|
|
41821
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41822
|
+
if (!ctx) {
|
|
41823
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41824
|
+
process.exit(1);
|
|
41825
|
+
}
|
|
41826
|
+
const args = {};
|
|
41827
|
+
if (opts.id !== void 0)
|
|
41828
|
+
args.id = opts.id;
|
|
41829
|
+
await ctx.execute({
|
|
41830
|
+
method: "POST",
|
|
41831
|
+
path: "/v1/quotes/{id}/finalize",
|
|
41832
|
+
args,
|
|
41833
|
+
queryParamKeys: []
|
|
41834
|
+
});
|
|
41835
|
+
});
|
|
41691
41836
|
resource.command("send").description(`Send a quote by email for customer signature. Requires the quote to be approved first.`).requiredOption("--id <value>", `id parameter`).requiredOption("--email <value>", `Email address to which the quote will be sent for signature.`).option("--message <value>", `Custom message used in the email content.`).addHelpText("after", `
|
|
41692
41837
|
Examples:
|
|
41693
41838
|
hyperline quotes send --id <id> --email <email>
|
|
@@ -41795,10 +41940,132 @@ Examples:
|
|
|
41795
41940
|
});
|
|
41796
41941
|
}
|
|
41797
41942
|
|
|
41943
|
+
// build/commands/generated/quotes-templates.js
|
|
41944
|
+
function registerQuotes_TemplatesCommands(parent) {
|
|
41945
|
+
const resource = parent.command("quotes-templates").description("Manage quotes > templates");
|
|
41946
|
+
resource.command("list-quote-templates").description(`List quote templates with pagination and optional filters for id, name, subscription_template_id, and search. Use template IDs to create quotes from reusable quote defaults.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.is-null <value>", `id__isNull`).option("--id.is-not-null <value>", `id__isNotNull`).option("--id.equals <value>", `id__equals`).option("--id.contains <value>", `id__contains`).option("--id.starts-with <value>", `id__startsWith`).option("--id.end-with <value>", `id__endWith`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.is-null <value>", `name__isNull`).option("--name.is-not-null <value>", `name__isNotNull`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--subscription-template-id <value>", `subscription_template_id`).option("--subscription-template-id.not <value>", `subscription_template_id__not`).option("--subscription-template-id.is-null <value>", `subscription_template_id__isNull`).option("--subscription-template-id.is-not-null <value>", `subscription_template_id__isNotNull`).option("--subscription-template-id.equals <value>", `subscription_template_id__equals`).option("--subscription-template-id.contains <value>", `subscription_template_id__contains`).option("--subscription-template-id.starts-with <value>", `subscription_template_id__startsWith`).option("--subscription-template-id.end-with <value>", `subscription_template_id__endWith`).option("--search <value>", `search`).addHelpText("after", `
|
|
41947
|
+
Examples:
|
|
41948
|
+
hyperline quotes-templates list-quote-templates
|
|
41949
|
+
hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
|
|
41950
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41951
|
+
if (!ctx) {
|
|
41952
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41953
|
+
process.exit(1);
|
|
41954
|
+
}
|
|
41955
|
+
const args = {};
|
|
41956
|
+
if (opts.id !== void 0)
|
|
41957
|
+
args.id = opts.id;
|
|
41958
|
+
if (opts["id.not"] !== void 0)
|
|
41959
|
+
args.id__not = opts["id.not"];
|
|
41960
|
+
if (opts["id.isNull"] !== void 0)
|
|
41961
|
+
args.id__isNull = opts["id.isNull"];
|
|
41962
|
+
if (opts["id.isNotNull"] !== void 0)
|
|
41963
|
+
args.id__isNotNull = opts["id.isNotNull"];
|
|
41964
|
+
if (opts["id.equals"] !== void 0)
|
|
41965
|
+
args.id__equals = opts["id.equals"];
|
|
41966
|
+
if (opts["id.contains"] !== void 0)
|
|
41967
|
+
args.id__contains = opts["id.contains"];
|
|
41968
|
+
if (opts["id.startsWith"] !== void 0)
|
|
41969
|
+
args.id__startsWith = opts["id.startsWith"];
|
|
41970
|
+
if (opts["id.endWith"] !== void 0)
|
|
41971
|
+
args.id__endWith = opts["id.endWith"];
|
|
41972
|
+
if (opts.name !== void 0)
|
|
41973
|
+
args.name = opts.name;
|
|
41974
|
+
if (opts["name.not"] !== void 0)
|
|
41975
|
+
args.name__not = opts["name.not"];
|
|
41976
|
+
if (opts["name.isNull"] !== void 0)
|
|
41977
|
+
args.name__isNull = opts["name.isNull"];
|
|
41978
|
+
if (opts["name.isNotNull"] !== void 0)
|
|
41979
|
+
args.name__isNotNull = opts["name.isNotNull"];
|
|
41980
|
+
if (opts["name.equals"] !== void 0)
|
|
41981
|
+
args.name__equals = opts["name.equals"];
|
|
41982
|
+
if (opts["name.contains"] !== void 0)
|
|
41983
|
+
args.name__contains = opts["name.contains"];
|
|
41984
|
+
if (opts["name.startsWith"] !== void 0)
|
|
41985
|
+
args.name__startsWith = opts["name.startsWith"];
|
|
41986
|
+
if (opts["name.endWith"] !== void 0)
|
|
41987
|
+
args.name__endWith = opts["name.endWith"];
|
|
41988
|
+
if (opts.subscriptionTemplateId !== void 0)
|
|
41989
|
+
args.subscription_template_id = opts.subscriptionTemplateId;
|
|
41990
|
+
if (opts["subscriptionTemplateId.not"] !== void 0)
|
|
41991
|
+
args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
|
|
41992
|
+
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
41993
|
+
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
41994
|
+
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
41995
|
+
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
41996
|
+
if (opts["subscriptionTemplateId.equals"] !== void 0)
|
|
41997
|
+
args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
|
|
41998
|
+
if (opts["subscriptionTemplateId.contains"] !== void 0)
|
|
41999
|
+
args.subscription_template_id__contains = opts["subscriptionTemplateId.contains"];
|
|
42000
|
+
if (opts["subscriptionTemplateId.startsWith"] !== void 0)
|
|
42001
|
+
args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
|
|
42002
|
+
if (opts["subscriptionTemplateId.endWith"] !== void 0)
|
|
42003
|
+
args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
|
|
42004
|
+
if (opts.search !== void 0)
|
|
42005
|
+
args.search = opts.search;
|
|
42006
|
+
if (opts.take !== void 0)
|
|
42007
|
+
args.take = Number(opts.take);
|
|
42008
|
+
if (opts.skip !== void 0)
|
|
42009
|
+
args.skip = Number(opts.skip);
|
|
42010
|
+
await ctx.execute({
|
|
42011
|
+
method: "GET",
|
|
42012
|
+
path: "/v1/quotes/templates",
|
|
42013
|
+
args,
|
|
42014
|
+
queryParamKeys: [
|
|
42015
|
+
"take",
|
|
42016
|
+
"skip",
|
|
42017
|
+
"id",
|
|
42018
|
+
"id__not",
|
|
42019
|
+
"id__isNull",
|
|
42020
|
+
"id__isNotNull",
|
|
42021
|
+
"id__equals",
|
|
42022
|
+
"id__contains",
|
|
42023
|
+
"id__startsWith",
|
|
42024
|
+
"id__endWith",
|
|
42025
|
+
"name",
|
|
42026
|
+
"name__not",
|
|
42027
|
+
"name__isNull",
|
|
42028
|
+
"name__isNotNull",
|
|
42029
|
+
"name__equals",
|
|
42030
|
+
"name__contains",
|
|
42031
|
+
"name__startsWith",
|
|
42032
|
+
"name__endWith",
|
|
42033
|
+
"subscription_template_id",
|
|
42034
|
+
"subscription_template_id__not",
|
|
42035
|
+
"subscription_template_id__isNull",
|
|
42036
|
+
"subscription_template_id__isNotNull",
|
|
42037
|
+
"subscription_template_id__equals",
|
|
42038
|
+
"subscription_template_id__contains",
|
|
42039
|
+
"subscription_template_id__startsWith",
|
|
42040
|
+
"subscription_template_id__endWith",
|
|
42041
|
+
"search"
|
|
42042
|
+
]
|
|
42043
|
+
});
|
|
42044
|
+
});
|
|
42045
|
+
resource.command("get-quote-template").description(`Retrieve a quote template by ID with quote defaults, display options, attachments, and linked contract template/clause IDs.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
42046
|
+
Examples:
|
|
42047
|
+
hyperline quotes-templates get-quote-template --id <id>`).action(async (opts) => {
|
|
42048
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42049
|
+
if (!ctx) {
|
|
42050
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42051
|
+
process.exit(1);
|
|
42052
|
+
}
|
|
42053
|
+
const args = {};
|
|
42054
|
+
if (opts.id !== void 0)
|
|
42055
|
+
args.id = opts.id;
|
|
42056
|
+
await ctx.execute({
|
|
42057
|
+
method: "GET",
|
|
42058
|
+
path: "/v1/quotes/templates/{id}",
|
|
42059
|
+
args,
|
|
42060
|
+
queryParamKeys: []
|
|
42061
|
+
});
|
|
42062
|
+
});
|
|
42063
|
+
}
|
|
42064
|
+
|
|
41798
42065
|
// build/commands/generated/subscriptions.js
|
|
41799
42066
|
function registerSubscriptionsCommands(parent) {
|
|
41800
42067
|
const resource = parent.command("subscriptions").description("Manage subscriptions");
|
|
41801
|
-
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`).requiredOption("--type <value>", `type`).requiredOption("--payload <value>", `payload`).addHelpText("after", `
|
|
42068
|
+
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 <value>", `payload`).addHelpText("after", `
|
|
41802
42069
|
Examples:
|
|
41803
42070
|
hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload>
|
|
41804
42071
|
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>
|
|
@@ -41821,6 +42088,10 @@ Examples:
|
|
|
41821
42088
|
args.charge_at = opts.chargeAt;
|
|
41822
42089
|
if (opts.calculationMethod !== void 0)
|
|
41823
42090
|
args.calculation_method = opts.calculationMethod;
|
|
42091
|
+
if (opts.precision !== void 0)
|
|
42092
|
+
args.precision = opts.precision;
|
|
42093
|
+
if (opts.refundMethod !== void 0)
|
|
42094
|
+
args.refund_method = opts.refundMethod;
|
|
41824
42095
|
if (opts.type !== void 0)
|
|
41825
42096
|
args.type = opts.type;
|
|
41826
42097
|
if (opts.payload !== void 0)
|
|
@@ -41832,7 +42103,7 @@ Examples:
|
|
|
41832
42103
|
queryParamKeys: []
|
|
41833
42104
|
});
|
|
41834
42105
|
});
|
|
41835
|
-
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`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42106
|
+
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 <value>", `updates`).addHelpText("after", `
|
|
41836
42107
|
Examples:
|
|
41837
42108
|
hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
41838
42109
|
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>
|
|
@@ -41855,6 +42126,10 @@ Examples:
|
|
|
41855
42126
|
args.charge_at = opts.chargeAt;
|
|
41856
42127
|
if (opts.calculationMethod !== void 0)
|
|
41857
42128
|
args.calculation_method = opts.calculationMethod;
|
|
42129
|
+
if (opts.precision !== void 0)
|
|
42130
|
+
args.precision = opts.precision;
|
|
42131
|
+
if (opts.refundMethod !== void 0)
|
|
42132
|
+
args.refund_method = opts.refundMethod;
|
|
41858
42133
|
if (opts.updates !== void 0)
|
|
41859
42134
|
args.updates = opts.updates;
|
|
41860
42135
|
await ctx.execute({
|
|
@@ -41864,7 +42139,7 @@ Examples:
|
|
|
41864
42139
|
queryParamKeys: []
|
|
41865
42140
|
});
|
|
41866
42141
|
});
|
|
41867
|
-
resource.command("cancel").description(`Cancel a subscription. Supports immediate or end-of-period cancellation. Optionally specify a cancellation reason.`).requiredOption("--id <value>", `id parameter`).option("--cancel-at <value>", `Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--reason <value>", `Reason for the cancellation.`).option("--pro-rata", `Indicates if the cancel should refund the customer using a pro rata strategy.`).addHelpText("after", `
|
|
42142
|
+
resource.command("cancel").description(`Cancel a subscription. Supports immediate or end-of-period cancellation. Optionally specify a cancellation reason.`).requiredOption("--id <value>", `id parameter`).option("--cancel-at <value>", `Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--reason <value>", `Reason for the cancellation.`).option("--pro-rata", `Indicates if the cancel should refund the customer using a pro rata strategy.`).option("--refund-method <value>", `Override the refund destination for the resulting credit note. When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).addHelpText("after", `
|
|
41868
42143
|
Examples:
|
|
41869
42144
|
hyperline subscriptions cancel --id <id>
|
|
41870
42145
|
hyperline subscriptions cancel --id <id> --cancel-at <cancel_at> --reason <reason>
|
|
@@ -41881,6 +42156,8 @@ Examples:
|
|
|
41881
42156
|
args.cancel_at = opts.cancelAt;
|
|
41882
42157
|
if (opts.reason !== void 0)
|
|
41883
42158
|
args.reason = opts.reason;
|
|
42159
|
+
if (opts.refundMethod !== void 0)
|
|
42160
|
+
args.refund_method = opts.refundMethod;
|
|
41884
42161
|
if (opts.proRata !== void 0)
|
|
41885
42162
|
args.pro_rata = true;
|
|
41886
42163
|
await ctx.execute({
|
|
@@ -41990,7 +42267,7 @@ Examples:
|
|
|
41990
42267
|
queryParamKeys: []
|
|
41991
42268
|
});
|
|
41992
42269
|
});
|
|
41993
|
-
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`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42270
|
+
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 <value>", `updates`).addHelpText("after", `
|
|
41994
42271
|
Examples:
|
|
41995
42272
|
hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
41996
42273
|
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>
|
|
@@ -42013,6 +42290,10 @@ Examples:
|
|
|
42013
42290
|
args.charge_at = opts.chargeAt;
|
|
42014
42291
|
if (opts.calculationMethod !== void 0)
|
|
42015
42292
|
args.calculation_method = opts.calculationMethod;
|
|
42293
|
+
if (opts.precision !== void 0)
|
|
42294
|
+
args.precision = opts.precision;
|
|
42295
|
+
if (opts.refundMethod !== void 0)
|
|
42296
|
+
args.refund_method = opts.refundMethod;
|
|
42016
42297
|
if (opts.updates !== void 0)
|
|
42017
42298
|
args.updates = opts.updates;
|
|
42018
42299
|
await ctx.execute({
|
|
@@ -42038,7 +42319,7 @@ Strategy used to cancel the subscription. If not specified \`do_nothing\` is use
|
|
|
42038
42319
|
- \`refund_custom\`: Will refund to the customer a custom amount.
|
|
42039
42320
|
- \`end_of_period\`: Will cancel the subscription at the end date of the current billing period.
|
|
42040
42321
|
- \`do_nothing\`: Will only cease the subscription without any additional actions.
|
|
42041
|
-
`).option("--cancellation-amount <number>", `Custom amount used when cancelling the subscription. Only applies to the \`charge_custom\` or the \`refund_custom\` cancellation strategy.`).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `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>", `
|
|
42322
|
+
`).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 <value>", `Key/value pairs to store any metadata useful in your context.`).option("--custom-properties <value>", `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>", `
|
|
42042
42323
|
Defines when invoices are generated relative to the billing period.
|
|
42043
42324
|
|
|
42044
42325
|
- \`period_start\`: Invoices are generated at the start of the billing period.
|
|
@@ -42093,6 +42374,8 @@ Examples:
|
|
|
42093
42374
|
args.cancel_at = opts.cancelAt;
|
|
42094
42375
|
if (opts.cancellationStrategy !== void 0)
|
|
42095
42376
|
args.cancellation_strategy = opts.cancellationStrategy;
|
|
42377
|
+
if (opts.cancellationRefundMethod !== void 0)
|
|
42378
|
+
args.cancellation_refund_method = opts.cancellationRefundMethod;
|
|
42096
42379
|
if (opts.properties !== void 0)
|
|
42097
42380
|
args.properties = opts.properties;
|
|
42098
42381
|
if (opts.customProperties !== void 0)
|
|
@@ -42375,7 +42658,7 @@ Examples:
|
|
|
42375
42658
|
queryParamKeys: []
|
|
42376
42659
|
});
|
|
42377
42660
|
});
|
|
42378
|
-
resource.command("update").description(`Comprehensive subscription update: modify fields, manage phases (add/update/delete pending phases), update products within phases, and manage coupons.
|
|
42661
|
+
resource.command("update").description(`Comprehensive subscription update: modify fields, manage phases (add/update/delete pending phases), update products within phases, and manage coupons. Draft quote subscription configuration must be updated through PATCH /v1/quotes/{id}.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Subscription custom name.`).option("--purchase-order <value>", `Reference to the purchase order.`).option("--minimum-invoice-fee <number>", `Minimum fee applied to each invoice outside of one time payments.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).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>", `
|
|
42379
42662
|
Defines when invoices are generated relative to the billing period.
|
|
42380
42663
|
|
|
42381
42664
|
- \`period_start\`: Invoices are generated at the start of the billing period.
|
|
@@ -42735,7 +43018,7 @@ Examples:
|
|
|
42735
43018
|
]
|
|
42736
43019
|
});
|
|
42737
43020
|
});
|
|
42738
|
-
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.`).option("--billing-cycle-transition-method <value>", `The billing cycle transition method to use. 'keep_current_billing_cycle' will keep the current billing cycle dates if possible. 'align_to_new_billing_cycle' will align the billing cycle to the transition date.`).requiredOption("--application-schedule <value>", `
|
|
43021
|
+
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. 'refund_and_reinvoice' (only available with application_schedule 'last_renewal') issues a credit note for what was invoiced for the current period 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' will keep the current billing cycle dates if possible. 'align_to_new_billing_cycle' will align 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 <value>", `The configuration of the subscription to transition to`).addHelpText("after", `
|
|
42739
43022
|
Examples:
|
|
42740
43023
|
hyperline subscriptions-transitions create-subscription-transition --source-subscription-id <source_subscription_id> --application-schedule <application_schedule> --target-subscription <target_subscription>
|
|
42741
43024
|
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>
|
|
@@ -42949,6 +43232,30 @@ Examples:
|
|
|
42949
43232
|
});
|
|
42950
43233
|
}
|
|
42951
43234
|
|
|
43235
|
+
// build/commands/generated/transactions.js
|
|
43236
|
+
function registerTransactionsCommands(parent) {
|
|
43237
|
+
const resource = parent.command("transactions").description("Manage transactions");
|
|
43238
|
+
resource.command("refund").description(`Refund a settled banking transaction for its full amount. The related invoice will switch back to to pay status. Use the create credit note endpoint if you want to cancel (and optionally refund) the initial invoice.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
43239
|
+
Examples:
|
|
43240
|
+
hyperline transactions refund --id <id>
|
|
43241
|
+
hyperline transactions refund --id <id> --output json`).action(async (opts) => {
|
|
43242
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43243
|
+
if (!ctx) {
|
|
43244
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43245
|
+
process.exit(1);
|
|
43246
|
+
}
|
|
43247
|
+
const args = {};
|
|
43248
|
+
if (opts.id !== void 0)
|
|
43249
|
+
args.id = opts.id;
|
|
43250
|
+
await ctx.execute({
|
|
43251
|
+
method: "POST",
|
|
43252
|
+
path: "/v1/transactions/{id}/refund",
|
|
43253
|
+
args,
|
|
43254
|
+
queryParamKeys: []
|
|
43255
|
+
});
|
|
43256
|
+
});
|
|
43257
|
+
}
|
|
43258
|
+
|
|
42952
43259
|
// build/commands/generated/wallets.js
|
|
42953
43260
|
function registerWalletsCommands(parent) {
|
|
42954
43261
|
const resource = parent.command("wallets").description("Manage wallets");
|
|
@@ -43109,10 +43416,10 @@ Examples:
|
|
|
43109
43416
|
queryParamKeys: []
|
|
43110
43417
|
});
|
|
43111
43418
|
});
|
|
43112
|
-
resource.command("load").description(`Add credits
|
|
43419
|
+
resource.command("load").description(`Add paid credits by charging the customer's payment method, or add free credits by issuing a credit note.`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Wallet load type. Use \`paid\` to collect payment from the customer's payment method, 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("--bank-account-id <value>", `Bank account ID to use when recording a paid wallet load by bank transfer.`).option("--reference <value>", `Reference stored on the generated payment document for a paid wallet load.`).addHelpText("after", `
|
|
43113
43420
|
Examples:
|
|
43114
43421
|
hyperline wallets load --id <id>
|
|
43115
|
-
hyperline wallets load --id <id> --
|
|
43422
|
+
hyperline wallets load --id <id> --type <type> --amount <amount>
|
|
43116
43423
|
hyperline wallets load --id <id> --output json`).action(async (opts) => {
|
|
43117
43424
|
const ctx = resource.parent?.opts()._ctx;
|
|
43118
43425
|
if (!ctx) {
|
|
@@ -43122,12 +43429,18 @@ Examples:
|
|
|
43122
43429
|
const args = {};
|
|
43123
43430
|
if (opts.id !== void 0)
|
|
43124
43431
|
args.id = opts.id;
|
|
43432
|
+
if (opts.type !== void 0)
|
|
43433
|
+
args.type = opts.type;
|
|
43434
|
+
if (opts.comment !== void 0)
|
|
43435
|
+
args.comment = opts.comment;
|
|
43125
43436
|
if (opts.documentStatus !== void 0)
|
|
43126
43437
|
args.document_status = opts.documentStatus;
|
|
43438
|
+
if (opts.bankAccountId !== void 0)
|
|
43439
|
+
args.bank_account_id = opts.bankAccountId;
|
|
43440
|
+
if (opts.reference !== void 0)
|
|
43441
|
+
args.reference = opts.reference;
|
|
43127
43442
|
if (opts.amount !== void 0)
|
|
43128
43443
|
args.amount = Number(opts.amount);
|
|
43129
|
-
if (opts.amountFree !== void 0)
|
|
43130
|
-
args.amount_free = Number(opts.amountFree);
|
|
43131
43444
|
await ctx.execute({
|
|
43132
43445
|
method: "POST",
|
|
43133
43446
|
path: "/v1/wallets/{id}/load",
|
|
@@ -43356,11 +43669,13 @@ function registerAllCommands(program2) {
|
|
|
43356
43669
|
registerProductsCommands(program2);
|
|
43357
43670
|
registerPrice_ConfigurationsCommands(program2);
|
|
43358
43671
|
registerQuotesCommands(program2);
|
|
43672
|
+
registerQuotes_TemplatesCommands(program2);
|
|
43359
43673
|
registerSubscriptions_TemplatesCommands(program2);
|
|
43360
43674
|
registerSubscriptionsCommands(program2);
|
|
43361
43675
|
registerSubscriptions_TransitionsCommands(program2);
|
|
43362
43676
|
registerSubscriptions_PhasesCommands(program2);
|
|
43363
43677
|
registerTaxesCommands(program2);
|
|
43678
|
+
registerTransactionsCommands(program2);
|
|
43364
43679
|
registerWalletsCommands(program2);
|
|
43365
43680
|
registerWebhooksCommands(program2);
|
|
43366
43681
|
}
|
|
@@ -57151,6 +57466,7 @@ var BooleanSchema = external_exports.boolean().or(external_exports.enum(["true",
|
|
|
57151
57466
|
});
|
|
57152
57467
|
var StringSchemaForMultipartForm = external_exports.string().transform((value) => value === "" ? null : value);
|
|
57153
57468
|
var StringArraySchemaForMultipartForm = external_exports.string().array().or(external_exports.string().length(0)).transform((value) => typeof value === "string" ? [] : value);
|
|
57469
|
+
var CommaSeparatedArraySchema = external_exports.string().optional().transform((raw) => raw ? raw.split(",").filter(Boolean) : void 0);
|
|
57154
57470
|
var urlRegex = /^(?:(?:https?):\/\/)?(?:www\.)?(?:[\w-]+\.)+[a-z]{2,7}(?:\/\S*)?$/i;
|
|
57155
57471
|
var ZodFlexibleUrl = external_exports.string({ message: "Invalid URL" }).regex(urlRegex).transform((url2) => {
|
|
57156
57472
|
if (!url2)
|
|
@@ -61463,6 +61779,7 @@ function getConfig(schema, testValues) {
|
|
|
61463
61779
|
var config3 = getConfig({
|
|
61464
61780
|
// config
|
|
61465
61781
|
APP_VERSION: types.string().optional(),
|
|
61782
|
+
DD_SERVICE: types.string().optional(),
|
|
61466
61783
|
LOGGER_CONSOLE_ENABLED: types.boolean().optional(),
|
|
61467
61784
|
LOGGER_STDOUT_ENABLED: types.boolean().optional(),
|
|
61468
61785
|
NODE_ENV: types.enum(["local", "test", "staging", "sandbox", "production"]),
|
|
@@ -61472,6 +61789,7 @@ var config3 = getConfig({
|
|
|
61472
61789
|
// secrets
|
|
61473
61790
|
}, {
|
|
61474
61791
|
APP_VERSION: void 0,
|
|
61792
|
+
DD_SERVICE: void 0,
|
|
61475
61793
|
LOGGER_CONSOLE_ENABLED: false,
|
|
61476
61794
|
LOGGER_STDOUT_ENABLED: false,
|
|
61477
61795
|
EVENT_LOOP_MONITORING_ENABLED: false,
|
|
@@ -61487,6 +61805,7 @@ import * as winston from "winston";
|
|
|
61487
61805
|
|
|
61488
61806
|
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
61489
61807
|
import prune from "json-prune";
|
|
61808
|
+
var REDACTED_HEADER_KEY_PATTERN = /authorization|authenticate|cookie|secret|token|credential|signature|jwt|api[_-]?key|access[_-]?token|refresh[_-]?token|private[_-]?key/i;
|
|
61490
61809
|
function jsonFormat(info) {
|
|
61491
61810
|
const prunedInfo = JSON.parse(prune(info));
|
|
61492
61811
|
for (const [key, value] of Object.entries(prunedInfo)) {
|
|
@@ -61569,17 +61888,26 @@ function formatAxiosError(error48) {
|
|
|
61569
61888
|
url: request?.url,
|
|
61570
61889
|
baseURL: request?.baseURL,
|
|
61571
61890
|
params: request?.params,
|
|
61572
|
-
headers: request?.headers,
|
|
61891
|
+
headers: redactHeaders({ headers: request?.headers }),
|
|
61573
61892
|
"axios-retry": request?.["axios-retry"]
|
|
61574
61893
|
},
|
|
61575
61894
|
response: {
|
|
61576
61895
|
status: response?.status,
|
|
61577
61896
|
statusText: response?.statusText,
|
|
61578
|
-
headers: response?.headers,
|
|
61897
|
+
headers: redactHeaders({ headers: response?.headers }),
|
|
61579
61898
|
data: response?.data
|
|
61580
61899
|
}
|
|
61581
61900
|
};
|
|
61582
61901
|
}
|
|
61902
|
+
function redactHeaders({ headers }) {
|
|
61903
|
+
if (!isRecord(headers)) {
|
|
61904
|
+
return headers;
|
|
61905
|
+
}
|
|
61906
|
+
return Object.fromEntries(Object.entries(headers).map(([headerKey, headerValue]) => [
|
|
61907
|
+
headerKey,
|
|
61908
|
+
REDACTED_HEADER_KEY_PATTERN.test(headerKey) ? "<redacted>" : headerValue
|
|
61909
|
+
]));
|
|
61910
|
+
}
|
|
61583
61911
|
function isRecord(value) {
|
|
61584
61912
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
61585
61913
|
}
|
|
@@ -61603,13 +61931,16 @@ function logHttpRequest(logger2, request, extra) {
|
|
|
61603
61931
|
});
|
|
61604
61932
|
}
|
|
61605
61933
|
function logHttpResponse(logger2, response, responseTime, extra) {
|
|
61606
|
-
const { request, statusCode, responseBody } = response;
|
|
61934
|
+
const { request, statusCode, responseBody, responseHeaders } = response;
|
|
61607
61935
|
const { message, metadata } = transform2(request);
|
|
61608
61936
|
const readableResponseTime = responseTime ? getReadableTime(responseTime) : void 0;
|
|
61609
61937
|
const responseMetadata = {
|
|
61610
61938
|
statusCode,
|
|
61611
61939
|
responseTime,
|
|
61612
|
-
responseBody
|
|
61940
|
+
responseBody,
|
|
61941
|
+
// Redacted so secrets (authorization/cookie/token/…) never reach the logs
|
|
61942
|
+
// while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
|
|
61943
|
+
responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
|
|
61613
61944
|
};
|
|
61614
61945
|
logger2.info(`HTTP RES - ${message} ${statusCode} ${readableResponseTime || ""} ${extra?.postfix || ""}`, {
|
|
61615
61946
|
...metadata,
|
|
@@ -61750,13 +62081,16 @@ var loggerFactory = buildLoggerFactory({
|
|
|
61750
62081
|
},
|
|
61751
62082
|
context: {
|
|
61752
62083
|
env: config3.NODE_ENV,
|
|
61753
|
-
service: "api",
|
|
62084
|
+
service: config3.DD_SERVICE ?? "api",
|
|
61754
62085
|
version: config3.APP_VERSION
|
|
61755
62086
|
}
|
|
61756
62087
|
});
|
|
61757
62088
|
var createLogger2 = loggerFactory.createLogger;
|
|
61758
62089
|
var logger = loggerFactory.createLogger({ serviceName: "default" });
|
|
61759
62090
|
|
|
62091
|
+
// ../hyperline-monitoring/build/tracing/tracing.js
|
|
62092
|
+
import tracer from "dd-trace";
|
|
62093
|
+
|
|
61760
62094
|
// ../hyperline-lib/build/utils/config/usStates.js
|
|
61761
62095
|
var usStates = [
|
|
61762
62096
|
"AA",
|
|
@@ -61941,10 +62275,12 @@ var languages = [
|
|
|
61941
62275
|
var de = {
|
|
61942
62276
|
"accounting.invoicePosted.entryDescription": "Buchungseintrag f\xFCr Rechnung {{invoiceId}}",
|
|
61943
62277
|
"accounting.transactionSettled.entryDescription": "Zahlungsabwicklung f\xFCr Rechnung {{invoiceId}}",
|
|
62278
|
+
"accounting.transactionRefunded.entryDescription": "R\xFCckerstattung f\xFCr Rechnung {{invoiceId}}",
|
|
61944
62279
|
"accounting.creditNotePosted.entryDescription": "Gutschrift {{creditNoteId}} f\xFCr Rechnung {{invoiceId}}",
|
|
61945
62280
|
"accounting.revrec.creditLineDescription": "Umsatz realisieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
61946
62281
|
"accounting.revrec.debitLineDescription": "Abgrenzungsposten reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
61947
62282
|
"accounting.revrec.discountCreditLineDescription": "Erl\xF6sminderung (Rabatt) erfassen \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62283
|
+
"accounting.revrec.closedPeriodFallbackNote": " (in die n\xE4chste offene Periode gebucht \u2013 Zielperiode geschlossen; urspr\xFCngliches Datum {{originalDate}})",
|
|
61948
62284
|
"accounting.revrec.discountDebitLineDescription": "Abgegrenzten Rabatt reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
61949
62285
|
"accounting.revrec.entryDescription": "Umsatzrealisierung f\xFCr Zeitplan {{scheduleId}}, Zeitraum {{periodStart}} - {{periodEnd}}",
|
|
61950
62286
|
"creditNotes.refundChargeName": "R\xFCckerstattung f\xFCr die Rechnung",
|
|
@@ -61957,7 +62293,9 @@ var de = {
|
|
|
61957
62293
|
"invoices.outstandingProduct.descriptionPeriod": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{periodStart}} bis {{periodEnd}}",
|
|
61958
62294
|
"invoices.outstandingProduct.name": "Offener Saldo",
|
|
61959
62295
|
"invoices.prorata.paymentForItem": "Anteilig berechneter Betrag f\xFCr",
|
|
62296
|
+
"invoices.prorata.paymentForItemFullPeriod": "Zahlung f\xFCr",
|
|
61960
62297
|
"invoices.prorata.refundForItem": "Anteilig erstatteter Betrag f\xFCr",
|
|
62298
|
+
"invoices.prorata.refundForItemFullPeriod": "Erstattung f\xFCr",
|
|
61961
62299
|
"subscriptions.closingChargeName": "Abschlussgeb\xFChr f\xFCr das Abonnement",
|
|
61962
62300
|
"subscriptions.correction": "Vorperiodische Anpassung",
|
|
61963
62301
|
"subscriptions.updates.addCoupon": "Gutschein hinzuf\xFCgen {{couponName}}",
|
|
@@ -61986,7 +62324,9 @@ var en = {
|
|
|
61986
62324
|
"invoices.outstandingProduct.descriptionPeriod": "Unpaid amount from the invoice{{invoiceNumber}} from {{periodStart}} to {{periodEnd}}",
|
|
61987
62325
|
"invoices.outstandingProduct.name": "Outstanding balance",
|
|
61988
62326
|
"invoices.prorata.paymentForItem": "Prorated payment for",
|
|
62327
|
+
"invoices.prorata.paymentForItemFullPeriod": "Payment for",
|
|
61989
62328
|
"invoices.prorata.refundForItem": "Prorated refund for",
|
|
62329
|
+
"invoices.prorata.refundForItemFullPeriod": "Refund for",
|
|
61990
62330
|
"subscriptions.closingChargeName": "Closing fee for subscription",
|
|
61991
62331
|
"subscriptions.correction": "Adjustment previous period",
|
|
61992
62332
|
"subscriptions.updates.addCoupon": "Add coupon {{couponName}}",
|
|
@@ -62006,12 +62346,14 @@ var en = {
|
|
|
62006
62346
|
"subscriptions.updates.updateCount.description.full.not_committed.not_invoiced": "Amount of {{amount}} not invoiced for the full period",
|
|
62007
62347
|
"accounting.invoicePosted.entryDescription": "Posting entry for Invoice {{invoiceId}} issued",
|
|
62008
62348
|
"accounting.transactionSettled.entryDescription": "Payment settlement for Invoice {{invoiceId}}",
|
|
62349
|
+
"accounting.transactionRefunded.entryDescription": "Refund for Invoice {{invoiceId}}",
|
|
62009
62350
|
"accounting.creditNotePosted.entryDescription": "Credit note {{creditNoteId}} for Invoice {{invoiceId}}",
|
|
62010
62351
|
"accounting.revrec.entryDescription": "Revenue recognition for schedule {{scheduleId}}, period {{periodStart}} - {{periodEnd}}",
|
|
62011
62352
|
"accounting.revrec.debitLineDescription": "Decrease deferred revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62012
62353
|
"accounting.revrec.creditLineDescription": "Recognize revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62013
62354
|
"accounting.revrec.discountDebitLineDescription": "Decrease deferred discount \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62014
62355
|
"accounting.revrec.discountCreditLineDescription": "Recognize contra-revenue (discount) \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62356
|
+
"accounting.revrec.closedPeriodFallbackNote": " (posted to next open period \u2014 target accounting period closed; original date {{originalDate}})",
|
|
62015
62357
|
"einvoicing.paymentProcessed": "Payment processed",
|
|
62016
62358
|
"einvoicing.paymentReceived": "Payment received",
|
|
62017
62359
|
"einvoicing.paymentFromWallet": "Payment from wallet"
|
|
@@ -62021,10 +62363,12 @@ var en = {
|
|
|
62021
62363
|
var es = {
|
|
62022
62364
|
"accounting.invoicePosted.entryDescription": "Asiento contable para la factura {{invoiceId}}",
|
|
62023
62365
|
"accounting.transactionSettled.entryDescription": "Liquidaci\xF3n de pago para la factura {{invoiceId}}",
|
|
62366
|
+
"accounting.transactionRefunded.entryDescription": "Reembolso de la factura {{invoiceId}}",
|
|
62024
62367
|
"accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para la factura {{invoiceId}}",
|
|
62025
62368
|
"accounting.revrec.creditLineDescription": "Reconocer ingresos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62026
62369
|
"accounting.revrec.debitLineDescription": "Disminuci\xF3n de ingresos diferidos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62027
62370
|
"accounting.revrec.discountCreditLineDescription": "Reconocer contra-ingresos (descuento) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62371
|
+
"accounting.revrec.closedPeriodFallbackNote": " (registrado en el pr\xF3ximo per\xEDodo abierto \u2014 per\xEDodo contable de destino cerrado; fecha original {{originalDate}})",
|
|
62028
62372
|
"accounting.revrec.discountDebitLineDescription": "Disminuci\xF3n de descuento diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62029
62373
|
"accounting.revrec.entryDescription": "Reconocimiento de ingresos para el cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
62030
62374
|
"creditNotes.refundChargeName": "Reembolso por factura",
|
|
@@ -62037,7 +62381,9 @@ var es = {
|
|
|
62037
62381
|
"invoices.outstandingProduct.descriptionPeriod": "Monto pendiente de la factura{{invoiceNumber}} del {{periodStart}} al {{periodEnd}}",
|
|
62038
62382
|
"invoices.outstandingProduct.name": "Saldo pendiente",
|
|
62039
62383
|
"invoices.prorata.paymentForItem": "Pago prorrateado por",
|
|
62384
|
+
"invoices.prorata.paymentForItemFullPeriod": "Pago por",
|
|
62040
62385
|
"invoices.prorata.refundForItem": "Reembolso prorrateado por",
|
|
62386
|
+
"invoices.prorata.refundForItemFullPeriod": "Reembolso por",
|
|
62041
62387
|
"subscriptions.closingChargeName": "Cargo por cierre de suscripci\xF3n",
|
|
62042
62388
|
"subscriptions.correction": "Ajuste del periodo anterior",
|
|
62043
62389
|
"subscriptions.updates.addCoupon": "A\xF1adir cup\xF3n {{couponName}}",
|
|
@@ -62062,9 +62408,11 @@ var fr = {
|
|
|
62062
62408
|
"accounting.revrec.creditLineDescription": "Reconnaissance du chiffre d'affaires \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62063
62409
|
"accounting.revrec.debitLineDescription": "Diminution des produits constat\xE9s d'avance \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62064
62410
|
"accounting.revrec.discountCreditLineDescription": "Reconnaissance du contre-revenu (remise) \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62411
|
+
"accounting.revrec.closedPeriodFallbackNote": " (comptabilis\xE9 sur la prochaine p\xE9riode ouverte \u2014 p\xE9riode comptable cible cl\xF4tur\xE9e ; date d'origine {{originalDate}})",
|
|
62065
62412
|
"accounting.revrec.discountDebitLineDescription": "Diminution des remises diff\xE9r\xE9es \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62066
62413
|
"accounting.invoicePosted.entryDescription": "\xC9criture de comptabilisation pour la facture {{invoiceId}}",
|
|
62067
62414
|
"accounting.transactionSettled.entryDescription": "R\xE8glement de la facture {{invoiceId}}",
|
|
62415
|
+
"accounting.transactionRefunded.entryDescription": "Remboursement de la facture {{invoiceId}}",
|
|
62068
62416
|
"accounting.creditNotePosted.entryDescription": "Avoir {{creditNoteId}} pour la facture {{invoiceId}}",
|
|
62069
62417
|
"accounting.revrec.entryDescription": "Reconnaissance du chiffre d'affaires pour l'\xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodStart}} - {{periodEnd}}",
|
|
62070
62418
|
"creditNotes.refundChargeName": "Remboursement pour facture",
|
|
@@ -62077,7 +62425,9 @@ var fr = {
|
|
|
62077
62425
|
"invoices.outstandingProduct.descriptionPeriod": "Montant impay\xE9 de la facture{{invoiceNumber}} du {{periodStart}} au {{periodEnd}}",
|
|
62078
62426
|
"invoices.outstandingProduct.name": "Solde impay\xE9",
|
|
62079
62427
|
"invoices.prorata.paymentForItem": "Paiement au prorata pour",
|
|
62428
|
+
"invoices.prorata.paymentForItemFullPeriod": "Paiement pour",
|
|
62080
62429
|
"invoices.prorata.refundForItem": "Remboursement au prorata pour",
|
|
62430
|
+
"invoices.prorata.refundForItemFullPeriod": "Remboursement pour",
|
|
62081
62431
|
"subscriptions.closingChargeName": "Frais de cl\xF4ture pour abonnement",
|
|
62082
62432
|
"subscriptions.correction": "Ajustement p\xE9riode pr\xE9c\xE9dente",
|
|
62083
62433
|
"subscriptions.updates.addCoupon": "Ajout du coupon {{couponName}}",
|
|
@@ -62101,10 +62451,12 @@ var fr = {
|
|
|
62101
62451
|
var it = {
|
|
62102
62452
|
"accounting.invoicePosted.entryDescription": "Registrazione contabile per la fattura {{invoiceId}}",
|
|
62103
62453
|
"accounting.transactionSettled.entryDescription": "Regolamento pagamento per la fattura {{invoiceId}}",
|
|
62454
|
+
"accounting.transactionRefunded.entryDescription": "Rimborso per la fattura {{invoiceId}}",
|
|
62104
62455
|
"accounting.creditNotePosted.entryDescription": "Nota di credito {{creditNoteId}} per la fattura {{invoiceId}}",
|
|
62105
62456
|
"accounting.revrec.creditLineDescription": "Riconoscere i ricavi \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62106
62457
|
"accounting.revrec.debitLineDescription": "Diminuzione dei ricavi differiti \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62107
62458
|
"accounting.revrec.discountCreditLineDescription": "Riconoscere il contra-ricavo (sconto) \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62459
|
+
"accounting.revrec.closedPeriodFallbackNote": " (registrato nel prossimo periodo aperto \u2014 periodo contabile di destinazione chiuso; data originale {{originalDate}})",
|
|
62108
62460
|
"accounting.revrec.discountDebitLineDescription": "Diminuzione dello sconto differito \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62109
62461
|
"accounting.revrec.entryDescription": "Riconoscimento dei ricavi per il programma {{scheduleId}}, periodo {{periodStart}} - {{periodEnd}}",
|
|
62110
62462
|
"creditNotes.refundChargeName": "Rimborso per fattura",
|
|
@@ -62117,7 +62469,9 @@ var it = {
|
|
|
62117
62469
|
"invoices.outstandingProduct.descriptionPeriod": "Importo insoluto della fattura{{invoiceNumber}} dal {{periodStart}} al {{periodEnd}}",
|
|
62118
62470
|
"invoices.outstandingProduct.name": "Saldo insoluto",
|
|
62119
62471
|
"invoices.prorata.paymentForItem": "Pagamento proporzionale per",
|
|
62472
|
+
"invoices.prorata.paymentForItemFullPeriod": "Pagamento per",
|
|
62120
62473
|
"invoices.prorata.refundForItem": "Rimborso proporzionale per",
|
|
62474
|
+
"invoices.prorata.refundForItemFullPeriod": "Rimborso per",
|
|
62121
62475
|
"subscriptions.closingChargeName": "Costo di chiusura per abbonamento",
|
|
62122
62476
|
"subscriptions.correction": "Correzione periodo precedente",
|
|
62123
62477
|
"subscriptions.updates.addCoupon": "Aggiungi coupon {{couponName}}",
|
|
@@ -62141,10 +62495,12 @@ var it = {
|
|
|
62141
62495
|
var nl = {
|
|
62142
62496
|
"accounting.invoicePosted.entryDescription": "Boekingsregel voor factuur {{invoiceId}}",
|
|
62143
62497
|
"accounting.transactionSettled.entryDescription": "Betalingsafwikkeling voor factuur {{invoiceId}}",
|
|
62498
|
+
"accounting.transactionRefunded.entryDescription": "Terugbetaling voor factuur {{invoiceId}}",
|
|
62144
62499
|
"accounting.creditNotePosted.entryDescription": "Creditnota {{creditNoteId}} voor factuur {{invoiceId}}",
|
|
62145
62500
|
"accounting.revrec.creditLineDescription": "Omzet erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62146
62501
|
"accounting.revrec.debitLineDescription": "Uitgestelde omzet verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62147
62502
|
"accounting.revrec.discountCreditLineDescription": "Omzetvermindering (korting) erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62503
|
+
"accounting.revrec.closedPeriodFallbackNote": " (geboekt in de volgende open periode \u2014 doelboekingsperiode gesloten; oorspronkelijke datum {{originalDate}})",
|
|
62148
62504
|
"accounting.revrec.discountDebitLineDescription": "Uitgestelde korting verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62149
62505
|
"accounting.revrec.entryDescription": "Omzeterkenning voor schema {{scheduleId}}, periode {{periodStart}} - {{periodEnd}}",
|
|
62150
62506
|
"creditNotes.refundChargeName": "Terugbetaling voor factuur",
|
|
@@ -62157,7 +62513,9 @@ var nl = {
|
|
|
62157
62513
|
"invoices.outstandingProduct.descriptionPeriod": "Onbetaald bedrag van de factuur{{invoiceNumber}} van {{periodStart}} tot {{periodEnd}}",
|
|
62158
62514
|
"invoices.outstandingProduct.name": "Openstaand saldo",
|
|
62159
62515
|
"invoices.prorata.paymentForItem": "Gedeeltelijke betaling voor",
|
|
62516
|
+
"invoices.prorata.paymentForItemFullPeriod": "Betaling voor",
|
|
62160
62517
|
"invoices.prorata.refundForItem": "Gedeeltelijke terugbetaling voor",
|
|
62518
|
+
"invoices.prorata.refundForItemFullPeriod": "Terugbetaling voor",
|
|
62161
62519
|
"subscriptions.closingChargeName": "Afsluitkosten voor abonnement",
|
|
62162
62520
|
"subscriptions.correction": "Aanpassing vorige periode",
|
|
62163
62521
|
"subscriptions.updates.addCoupon": "Coupon toevoegen {{couponName}}",
|
|
@@ -62181,10 +62539,12 @@ var nl = {
|
|
|
62181
62539
|
var pl = {
|
|
62182
62540
|
"accounting.invoicePosted.entryDescription": "Zapis ksi\u0119gowy dla faktury {{invoiceId}}",
|
|
62183
62541
|
"accounting.transactionSettled.entryDescription": "Rozliczenie p\u0142atno\u015Bci dla faktury {{invoiceId}}",
|
|
62542
|
+
"accounting.transactionRefunded.entryDescription": "Zwrot za faktur\u0119 {{invoiceId}}",
|
|
62184
62543
|
"accounting.creditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}} dla faktury {{invoiceId}}",
|
|
62185
62544
|
"accounting.revrec.creditLineDescription": "Rozpoznanie przychodu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62186
62545
|
"accounting.revrec.debitLineDescription": "Zmniejszenie przychod\xF3w przysz\u0142ych okres\xF3w \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62187
62546
|
"accounting.revrec.discountCreditLineDescription": "Rozpoznanie kontra-przychodu (rabat) \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62547
|
+
"accounting.revrec.closedPeriodFallbackNote": " (zaksi\u0119gowano w nast\u0119pnym otwartym okresie \u2014 docelowy okres ksi\u0119gowy zamkni\u0119ty; pierwotna data {{originalDate}})",
|
|
62188
62548
|
"accounting.revrec.discountDebitLineDescription": "Zmniejszenie odroczonego rabatu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62189
62549
|
"accounting.revrec.entryDescription": "Rozpoznanie przychodu dla harmonogramu {{scheduleId}}, okres {{periodStart}} - {{periodEnd}}",
|
|
62190
62550
|
"creditNotes.refundChargeName": "Zwrot za faktur\u0119",
|
|
@@ -62197,7 +62557,9 @@ var pl = {
|
|
|
62197
62557
|
"invoices.outstandingProduct.descriptionPeriod": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} od {{periodStart}} do {{periodEnd}}",
|
|
62198
62558
|
"invoices.outstandingProduct.name": "Niezap\u0142acone saldo",
|
|
62199
62559
|
"invoices.prorata.paymentForItem": "P\u0142atno\u015B\u0107 proporcjonalna za",
|
|
62560
|
+
"invoices.prorata.paymentForItemFullPeriod": "P\u0142atno\u015B\u0107 za",
|
|
62200
62561
|
"invoices.prorata.refundForItem": "Zwrot proporcjonalny za",
|
|
62562
|
+
"invoices.prorata.refundForItemFullPeriod": "Zwrot za",
|
|
62201
62563
|
"subscriptions.closingChargeName": "Op\u0142ata za zamkni\u0119cie subskrypcji",
|
|
62202
62564
|
"subscriptions.correction": "Korekta poprzedniego okresu",
|
|
62203
62565
|
"subscriptions.updates.addCoupon": "Dodaj kupon {{couponName}}",
|
|
@@ -62221,10 +62583,12 @@ var pl = {
|
|
|
62221
62583
|
var pt = {
|
|
62222
62584
|
"accounting.invoicePosted.entryDescription": "Lan\xE7amento cont\xE1bil para a fatura {{invoiceId}}",
|
|
62223
62585
|
"accounting.transactionSettled.entryDescription": "Liquida\xE7\xE3o de pagamento para a fatura {{invoiceId}}",
|
|
62586
|
+
"accounting.transactionRefunded.entryDescription": "Reembolso da fatura {{invoiceId}}",
|
|
62224
62587
|
"accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para a fatura {{invoiceId}}",
|
|
62225
62588
|
"accounting.revrec.creditLineDescription": "Reconhecer receita \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62226
62589
|
"accounting.revrec.debitLineDescription": "Diminui\xE7\xE3o da receita diferida \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62227
62590
|
"accounting.revrec.discountCreditLineDescription": "Reconhecer contra-receita (desconto) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62591
|
+
"accounting.revrec.closedPeriodFallbackNote": " (lan\xE7ado no pr\xF3ximo per\xEDodo aberto \u2014 per\xEDodo cont\xE1bil de destino fechado; data original {{originalDate}})",
|
|
62228
62592
|
"accounting.revrec.discountDebitLineDescription": "Diminui\xE7\xE3o do desconto diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62229
62593
|
"accounting.revrec.entryDescription": "Reconhecimento de receita para o cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
62230
62594
|
"creditNotes.refundChargeName": "Reembolso pela fatura",
|
|
@@ -62237,7 +62601,9 @@ var pt = {
|
|
|
62237
62601
|
"invoices.outstandingProduct.descriptionPeriod": "Valor em aberto da fatura{{invoiceNumber}} de {{periodStart}} a {{periodEnd}}",
|
|
62238
62602
|
"invoices.outstandingProduct.name": "Saldo em aberto",
|
|
62239
62603
|
"invoices.prorata.paymentForItem": "Pagamento proporcional por",
|
|
62604
|
+
"invoices.prorata.paymentForItemFullPeriod": "Pagamento por",
|
|
62240
62605
|
"invoices.prorata.refundForItem": "Reembolso proporcional por",
|
|
62606
|
+
"invoices.prorata.refundForItemFullPeriod": "Reembolso por",
|
|
62241
62607
|
"subscriptions.closingChargeName": "Taxa de encerramento da assinatura",
|
|
62242
62608
|
"subscriptions.correction": "Ajuste do per\xEDodo anterior",
|
|
62243
62609
|
"subscriptions.updates.addCoupon": "Adicionar cupom {{couponName}}",
|
|
@@ -62359,10 +62725,16 @@ function buildHttpClient(dependencies) {
|
|
|
62359
62725
|
return response;
|
|
62360
62726
|
}, (error48) => {
|
|
62361
62727
|
if (error48.response) {
|
|
62362
|
-
const { config: responseConfig, status } = error48.response;
|
|
62728
|
+
const { config: responseConfig, status, headers } = error48.response;
|
|
62363
62729
|
const timeStart = responseConfig.metadata.timeStart;
|
|
62364
62730
|
const responseTime = timeStart ? Date.now() - timeStart : void 0;
|
|
62365
|
-
logHttpResponse(logger2, {
|
|
62731
|
+
logHttpResponse(logger2, {
|
|
62732
|
+
request: toLogRequest(responseConfig),
|
|
62733
|
+
statusCode: status,
|
|
62734
|
+
// Surfaces upstream response headers on error responses (e.g. the
|
|
62735
|
+
// rate-limit headers on a 429); redacted in logHttpResponse.
|
|
62736
|
+
responseHeaders: headers
|
|
62737
|
+
}, responseTime, { metadata: { error: error48.message } });
|
|
62366
62738
|
}
|
|
62367
62739
|
return Promise.reject(error48);
|
|
62368
62740
|
});
|
|
@@ -62455,6 +62827,9 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
|
|
|
62455
62827
|
|
|
62456
62828
|
// ../hyperline-mcp/build/server/server.js
|
|
62457
62829
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
62830
|
+
var defaultToolOutputSchema = {
|
|
62831
|
+
result: external_exports.unknown()
|
|
62832
|
+
};
|
|
62458
62833
|
|
|
62459
62834
|
// ../hyperline-mcp/build/session/sessionKey.js
|
|
62460
62835
|
import { createHmac } from "node:crypto";
|