Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(medusa): Add item and shipping tax totals to order #5385

Merged
5 changes: 5 additions & 0 deletions .changeset/chilly-suns-impress.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@medusajs/medusa": patch
---

Expose item tax total and shipping tax total
8 changes: 8 additions & 0 deletions integration-tests/api/__tests__/admin/order/order.js
Original file line number Diff line number Diff line change
Expand Up @@ -1616,7 +1616,9 @@ describe("/admin/orders", () => {
first_name: "lebron",
}),
shipping_total: expect.any(Number),
shipping_tax_total: expect.any(Number),
discount_total: expect.any(Number),
item_tax_total: expect.any(Number),
tax_total: expect.any(Number),
refunded_total: expect.any(Number),
total: expect.any(Number),
Expand Down Expand Up @@ -2448,7 +2450,9 @@ describe("/admin/orders", () => {
id: "test-order",
region: expect.any(Object),
shipping_total: 1000,
shipping_tax_total: 0,
discount_total: 800,
item_tax_total: 0,
tax_total: 0,
refunded_total: 0,
total: 8200,
Expand Down Expand Up @@ -2491,7 +2495,9 @@ describe("/admin/orders", () => {
sales_channel_id: null,
returnable_items: expect.any(Array),
shipping_total: 1000,
shipping_tax_total: 0,
discount_total: 800,
item_tax_total: 0,
tax_total: 0,
refunded_total: 0,
total: 8200,
Expand All @@ -2517,7 +2523,9 @@ describe("/admin/orders", () => {
id: "test-order",
returnable_items: expect.any(Array),
shipping_total: 1000,
shipping_tax_total: 0,
discount_total: 800,
item_tax_total: 0,
tax_total: 0,
refunded_total: 0,
total: 8200,
Expand Down
6 changes: 4 additions & 2 deletions integration-tests/api/__tests__/store/orders.js
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ describe("/store/carts", () => {
"/store/orders?display_id=111&email=test@email.com&fields=status,email"
)

expect(Object.keys(response.data.order)).toHaveLength(20)
expect(Object.keys(response.data.order)).toHaveLength(22)
expect(Object.keys(response.data.order)).toEqual(
expect.arrayContaining([
// fields
Expand Down Expand Up @@ -252,7 +252,7 @@ describe("/store/carts", () => {

const response = await api.get("/store/orders/order_test?fields=status")

expect(Object.keys(response.data.order)).toHaveLength(19)
expect(Object.keys(response.data.order)).toHaveLength(21)
expect(Object.keys(response.data.order)).toEqual(
expect.arrayContaining([
// fields
Expand Down Expand Up @@ -308,6 +308,8 @@ describe("/store/carts", () => {
"refundable_amount",
"gift_card_total",
"gift_card_tax_total",
"item_tax_total",
"shipping_tax_total",
])
})

Expand Down
2 changes: 2 additions & 0 deletions packages/medusa/src/models/order.ts
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,10 @@ export class Order extends BaseEntity {

// Total fields
shipping_total: number
shipping_tax_total: number | null
discount_total: number
raw_discount_total: number
item_tax_total: number | null
tax_total: number | null
refunded_total: number
total: number
Expand Down
4 changes: 4 additions & 0 deletions packages/medusa/src/services/__tests__/order.js
Original file line number Diff line number Diff line change
Expand Up @@ -1353,6 +1353,7 @@ describe("OrderService", () => {
gift_card_total: 0,
id: IdMap.getId("order"),
items: [],
item_tax_total: 0,
paid_total: 0,
raw_discount_total: 0,
refundable_amount: 0,
Expand All @@ -1365,6 +1366,7 @@ describe("OrderService", () => {
},
],
shipping_total: 0,
shipping_tax_total: 0,
subtotal: 0,
tax_total: 0,
total: 0,
Expand Down Expand Up @@ -1393,6 +1395,7 @@ describe("OrderService", () => {
gift_card_total: 0,
id: IdMap.getId("order"),
items: [],
item_tax_total: 0,
paid_total: 0,
raw_discount_total: 0,
refundable_amount: 0,
Expand All @@ -1405,6 +1408,7 @@ describe("OrderService", () => {
},
],
shipping_total: 0,
shipping_tax_total: 0,
subtotal: 0,
tax_total: 0,
total: 0,
Expand Down
6 changes: 5 additions & 1 deletion packages/medusa/src/services/order.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1909,8 +1909,12 @@ class OrderService extends TransactionBaseService {
order.gift_card_total = giftCardTotal.total || 0
order.gift_card_tax_total = giftCardTotal.tax_total || 0

order.item_tax_total = item_tax_total
order.shipping_tax_total = shipping_tax_total
order.tax_total =
item_tax_total + shipping_tax_total - order.gift_card_tax_total
order.item_tax_total +
order.shipping_tax_total -
order.gift_card_tax_total

for (const swap of order.swaps ?? []) {
swap.additional_items = swap.additional_items.map((item) => {
Expand Down
Loading