Skip to content

[Bug]: Orders created in admin panel have incorrect requires_shipping when fulfillment is created #14304

@Gintasz

Description

@Gintasz

Package.json file

{
  "name": "medusa-backend",
  "version": "1.0.0",
  "description": ".",
  "author": "Gintas",
  "license": "MIT",
  "keywords": [
    "sqlite",
    "postgres",
    "typescript",
    "ecommerce",
    "headless",
    "medusa"
  ],
  "scripts": {
    "predeploy": "medusa db:migrate",
    "build": "medusa build",
    "seed": "medusa exec ./src/scripts/seed.ts",
    "start": "medusa start",
    "dev": "medusa develop",
    "test:integration:http": "TEST_TYPE=integration:http NODE_OPTIONS=--experimental-vm-modules jest --silent=false --runInBand --forceExit",
    "test:integration:modules": "TEST_TYPE=integration:modules NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit",
    "test:unit": "TEST_TYPE=unit NODE_OPTIONS=--experimental-vm-modules jest --silent --runInBand --forceExit"
  },
  "dependencies": {
    "@agilo/medusa-analytics-plugin": "^1.0.0",
    "@alphabite/medusa-paypal": "^0.2.0",
    "@medusajs/admin-sdk": "2.12.1",
    "@medusajs/analytics-posthog": "^2.12.1",
    "@medusajs/cli": "2.12.1",
    "@medusajs/event-bus-redis": "^2.12.1",
    "@medusajs/framework": "2.12.1",
    "@medusajs/medusa": "2.12.1",
    "@medusajs/payment": "^2.12.1",
    "@mikro-orm/core": "6.4.16",
    "@mikro-orm/knex": "6.4.16",
    "@mikro-orm/migrations": "6.4.16",
    "@mikro-orm/postgresql": "6.4.16",
    "@perseidesjs/auth-otp": "^2.1.2",
    "@perseidesjs/notification-nodemailer": "^1.1.0",
    "@react-email/components": "^1.0.1",
    "@react-email/render": "^2.0.0",
    "@react-email/tailwind": "^2.0.1",
    "@rsc-labs/medusa-store-analytics-v2": "^0.1.4",
    "awilix": "^8.0.1",
    "medusa-plugin-auth": "^1.11.1",
    "medusa-plugin-discount-generator": "^1.1.28",
    "nodemailer": "^7.0.5",
    "pg": "^8.13.0",
    "zod": "^4.1.13"
  },
  "devDependencies": {
    "@medusajs/test-utils": "2.12.1",
    "@mikro-orm/cli": "6.4.16",
    "@swc/core": "1.5.7",
    "@swc/jest": "^0.2.36",
    "@types/jest": "^29.5.13",
    "@types/node": "^20.0.0",
    "@types/react": "^18.3.2",
    "@types/react-dom": "^18.2.25",
    "jest": "^29.7.0",
    "prop-types": "^15.8.1",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "ts-node": "^10.9.2",
    "typescript": "^5.6.2",
    "vite": "^5.2.11",
    "yalc": "^1.0.0-pre.53"
  },
  "engines": {
    "node": ">=20"
  },
  "optionalDependencies": {
    "@rollup/rollup-linux-arm64-gnu": "^4.46.2"
  },
  "private": true,
  "workspaces": [
    "plugins/*"
  ]
}

Node.js version

v24.4.0

Database and its version

PostgreSQL 18.1

Operating system name and version

mac

Browser name

No response

What happended?

I have 1 product in my store. The product has a default shipping profile attached to it. Managed inventory is off.
When I create an order through my storefront, then in admin panel I create fulfillment, a requires_shipping in database is correctly set to true.
When I create a draft order in admin panel, select same product, then convert it to an order and create fulfillment in admin panel, a requires_shipping in database is incorrectly set to false. This makes it impossible to attach a tracking number to orders that are created via admin panel.

Expected behavior

requires_shipping should be correctly set to true for orders that are created via admin panel.

Actual behavior

Descibed above.

Link to reproduction repo

none

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions