一、需求明确
根据业务需求,业务流程,明确会计分录。
借:
贴现转入账号 批量票面总额
贷:结算账号(内部账号) 实付金额 //传入 企业存款科目
贷:利息收入账号(000101674000001X) 实收利息
收:表外账号(000101020000001X) 转贴现批量票面总额
二、根据会计分录,填制会计分录参数表
会计分录表核心字段说明:
TRCD 交易代码 8462
REKD 交易种类 表内记账填写默认值“ ” //空格
MNSC 资金来源 无需填写时填空格
MNDN 资金去向 同上
VINO 传票组内序号 同组内顺序递增
以上五个字段为一组,程序调用会计分录参数表时调用整组会计分录。
ACSC 帐号来源 A:填写TCIF结构体中ACNO
B:填写TAIF结构体中ACNO
C:代销帐序号,自动生成帐号,传序号字段即可(下)
D:拼帐号
SBSC 机构号来源
CYSC 币种来源 01 - RMB
IFSC 业务代号
SQSC 帐号序号
若ACSC中来源为D,上述四个字段有效,帐号组合原理:机构号+币种+业务代号+帐号序号
AISC 帐号相关信息 当程序开销户时填写,以便冲抹帐
AMCD 借贷标识 0:借 收 1:贷 付
AMFO 金额公式 为一数组 01 - tram[0] 调用时赋值即可
BPFG 入总帐标识 一般都入总帐
当一个交易码对应多套会计分录时,填写完会计分录参数表后尽量优化数据表,注意会计分录唯一性。
三、程序编码
/* 收:表外账号(000101020000001X) 转贴现批量票面总额 */ if (FKNInitMst(&stSchMain) == FAIL) { return FAIL; } strcpy(stSchMain.trkd, "1"); stSchMain.tram[0] =dDFAM; if (BKNSchMain(&stSchMain) == FAIL) { return FAIL; } /* 表内 借: 贴现转入账号 批量票面总额 贷:结算账号(内部账号) 实付金额 贷:利息收入账号(000101674000001X) 实收利息 */ if (FKNInitMst(&stSchMain) == FAIL) { return FAIL; } strcpy(stSchMain.mnsc, "1"); strcpy(stSchMain.acif.acno, TMPACNO[0]); strcpy(stSchMain.taif.acno, stIn.sACNO); stSchMain.tram[0] = dDFAM; stSchMain.tram[1] = dDFAM-dFRIT; stSchMain.tram[2] = dFRIT; if (BKNSchMain(&stSchMain) == FAIL) { return FAIL; }
四、测试记账结果
主要看账目是否平衡,交易双方(多方)帐号标识中有余额方向和余额性质
若为0,表借记余额增加,若为1则相反。