AX2012中有个模块叫做出差和支出,用于管理出差以及相关的费用,用户只能在员工自助服务EP站点上提交出差申请、费用报销报告,在Client程序中做审核以及后续的支付动作等,最后形成相关的财务分录。

出差申请

在自助服务站点的Expense下用户可以新建一个“Travel requistion”,需要填写的内容包括出差原因、出差目的地、以及预计的出差费用行。

出差原因在“Travel and expense>Setup>Optional setup>Expense purpose”维护,出差的目的地在“Travel and expense>Setup>Optional setup>Travel locations”维护。费用行需要首先选择一个Expense category,支出类别在“Travel and expense>Setup>Travel and expense entry>Expense category”维护。支出类别不是表面看起来那样简单,根据支出类别类型的不同能设置的内容也不同。新建一个支出类别前需要新建一个共享类别(Travel and expense>Setup>Travel and expense entry>Shared categories),诚如其名,这个类别为多个模块共享,在Project management and accouting、Organization administration的设置中都能找到Shared categories。

一个共享类别可以用于项目、支出、或者生产,但是一个共享类别不能同时用于支出和生产,如果你同时选中“Can be used in expense”和“Can be used in production”,系统会给出警告提示。如果选择了用于支出,你必须选择一个支出类型(枚举TrvExpType),比如津贴、旅馆、航线等,而根据支出类型是否支持明细的不同(TrvExpenseType::supportsItemization()),你还可以设置子类别,比如上图中的Airline是可以有明细的。

有了可用于支出的共享分类,才能新建支出分类,新建支出分类时只能从可用于支出的共享分类中选择。

在支出分类中可以设置支付方式、是否强制明细、是否启用、统计组、以及财务主科目。有的支出类型是不能设置财务科目的,比如个人花费(Personal expenses)。其中有两个支出分类是比较特殊的,Mileage和Perdiem:

Mileage用于私车公用(瓷器国听到的多是公车私用啊)情况,后续在计算费用的时候是根据里程×费率来计算的,在“Travel and expense parameters”的“Standard rate of mileage”中可以维护标准费率(在Human resource中打开某个员工,Expense management>Mileage下可以维护年度费率,是否和支出有联系又是具体怎么用还没来得及研究)。

Perdiem中文叫做出差津贴,在Travel and expense>Setup>Per diems>Per diems维护,首先需要在Per diem locations中维护津贴地点,比如出差的城市,根据出差城市的不同在津贴维护中设置相应的酒店费用、餐费和其他费用、起止日期,在Per diem rate ties中还可以根据出差时长设置报销的比率。后续支出报告中根据选择的津贴城市、时长具体计算津贴的总费用。

回到出差申请的创建,在添加一些类型的支出行时,还可以选择相应的商业单位(Merchants),比如航空公司、酒店名称等,在“Travel and expense>Setup>Optional setup>Merchants”维护。编辑完支出行点击保存时会自动计算费用,完成所有支出行的编辑后就可以提交出差申请了。根据工作流的设置(Travel and expense>Setup>Travel and expense workflows)出差申请会为具有批准权限的用户创建工作事项,有意思的是在试图打开出差申请的工作项时会有错误(\Classes\WorkflowQueueDocumentView\main在打开工作项相关MenuItem的Form时因为菜单项名称空提示FormRun未初始化),原因在于在Client中没有一个Form来查看出差申请(支出报告是有的),出差申请的批准也只能在自助服务的审核中完成。审核完成的出差申请不能再编辑,在“Travel requisitions”列表中我们可以看到相应的审核状态,还有一个状态叫做Reconciliation status,显示的是出差申请费用是否结清,在操作板上有个“Close”的按钮可以用来手工关闭出差申请为结清状态。

支出报表

其实翻译成费用报销更为合适,同样也是在自助服务EP站点中创建,在新建一个Expense report时会弹出一个对话框,提示选择未结的费用:

这里显示的记录来自于Data set TrvUnreconciledExpenseTransaction,它基于视图TrvUnreconciledExpenseTransUnion,视图TrvUnreconciledExpenseTransUnion又来自于查询TrvUnreconciledExpenseTransUnion,查询TrvUnreconciledExpenseTransUnion是视图TrvUnreconciledCreditCardTrans和视图TrvUnreconciledExpenseTrans的联合,前者的数据来自于表TrvPBSMaindata,后者的数据来自于表TrvUnreconciledExpenseTransaction(这一长串的关系!)。

