대동상정법은 조선 후기에 함경도 · 강원도 · 황해도에서 실시되었던 변형된 대동법(大同法)이다. 이 지역들은 자연환경 때문에 농업 생산력의 발달이 더딘 지역으로 곡식 생산량이 불안정하고 도내에서도 농업 생산의 지역별 편차가 컸다. 이런 조건에서 경작지에 균일하고 일정한 과세액을 정하기는 어려웠다. 대동상정법은 현물납을 전세화했다는 점에서 대동법의 일환이었고, 군현별 경작지 사정에 따라 수취액을 달리했다는 점에서 대동법과는 차이를 보인다. 대동상정법도 대동법처럼 1894년 갑오개혁 후 지세제(地稅制)가 실시되면서 지세에 흡수되었다.
대동상정법(大同詳定法)은 수취(收取) 제도의 하나로, 상정법(詳定法)이라고도 한다. 이미 시행 중인 대동법(大同法)은 현물납이었던 공납(貢納)을 전세화(田稅化)하여, 토지 등급에 상관없이 1결(結)에 12두(斗)씩을 일괄적으로 부과한 수취 제도였다. 그런데 이것이 가능하려면 농업(農業) 생산력의 발전이 뒷받침되어야 했다. 그러나 함경도는 토지가 척박하고 고을마다 농업 생산량이 크게 달랐기 때문에 도내 모든 고을의 경작지에 대해서 일률적으로 동일한 과세액(課稅額)을 부과하기 어려웠다. 이에 군현별 실정과 토지 등급에 따라 형편에 맞게 세액을 상정해 부과했다. 이를 대동상정법이라 하였으며 1666년(현종 7)부터 시행했다.
기존의 진상 · 공물 값에 상당하는 전미(田米)와 마포(麻布)를 군현 내의 토지에서 균등하게 걷게 하고, 정전(正田)에 한하여 쌀 ‧ 콩 ‧ 잡물을 적당히 거두어 감영(監營)의 경비로 쓰게 했다. 이 제도에는 도내 각 고을의 실정을 반영할 수 있다는 장점이 있었기 때문에 사정이 비슷했던 강원도와 황해도로 확대 시행되었다.
강원도는 1624년(인조 2)부터 이미 대동법이 시행되고 있었으나, 1710년(숙종 36) 대동상정법으로 전환하였다. 이 해에 일부 고을에 양전(量田)을 행한 뒤 26개 군현을 세 부분으로 나누어 징수액을 정하였다. 그리고 1754년(영조 30)과 1758년(영조 34)에는 이를 다시 고쳐 토지 1결당 쌀 12두로 균일하게 부과하였다.
황해도는 1708년(숙종 34)부터 대동상정법을 시행했으나 군현마다 토지에 결당 징수액의 차이가 심했기 때문에 1710년(숙종 36)에 17두로 균일화했다. 이 17두에는 별수미(別收米) 3두가 포함되었다. 그 후 1747년(영조 23)에는 별수미 3두를 포함해 모두 15두로 통일하여 대동법 체제로 바뀌었다.
대동상정법이 실시되었던 함경도 · 강원도 · 황해도는 조선 전체로 보면 자연환경 때문에 다른 지역에 비해 농업 생산력 발달이 더딘 지역이었다. 그로 인해 곡식 생산량이 안정되지 않고 지역별로 편차가 컸으며, 이런 조건에서 균일하게 일정한 과세액을 부과하기가 어려웠고 세액의 부과와 지출에 대한 규정을 마련하기가 힘들었다. 그리하여 결국 함경도에서는 1763년(영조 39)에 원공(元貢)의 일부를 줄이고 수령의 징수액을 규제하였다. 또한 중앙 각 관청에 직접 납부하던 진상 · 공물 값을 모두 상평청(常平廳)에 납부하도록 하였다.
한편 상정미(詳定米)는 1894년 갑오개혁 이후 지세제(地稅制)가 실시되자 대동미와 함께 지세에 포함되었다.