Skip to main content

Code Lists (Common Codes)

The Code Lists endpoint allows you to retrieve KRA-managed master codes such as:

  • Taxation types
  • Unit codes
  • Country codes
  • Payment method codes
  • Other standardized reference data

These codes are mandatory dependencies for many OSCU requests (items, sales, stock, purchases).

Endpoint


POST /selectCodeList


Purpose

This API:

  • Retrieves code classifications and detail codes
  • Returns only codes created or modified after lastReqDt
  • Ensures client-side validation aligns with KRA master data

ℹ️ Code lists should be cached locally and refreshed periodically.


Request Object: CodeSearchReq

Request Fields

FieldDescriptionTypeRequiredLength
lastReqDtLast Request Date (YYYYMMDDHHmmss)CHAR✅ Yes14

🔎 lastReqDt filters results to codes registered or updated after the specified date.


JSON Request Example

{
"lastReqDt": "20180520000000"
}

Response Object: CodeSearchRes

Top-Level Fields

FieldDescriptionType
resultCdResult code (000 = success)CHAR(3)
resultMsgResult messageCHAR
resultDtResponse timestampCHAR(14)

Code Classification (clsList)

Each entry represents a code class.

FieldDescriptionType
cdClsCode ClassCHAR(2)
cdClsNmCode Class NameCHAR(60)
cdClsDescCode Class DescriptionCHAR(500)
userDfnNm1User Defined Name 1CHAR(60)
userDfnNm2User Defined Name 2CHAR(60)
userDfnNm3User Defined Name 3CHAR(60)
useYnUse 여부 (Y/N)CHAR(1)

Code Details (dtlList)

Each code class contains a list of detail codes.

FieldDescriptionType
cdCodeCHAR(5)
cdNmCode NameCHAR(60)
cdDescCode DescriptionCHAR(500)
srtOrdSort OrderNUMBER
userDfnCd1User Defined Code 1CHAR(20)
userDfnCd2User Defined Code 2CHAR(20)
userDfnCd3User Defined Code 3CHAR(20)
useYnUse 여부 (Y/N)CHAR(1)

JSON Response Example

{
"resultCd": "000",
"resultMsg": "It is succeeded",
"resultDt": "20200226143506",
"data": {
"clsList": [
{
"cdCls": "04",
"cdClsNm": "Taxation Type",
"cdClsDesc": null,
"useYn": "Y",
"userDfnNm1": "TaxRate",
"userDfnNm2": null,
"userDfnNm3": null,
"dtlList": [
{
"cd": "A",
"cdNm": "A- EX",
"cdDesc": "...",
"useYn": "Y",
"srtOrd": 1,
"userDfnCd1": "0"
},
{
"cd": "B",
"cdNm": "B-18.00%",
"cdDesc": "B- 18.00%",
"useYn": "Y",
"srtOrd": 2,
"userDfnCd1": "18"
}
]
}
]
}
}

resultCd = 000 means the request succeeded. Refer to API Response Codes for error handling.


SDK Usage Examples

$codes = $etims->selectCodeList([
'lastReqDt' => date('YmdHis', strtotime('-7 days'))
]);

$clsList = $codes['clsList'] ?? [];

echo "Code Classes found: " . count($clsList) . PHP_EOL;

foreach ($clsList as $cls) {
echo "- {$cls['cdCls']} ({$cls['cdClsNm']})" . PHP_EOL;

foreach ($cls['dtlList'] ?? [] as $detail) {
echo " • {$detail['cd']} ({$detail['cdNm']})" . PHP_EOL;
}
}

Best Practices

  • Cache code lists locally
  • Refresh periodically (e.g. once daily)
  • Always validate item, tax, unit, and payment codes against this API
  • Do not hardcode values unless explicitly permitted by KRA

Next Steps