TrvPBSMaindata表示的是这样的数据-比如出差中使用了公司的信用卡付费,这些付费的记录就保存在表TrvPBSMaindata中,这些记录可以通过Travel and expense>Periodic>Credit card transactions查看,但是系统中是没有地方输入这些记录的,它们可以使用Travel and expense>Periodic>Credit cards>Credit card import from folder或者Travel and expense>Periodic>Credit cards>Import a specific credit card file,前者导入一个目录下的所有文件,后者导入一个指定的文件。那么文件是什么样的格式呢?在导入对话框中是需要选择一个导入格式的,其实是一个AIF的入口端口名称,我们需要使用服务TrvPBSMaindataService创建一个入站的文档服务,文件的格式则是文档服务描述的XML格式。导入功能会间接的调用TrvPBSMaindataService服务来导入数据,大致的执行路径(导入文件夹为例)是TrvSysImportFolderBatch.run()->SysImportBatchProcessor.run()->SysImportProcessor.processInput()->AifImportUtil::ProcessFile(sourceFile, _inputFileFormat),参数_inputFileFormat就是入站端口的名称。

还有一些费用报销凭据来自于消费的收据,收据数据(传真件,比如tif格式的图片)可以通过Travel and expense>Periodic>Receipts>Import faxed receipts for employee或者Travel and expense>Periodic>Receipts>Import faxed receipts for expense report导入,导入的结果就保存在表TrvUnreconciledExpenseTransaction中。导入文件通过文件名称来确定员工或者支出报告号,比如文件名“员工编号$01_20130618.tif”,员工编号必须在首位,使用“$”和“_”分离其他内容,在EP站点中选择一个支出报表我们可以通过操作板上的Employee cover page或者Expense report cover page打印传真的封面页(在我的系统中显示不出相应报表中的图片!)。导入传真的员工收据的执行路径TrvImportReceiptsBatch_Employee.main()->TrvImportReceiptsBatch.run()->TrvImportReceiptsBatch_Employee.importFile()->TrvReceiptsHelper.attachFileToEmployee(hcmWorker.RecId, _filename, _file),它在TrvUnreconciledExpenseTransaction表中查找/创建员工的记录,并将导入的文件作为附件保存到表docref中,在这一过程中看不到任何导入具体费用金额的地方;导入传真的支出报告收据的执行路径TrvImportReceiptsBatch_ExpenseReport.main()->TrvImportReceiptsBatch.run()->TrvImportReceiptsBatch_ExpenseReport.importFile()->TrvReceiptsHelper.attachFileToExpenseReport(TrvExpNumber _expNumber, Filename _filename, DocuValueFile _file, Description _documentDescription = ''),它只是简单的把导入的文件作为支出报表的附件创建相应的docref记录,也没看到具体导入金额的地方。那么具体如何导入消费的具体信息呢?同样可以使用AIF服务,这次用到的服务名称是TrvUnreconciledExpenseService,在系统中没有找到和导入信用卡记录类似的操作,看来只能手工调用这个服务来操作了,另外也没有看到任何窗口可以查看这些导入的TrvUnreconciledExpenseTransaction记录。

表TrvPBSMaindata和TrvUnreconciledExpenseTransaction数据的合集称为未结的支出消费,在创建支出报表时我们可以选择这些未结支出,它会自动为我们创建相应的支出行并做详细化(Itemization),我们也可以在支出报表中使用“Add unreconciled expenses”手工选择未结支出来创建支出行。

当然也可以使用New expense line手工创建支出行,这和出差申请的支出行类似,不再赘述。

在费用支出上,我们是可以设置策略的(Travel and expense>Setup>Polices>Expense report),比如在某个城市的酒店住宿费不能超过多少,如果超过限制金额则不运行提交。另外在支出报表的Travel requistion一栏可以选择一个出差申请,表示费用报销是基于哪次出差的,在Tranvel and expense parameters中有个设置叫做“Pre-authorization of travel is mandatory”,如果勾选这个选项,支出报表必须选择一个出差申请(Tables\TrvExpTable\validateSubmit中验证)。

同样,完成支出报表的编辑后提交到工作流,所有的支出报表在Travel and expense>Expense reports>All expense reports中看到,我们可以直接在这里批准,而不需要转到工作列表或者EP上的审核列表。已经批准的支出报表可以过账(Post)为财务分录,记账科目为支出类别以及支付方式的不同而不同(留待以后研究)。

更多相关内容可以参考http://technet.microsoft.com/en-us/library/hh242148.aspx、http://technet.microsoft.com/en-us/library/hh299217.aspx。

转载于:https://www.cnblogs.com/duanshuiliu/p/3143664.html

