Skip to main content

Save Item

The Save Item API is used to register or update product master data in the KRA eTIMS OSCU system.

Each item represents a sellable or purchasable product and must be registered before it can be used in:

  • Sales transactions
  • Purchase transactions
  • Inventory management
  • Tax calculations

Endpoint


POST /saveItem


Purpose

This API allows you to:

  • Register new items in eTIMS
  • Update existing item information
  • Assign tax types, units, and pricing
  • Control item availability (active / inactive)

⚠️ Items must reference valid classification, unit, tax, and nation codes obtained from the Code Lists and Item Classifications APIs.


Request Object: ItemSaveReq

Request Fields

FieldDescriptionTypeRequiredLength
itemClsCdItem Classification CodeCHAR✅ Yes10
itemCdItem CodeCHAR✅ Yes20
itemTyCdItem Type CodeCHAR✅ Yes5
itemNmItem NameCHAR✅ Yes200
itemStdNmItem Standard NameCHAR❌ No200
orgnNatCdOrigin Nation CodeCHAR✅ Yes5
pkgUnitCdPackaging Unit CodeCHAR✅ Yes5
qtyUnitCdQuantity Unit CodeCHAR✅ Yes5
taxTyCdTaxation Type CodeCHAR✅ Yes5
btchNoBatch NumberCHAR❌ No10
bcdBarcodeCHAR❌ No20
dftPrcDefault Unit PriceNUMBER✅ Yes18,2
grpPrcL1Group 1 Unit PriceNUMBER❌ No18,2
grpPrcL2Group 2 Unit PriceNUMBER❌ No18,2
grpPrcL3Group 3 Unit PriceNUMBER❌ No18,2
grpPrcL4Group 4 Unit PriceNUMBER❌ No18,2
grpPrcL5Group 5 Unit PriceNUMBER❌ No18,2
addInfoAdditional InformationCHAR❌ No7
sftyQtySafety QuantityNUMBER❌ No13,2
isrcAplcbYnInsurance Applicable (Y/N)CHAR✅ Yes1
useYnActive Status (Y/N)CHAR✅ Yes1
regrIdRegistration IDCHAR✅ Yes20
regrNmRegistration NameCHAR✅ Yes60
modrIdModifier IDCHAR✅ Yes20
modrNmModifier NameCHAR✅ Yes60

JSON Request Example

{
"itemCd": "KE1NTXU0000006",
"itemClsCd": "5059690800",
"itemTyCd": "1",
"itemNm": "test material item3",
"itemStdNm": null,
"orgnNatCd": "KE",
"pkgUnitCd": "NT",
"qtyUnitCd": "U",
"taxTyCd": "B",
"btchNo": null,
"bcd": null,
"dftPrc": 3500,
"grpPrcL1": 3500,
"grpPrcL2": 3500,
"grpPrcL3": 3500,
"grpPrcL4": 3500,
"grpPrcL5": null,
"addInfo": null,
"sftyQty": null,
"isrcAplcbYn": "N",
"useYn": "Y",
"regrId": "Test",
"regrNm": "Test",
"modrId": "Test",
"modrNm": "Test"
}

Response Object: ItemSaveRes

Response Fields

FieldDescriptionType
resultCdResult Code (000 = success)CHAR(3)
resultMsgResult MessageCHAR
resultDtResult TimestampCHAR(14)

JSON Response Example

{
"resultCd": "000",
"resultMsg": "It is succeeded",
"resultDt": "20200226193918",
"data": null
}

SDK Usage Examples

item_data = {
'itemCd': 'KE1NTXU0000006',
'itemClsCd': '5059690800',
'itemTyCd': '1',
'itemNm': 'test material item3',
'itemStdNm': None,
'orgnNatCd': 'KE',
'pkgUnitCd': 'NT',
'qtyUnitCd': 'U',
'taxTyCd': 'B',
'dftPrc': 3500,
'isrcAplcbYn': 'N',
'useYn': 'Y',
'regrId': 'Test',
'regrNm': 'Test',
'modrId': 'Test',
'modrNm': 'Test',
}

response = etims.save_item(item_data)

print("Result Code:", response.get('resultCd'))
print("Result Message:", response.get('resultMsg'))
print("Result Date:", response.get('resultDt'))

Best Practices

  • Generate unique item codes
  • Validate all reference codes before saving
  • Cache item master data locally
  • Do not delete items — set useYn = 'N' instead