v2.25.0
v2.25.0: discounts and estimated tax on the order, and a parked channel row
A draft wholesale order can store a discount and an estimated sales tax. A channel listing or order that fails five times in a row is parked, and Sync Health can unpark it.
Eighty-four commits since v2.24.0. Two additive database changes. The tag is cut after this page, not by it.
Shipped
A draft wholesale sales order can store a discount on the line and a discount on the order. The line table shows List, Discount, and Net. After the order is confirmed, those discounts are read only. The summary shows the subtotal, the discounts, the estimated tax, and the estimated total.
Company settings has Sales tax by state: one merchandise rate per ship-to state, or a mark that the state is exempt. The customer and the product each have a taxable flag. A customer can store a resale certificate number and an expiry. When the shipped order is invoiced, the invoice header stays on the line nets. Posting does not rebuild that header from the list price.
A channel listing stops publishing after five item-level failures in a row, and a channel order stops pushing fulfillment after five item-level failures in a row. The row is parked. Sync Health can unpark that listing, that order, or every parked row on the integration. Failures that already existed are not parked by the deploy.
A purchase order can be printed from its detail. Print, then Print PO, opens the print dialog. Saving as PDF is offered there.
A new document date before today is rejected. A date already in the past is kept when it is not changed. A sales order or purchase order create draft is kept only when a line has a product.
The catalog price is converted into the unit on the line through the product’s active packs: a price per piece becomes the case, dozen, or master case price, and a price typed by hand is kept. Stock shows the pack breakdown next to the piece total, for example 1 MC + 15 DZ.
Known limits
Estimated sales tax needs a ship-to state. A customer’s single-line address does not fill that state. Manual Ship To does. When the company has tax rules and the ship-to state matches none of them, tax is 0.00.
Outbound invoice sync still sends the list amount on each line. Do not turn that sync on for an invoice that has a discount.
A customer invoice PDF and a customer invoice email are not in this release.
Migrations: two, both additive. Orders, invoices, customers, and products gain columns for discounts and tax, and a company can store one sales tax rule per ship-to state. Channel listings and orders gain a parked status, a failure counter, and two new health-alert types. No rows are rewritten.
Rollback: return to v2.24.0. No switches to flip. Do not roll back after a listing or order is parked, after a discounted invoice is posted, or after a sales tax rule exists. The previous build does not know the parked status or the new alert types, and it does not read the new columns. If none of those rows exist, the extra status is unused.