A/P Credit Note
A/P Credit Note's Database
UI Name
Database
Type
Remarks
Doc Key
docKey
Number
E.g.: 1234
Creditor
creditorCode
String
E.g.: 400-C999
CN No.
docNo
String
E.g.: DOC123456
Date
docDate
String
E.g.: 2024-01-01T00:00:00+08:00
Description
description
String
E.g.: PURCHASE - ITEM123
Journal Type
journalType
String
E.g.: PURCHASE
Inclusive
inclusiveTax
Boolean
E.g.: true
A/P Credit Note's Table Item
UI Name
Database
Type
Remarks
Credit A/C
accNo
String
E.g.: 700-0001
Description
description
String
E.g.: SHIPPING CHARGES
Amount
amount
Number
E.g.: 500.75
Tax Code
taxCode
String
E.g.: TX-5
A/P Credit Note's Sample Code
Remember to change to the correct field before proceeding to run ANY script.
import clr
clr.AddReference("Newtonsoft.Json")
clr.AddReference("System.Net")
clr.AddReference("System.IO")
from System.Text import *
from Newtonsoft.Json import *
from Newtonsoft.Json.Linq import *
from System import *
clr.AddReference("System.Drawing")
from System.Drawing import Bitmap, Image
from System.Drawing.Imaging import ImageFormat
from System.IO import MemoryStream, StreamWriter
from System.Net import WebClient
import binascii
from System import BitConverter
#search
documentList = Module('YOUR-MODULE-NAME').findAll({ 'Audit.UpdatedDate': { '$gt': Inputs['lastSync'] }, 'Audit.UpdatedBy': { "$ne": 'External' } })
debug('documentList', documentList)
resultList = []
def prepareRow(x):
row = JObject()
row["accNo"] = x['YOUR-ITEM-CODE']
row["description"] = x['YOUR-DESCRIPTION']
row["amount"] = x['YOUR-TOTAL']
if x["Tax Code"].Id != 0:
row["taxCode"] = x['Tax Code']['YOUR-TAX-CODE']
# row["taxRate"] = x['Tax Code']['Percentage'].ToString()
return row
def preparePayload(data):
payloadData = JObject()
payloadData["type"] = "APCN"
payloadData["cancelled"] = data['YOUR-CANCELLED']
payloadData["payload"] = JObject()
if data['YOUR-CODE'] != None and data['YOUR-CODE'] != 0:
payloadData["payload"]["docKey"] = data['YOUR-CODE']
payloadData["payload"]["creditorCode"] = data['YOUR-COMPANY-CODE']
payloadData["payload"]["docNo"] = data['YOUR-SUPPLIER-CREDIT-NOTE-NO.']
payloadData["payload"]["docDate"] = data['YOUR-SUPPLIER-CREDIT-NOTE-DATE']
payloadData["payload"]["description"] = data['YOUR-TRANSACTION-DESCRIPTION']
payloadData["payload"]["journalType"] = "PURCHASE"
payloadData["payload"]["inclusiveTax"] = True
payloadData["payload"]["details"] = JArray.FromObject(data['YOUR-DETAILS'].Select(lambda x: prepareRow(x)))
payloadData["LastModified"] = data.UpdatedDate
return payloadData
#end of added
for entry in documentList:
payloadData = preparePayload(entry)
if payloadData["payload"]["creditorCode"] != None and payloadData["payload"]["creditorCode"] != "":
resultList.append(payloadData)
#debug('payloadData', payloadData)
#debug('done', resultList)
outputs['results'] = JArray.FromObject(resultList)
Last updated