OracleEBS如何使用发票API创建包含手动税项的发票
(2025-06-18 13:43:04)
标签:
ar_invoice_api_pub.ccreate_invoice |
分类: OracleEBS财务模块 |
Oracle EBS 如何使用发票 API 创建包含手动税项的发票
5
-- 调用发票 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
不要为信用备忘录交易输入付款条款。
101
101
金额违反了此交易类型定义的创建符号。
您需要解决脚本引发的错误,然后继续运行脚本,同时注意上述第3点中列出的常见问题。
您可能需要对脚本进行一些调整以使其在您的实例中正常运行,但这是值得花时间的,因为一旦脚本正常运行,您可以保存它并用于后续的发票API问题。您只需添加详细信息或更改值来测试您正在处理的特定问题。
您还可以使用上述方法创建“应付账款”信用备忘录,只需在
l_trx_header_tbl(1).cust_trx_type_id 中提供与类型 = ‘CM’ 关联的值,且无需为
l_trx_header_tbl(1).term_id 传递值。
-- 刘轶鹤