Creditor

Creditor's Database

UI Name
Database
Type
Remarks

Creditor Account

accNo

String

E.g.: 401-A001

Control Account

controlAccount

String

E.g.: 400-0000

Company Name

companyName

String

E.g.: GLOBAL SHIPPING INC.

Billing Address [Line 1]

address1

String

E.g.: 123 OCEAN DRIVE

Billing Address [Line 2]

address2

String

E.g.: SUITE 200

Billing Address [Line 3]

address3

String

E.g.: MARINA BAY

Billing Address [Line 4]

address4

String

E.g.: SINGAPORE 018956

Phone [Line 1]

phone1

String

E.g.: +6512345678

Phone [Line 2]

phone2

String

E.g.: +6598765432

Attention

attention

String

E.g.: MR. TERRY

Email Address

emailAddress

String

E.g.: contact@globalshipping.com

Currency

currencyCode

String

E.g.: SGD

Credit Term

displayTerm

String

E.g.: NET 30

Creditor's Sample Code

To find {fieldName}, you are required to have access to Alpha or use Network in Developer Tools [F12].

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('Company Profile').findAll({ 
    'Audit.UpdatedDate': { '$gt': Inputs['lastSync'] }, 
    'Audit.UpdatedBy': { "$ne": 'External' }, 
    'Dynamic.Extension.{YOUR-FIELD-ID}': True  # Optional: apply this filter only if required by the specification
})
debug('documentList', documentList)

resultList = []

def preparePayload(data):
    
    payloadData = JObject()
    payloadData["type"] = "APCreditor"
    payloadData["payload"] = JObject()
    if data['{YOUR-CREDITOR-CODE}'] != None and data['{YOUR-CREDITOR-CODE}'] != "":
        payloadData["payload"]["accNo"] = data['{YOUR-CREDITOR-CODE}'] 
    payloadData["payload"]["controlAccount"] = '400-0000'
    payloadData["payload"]["companyName"] = data['{YOUR-COMPANY-NAME}']
    payloadData["payload"]["address1"] = str(data['{YOUR-ADDRESS-1}'])[:40] if data['{YOUR-ADDRESS-1}'] is not None else None
    payloadData["payload"]["address2"] = str(data['{YOUR-ADDRESS-2}'])[:40] if data['{YOUR-ADDRESS-2}'] is not None else None
    payloadData["payload"]["address3"] = str(data['{YOUR-ADDRESS-3}'])[:40] if data['{YOUR-ADDRESS-3}'] is not None else None
    payloadData["payload"]["address4"] = str(data['{YOUR-ADDRESS-4}'])[:40] if data['{YOUR-ADDRESS-4}'] is not None else None
    payloadData["payload"]["phone1"] = data['{YOUR-TEL-1}']
    payloadData["payload"]["phone2"] = data['{YOUR-TEL-2}']
    payloadData["payload"]["attention"] = data['{YOUR-SALES-STAFF}'].ToString()
    payloadData["payload"]["emailAddress"] = data["{YOUR-EMAIL-1}"]
    payloadData["payload"]["currencyCode"] = data['{YOUR-TRADING-CURRENCY}'].ToString()
    payloadData["payload"]["displayTerm"] = data['{YOUR-PAYMENT-TERM}'].ToString()
    
    payloadData["LastModified"] = data.UpdatedDate
    
    return payloadData

#end of added
for entry in documentList:
    payloadData = preparePayload(entry)
    resultList.append(payloadData)
    #debug('payloadData', payloadData)
    
debug('done', resultList)

outputs['results'] = JArray.FromObject(resultList)

Last updated