[AX]AX2012 R2 出差申请和支出报告相关推荐

  1. 员工福利发放 --【出差申请】后 做调整【出差日期调整申请】 ---不出差

    福利发放: (员工福利-发放计算  调存储过程  KinWelfarePaymentCalculation) -----------------调用:KinUserCalendar员工月份工作日历表- ...

  2. [AX]AX2012 SSRS报表使用Report Data Method

    在AX2012的SSRS报表中可以使用c#或者Visual basic .net编写report data method来获取和操作数据,由report data method返回的数据可以用在报表的 ...

  3. [AX]AX2012 使用.NET程序集部署

    在.NET Interop from X++一文中有提到X++可以引用的.NET程序集,这里就这个问题更加深入的探讨. 前文中说到X++所引用的.NET程序集需要手工拷贝到Client\bin目录下, ...

  4. [AX]AX2012 纪录缓存

    为了加快对AX表纪录的访问,可以把从数据库读取的纪录缓存在内存中,以减少对数据库的频繁读取提高性能.纪录缓存有两种,一是单条纪录缓存,二是集合缓存. 集合缓存可以在设计时将表的的CacheLookup ...

  5. Dynamics AX 2012 R2 外部程序运行在没有AD的环境(如PDA) 调用AX服务

    Reinhard对这个问题研究了很久,也查了一些资料,整理了三种解决方案. 1.准备一台虚拟机A,A加入到了AD活动域,可以操作AX. PDA以远程桌面的方式,连接到虚拟机A. 在虚拟机上运行定制的客 ...

  6. [AX]AX2012开发新特性-全文索引

    全文索引在索引中识别字符串字段中使用空格隔开的单词,不像普通索引仅仅使用字符串的第一个单词,这样能加快对字符串字段的搜索.AX2012支持每个表有一个且只能有一个全文索引,索引可以包含多个字段,对字段 ...

  7. [AX]AX2012 AIF(二):文档服务编程模型

    一个完整的文档服务包含很多对象,以Customer服务为例,它包含以下对象: 查询AxdCustomer:这个query的顶层表为CustTable,其下Datasource包含表DirParty,D ...

  8. [AX]AX2012 C#使用IIS宿主AIF服务的一些问题

    AIF的服务可以是宿主在AOS,使用NetTcp适配器:也可以是宿主在IIS,使用HTTP适配器,两种方式都可以在C#工程中添加Service reference来调用这些服务.配置及使用NetTcp ...

  9. Microsoft Dynamics AX2012 R2吐槽系列(4)

    之四 历经艰辛又搞出来一段代码,在SSMS中测试的时候好好的,结果跑到X++ 中,发现运行结果和运气相关,运气好的时候结果和SSMS中的正确结果一样,运气不好,结果是随机的,结果调查的时候那叫一个费尽 ...

最新文章

  1. Android-room的学习
  2. Spring Boot 学习(1)
  3. 文件保存,String与int转换。
  4. Go语言垃圾回收(GC)
  5. 【JavaScript】比较 var 和 let 关键字的作用域
  6. 全球与中国塑料废料粉碎机市场运营状况分析及投资风险评估报告2022-2027年版
  7. (3.2)将分词和去停用词后的评论文本基于“环境、卫生、价格、服务”分类...
  8. c语言在文本每一行末尾追加字符串,c语言在末尾添加 C语言 在链表尾部添加节点...
  9. REVERSE-PRACTICE-BUUCTF-13
  10. Java国际化资源绑定-----示例
  11. 站怎么点都是一样_抖音怎么做?这几样一样都不能少,你都做到了吗?
  12. Nancy 学习-进阶部分 继续跨平台
  13. 快速找出Linux服务器上不该存在恶意或后门文件
  14. C#图片处理之:Gamma校正
  15. html5中动画总结,HTML5-CSS3总结学习(二)
  16. 19.高性能MySQL --- 锁的调试
  17. 超级好用的一个php上传图片类(随机名_缩略图_加水印),php教程_超级好用的一个php上传图片类(随机名,缩略图,加水印)...
  18. hdu4565(矩阵快速幂)
  19. 社交网络崛起带来口碑营销的复兴
  20. 知乎爬虫请求头参数x-zse-96(代码可直接运行)

热门文章

  1. 人民币大涨出国游省钱 携程外币兑换成交量增长30%
  2. java网络传输压缩数据_Java数据压缩与传输实例Java源码
  3. 2个月Java学习总结
  4. 2020-03-22-fNIRS技术入门文章
  5. Dalvik虚拟机详解(上)
  6. AirSim学习日志 4-多无人机集群控制
  7. 建筑施工借助物联网卡保障高楼安全
  8. c语言软件放c盘还是d盘,一般软件应当安装到C盘还是D盘?
  9. 嵌入式培训班有必要吗?
  10. 精通C语言Java怎么样_作为一个优秀的程序员,真的需要精通C语言吗?