加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

OracleEBS如何使用发票API创建包含手动税项的发票

(2025-06-18 13:43:04)
标签:

ar_invoice_api_pub.c

create_invoice

分类: OracleEBS财务模块
Oracle EBS 如何使用发票 API 创建包含手动税项的发票

-- 调用发票 API 创建发票。
AR_INVOICE_API_PUB.create_invoice(
p_api_version => 1.0,
p_init_msg_list => ‘F’,
p_commit => ‘F’,
p_batch_source_rec => l_batch_source_rec,
p_trx_header_tbl => l_trx_header_tbl,
p_trx_lines_tbl => l_trx_lines_tbl,
p_trx_dist_tbl => l_trx_dist_tbl,
p_trx_salescredits_tbl => l_trx_salescredits_tbl,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data);
提示:  
如果发票 API 操作成功,上述代码将显示生成的批次 ID。要查询生成的发票的客户交易 ID,请执行以下查询:  
select customer_trx_id, trx_number  
from ra_customer_trx_all where batch_id = &l_batch_id;
 
请记得执行 COMMIT 语句以将更改保存到数据库。

当你在会话中运行此脚本时,如果遇到问题并出现错误,请记住你正在将数据写入全局临时表,因此这些数据将保留直到你结束会话。
例如:您想测试通过传递 bill_to_address_id 而不是 bill_to_site_use_id 来运行 API,但第一次运行脚本时,您忘记注释掉定义 l_trx_header_tbl(1).bill_to_site_use_id 的行,这意味着该表将保留该值,直到您开始新会话或显式将其重置为 NULL。

当你在表l_trx_lines_tbl中定义多行时,需要记得递增索引,即括号中的数字。

本文档是为非常基本的税则设置编写的。  
请注意,根据你设置的规则不同,可能需要不同的字段,这意味着你需要修改此脚本。
例如:如果税则设置使用税分类代码作为决定因素,则需要传入税分类代码的值。如果未传入,可能会出现如下错误:
EXCEPTION:  调用eBusiness Tax时发生错误,状态码=2。

发票API在描述失败原因并无法创建发票时表现良好。错误列表如下:
标题ID 行ID 消息 无效值               无效值
--------- -------- ---------------------------------- -----------------
101                不要为信用备忘录交易输入付款条款。
                   5
101       101      金额违反了此交易类型定义的创建符号。

您需要解决脚本引发的错误,然后继续运行脚本,同时注意上述第3点中列出的常见问题。

您可能需要对脚本进行一些调整以使其在您的实例中正常运行,但这是值得花时间的,因为一旦脚本正常运行,您可以保存它并用于后续的发票API问题。您只需添加详细信息或更改值来测试您正在处理的特定问题。

您还可以使用上述方法创建“应付账款”信用备忘录,只需在 l_trx_header_tbl(1).cust_trx_type_id 中提供与类型 = ‘CM’ 关联的值,且无需为 l_trx_header_tbl(1).term_id 传递值。
-- 刘轶鹤

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有