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.aspxhttp://technet.microsoft.com/en-us/library/hh299217.aspx

[AX]AX2012 R2 出差申请和支出报告的更多相关文章

  1. [AX]AX2012 R2 HR Jobs, Positions, Department和Workers

    部门.作业(Job的官方翻译)和位置(Position的官方翻译)是AX人力资源管理的基本组织元素,Job和Position在AX有的地方又称作工作和职位,其实这个翻译更为恰当. Job定义的是一个工 ...

  2. [AX]AX2012 R2 EP员工自助服务中的产品不能显示图片的问题

    在员工自助服务EP站点中员工可以通过Order products自助提交采购申请,在正确设置员工采购目录后会罗列出允许员工购买的产品,每个产品都可带有图片,我们可以通过Product image来为产 ...

  3. [AX]AX2012 R2 采购订单的“Request change”

    在采购订单List或者Detail窗口的操作面板上有一个叫做“Request change”的按钮,如果这个按钮是激活的,采购订单不能直接编辑,而必须先使用这个按钮请求修改后,采购订单才能进入编辑状态 ...

  4. Dynamics AX 2012 R2 安装Reporting Services 扩展

    今天Reinhard在VS中部署SSRS报表时,接到以下错误: 部署因错误而被取消.在报表服务器上,验证:-SQL Server Reporting Services 服务是否正在运行. 接着,Rei ...

  5. Dynamics AX 2012 R2 如何处理运行时间较长的报表

    当处理的数据量较多,逻辑比较复杂时,报表可能会超时.为了解决这个问题,Reinhard一直使用SrsReportDataProviderPreProcess来做预处理报表.它会在调用SSRS前,在AX ...

  6. Dynamics AX 2012 R2 电子邮件广播错误 0x80040213

    Dynamics AX 2012 R2 电子邮件广播错误 0x80040213 今天Reinhard在新环境做邮件广播测试时,发现无法发送邮件,并报以下错误: 类"CDO.Message&q ...

  7. Dynamics AX 2012 R2 业务系列-采购业务流程

    在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 国际惯例,从采购开始. 1.采购的主要职责 简单点说,采购的主要职责,是从供应 ...

  8. Dynamics AX 2012 R2 业务系列-销售业务流程

    在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 1.销售的主要职责 其实这里说的职责主要是针对销售文员,并非整天外面满世界跑业 ...

  9. [译]Dynamics AX 2012 R2 BI系列-规划分析的注意事项

    https://msdn.microsoft.com/en-us/library/gg731898.aspx       在开始实施AX的分析特性前,有很多事情要考虑.本文描述了你必须考虑的事情,和在 ...

随机推荐

  1. jQuery(二):jQuery选择器

    jQuery选择器类似于CSS选择器,用来选取网页中的元素.例如: $("h3").css("background-color","red" ...

  2. ApplicationContextAware接口的作用

      1/============== 在Web应用中,Spring容器通常采用声明式方式配置产生:开发者只要在web.xml中配置一个Listener,该Listener将会负责初始化Spring容器 ...

  3. springboot读取resource下的文本文件

    https://blog.csdn.net/programmeryu/article/details/58002218 文本所在位置: 获取ZH.txt: File file = ResourceUt ...

  4. Php5.5新特性 Generators详解

    在PHP5.5.0版本中,新增了生成器(Generators)特性,用于简化实现迭代器接口(Iterator)创建简单的迭代器的复杂性. 通过生成器,我们可以轻松的使用foreach迭代一系列的数据, ...

  5. Tomcat数据源总结

    一.数据源的由来   JDBC操作主要由以下几步组成: (1)Class.forName(); (2)Connection con  = DriverManager.getConnection(); ...

  6. 关于div一侧固定,另一侧自适应

    关于div一侧固定,另一侧自适应,从文字看出 一侧固定:说明有固定长度, 一侧自适应:说明是按比例缩放 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  7. GridView Print and Print Preview

    sing System.Linq; using System.Printing; using System.Windows; using System.Windows.Controls; using ...

  8. VMWare链接克隆 和 完整克隆

    VMware Workstation 是使用最为广泛的虚拟机软件,用软件的方式模拟硬件环境.用户可以借助VMware Workstation的模拟出来的硬件,在当前的操作系统上安装N多个虚拟的操作系统 ...

  9. Loss is its own Reward: Self-Supervision for Reinforcement Learning

    作者用action, reward, state等当做lalbel,进行有监督训练.

  10. 关于 initWithNibName 和 loadNibNamed 的区别和联系

    转载自:http://jianyu996.blog.163.com/blog/static/1121145552012102293653906/ 关于 initWithNibName 和 loadNi ...