Inistate Documentation
  • Welcome
  • Workspace
  • Module
  • User
    • Role
    • Profile
    • Management
  • Configuration
    • Builder
    • Studio
  • Features
    • Basic
    • Information
    • Listing
    • Activity
    • Form
    • State
    • Flow
  • Advanced
    • Formula
    • Authorization
    • Automation
      • Automation Block
      • Scripting
    • Notification
    • Template
      • Report Starter Kit
      • Code
    • Logic
    • Integration
      • Accounting 1
        • Invoice
        • Cash Sale
        • Delivery Order
        • Stock Transfer
        • Sales Order
        • Creditor
        • Credit Note
        • Debit Note
        • A/P Invoice
        • A/P Credit Note
        • A/P Debit Note
        • Customer
      • Accounting 2
        • Debtor
        • Purchase Order
        • Good Receive
        • Payment Voucher
        • Customer Invoice
        • Customer Payment
      • Jobs json
      • Error Handling
      • Call Back
    • Scripting (Beta)
Powered by GitBook
On this page
  • A/P Credit Note's Database
  • A/P Credit Note's Table Item
  • A/P Credit Note's Sample Code
  1. Advanced
  2. Integration
  3. Accounting 1

A/P Credit Note

A/P Credit Note's Database

UI Name
Database
Type
Remarks

Doc Key

Number

E.g.: 1234

Creditor

String

E.g.: 400-C999

CN No.

String

E.g.: DOC123456

Date

String

E.g.: 2024-01-01T00:00:00+08:00

Description

String

E.g.: PURCHASE - ITEM123

Journal Type

String

E.g.: PURCHASE

Inclusive

Boolean

E.g.: true

Table Item

Array

A/P Credit Note's Table Item

UI Name
Database
Type
Remarks

Credit A/C

String

E.g.: 700-0001

Description

String

E.g.: SHIPPING CHARGES

Amount

Number

E.g.: 500.75

Tax Code

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.

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('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)
PreviousA/P InvoiceNextA/P Debit Note

Last updated 1 month ago

docKey
creditorCode
docNo
docDate
description
journalType
inclusiveTax
details
accNo
description
amount
taxCode
Refer Below