Variable: FeeAction
const FeeAction: ZodObject<{
adjustmentKind: ZodDefault<ZodEnum<{
fee: "fee";
platform_fee: "platform_fee";
tax: "tax";
}>>;
glCode: ZodOptional<ZodString>;
label: ZodString;
method: ZodEnum<{
flat: "flat";
percentage: "percentage";
}>;
responsibleParty: ZodOptional<ZodEnum<{
platform: "platform";
processor: "processor";
tax_authority: "tax_authority";
tenant: "tenant";
}>>;
scaling: ZodDefault<ZodEnum<{
once: "once";
per_unit: "per_unit";
}>>;
type: ZodLiteral<"FEE">;
value: ZodNumber;
}, $strip>;Defined in: shared/pricing/types/actions.ts:152
Surcharge applied on top of an existing subtotal. label is the
human-readable description for invoicing. Accounting classification now
rides natively on the action: adjustmentKind distinguishes an ordinary
fee from a tax or platform_fee, while responsibleParty / glCode
route the money. These are pure passthrough — the engine never reads
them; the calculator carries them into every AppliedAction.
scaling only affects method: "flat" actions on line-level rules.
See PricingActionScaling above; PricingDomainConfig enforces the
level/scaling invariants.