237: -- AWT and INTEREST: Withholding Tax and Interest invoices do not require
238: -- tax calculation.
239: -- QUICKDEFAULT and QUICKMATCH: These defined types for invoices are only
240: -- entry mechanisms. When the invoice is commit
241: -- the type is STANDARD.
242:
243: IF (P_Invoice_Type_Lookup_Code IN ('STANDARD','CREDIT','DEBIT','MIXED',
244: 'ADJUSTMENT','PO PRICE ADJUST',
245: 'INVOICE REQUEST','CREDIT MEMO REQUEST',
239: -- QUICKDEFAULT and QUICKMATCH: These defined types for invoices are only
240: -- entry mechanisms. When the invoice is commit
241: -- the type is STANDARD.
242:
243: IF (P_Invoice_Type_Lookup_Code IN ('STANDARD','CREDIT','DEBIT','MIXED',
244: 'ADJUSTMENT','PO PRICE ADJUST',
245: 'INVOICE REQUEST','CREDIT MEMO REQUEST',
246: 'RETAINAGE RELEASE','PAYMENT REQUEST')) THEN -- for bug 5948586
247:
245: 'INVOICE REQUEST','CREDIT MEMO REQUEST',
246: 'RETAINAGE RELEASE','PAYMENT REQUEST')) THEN -- for bug 5948586
247:
248:
249: P_Event_Class_Code := 'STANDARD INVOICES';
250:
251: ------------------------------------------------------------------
252: l_debug_info := 'Step 1: Event Class Code is STANDARD INVOICES '||P_Event_Class_Code;
253: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
248:
249: P_Event_Class_Code := 'STANDARD INVOICES';
250:
251: ------------------------------------------------------------------
252: l_debug_info := 'Step 1: Event Class Code is STANDARD INVOICES '||P_Event_Class_Code;
253: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
254: FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,l_debug_info);
255: END IF;
256: ------------------------------------------------------------------
359: l_curr_calling_sequence := 'AP_ETAX_UTILITY_PKG.Get_Event_Type_Code<-' ||
360: P_calling_sequence;
361:
362: -- There are 3 different event classes defined for AP to handle tax in 11ix.
363: -- They are: STANDARD INVOICES, PREPAYMENT INVOICES and EXPENSE REPORTS.
364: -- There are different event type codes per event type and event class due to
365: -- a requirement of SLA. The event type code should be unique per product.
366: -- So, we can say the event type code is composed of 2 sections:
367: -- The class section (STANDARD, PREPAYMENT or EXPENSE REPORT) and the
363: -- They are: STANDARD INVOICES, PREPAYMENT INVOICES and EXPENSE REPORTS.
364: -- There are different event type codes per event type and event class due to
365: -- a requirement of SLA. The event type code should be unique per product.
366: -- So, we can say the event type code is composed of 2 sections:
367: -- The class section (STANDARD, PREPAYMENT or EXPENSE REPORT) and the
368: -- action section that determines the action ocurred to the class
369: -- (CREATE, UPDATE, CANCELLED, FROZEN, etc).
370:
371: ------------------------------------------------------------------
374: FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,l_debug_info);
375: END IF;
376: ------------------------------------------------------------------
377:
378: IF ( P_Event_Class_Code = 'STANDARD INVOICES' ) THEN
379: l_class_section := 'STANDARD ';
380:
381: ELSIF ( P_Event_Class_Code = 'PREPAYMENT INVOICES' ) THEN
382: l_class_section := 'PREPAYMENT ';
375: END IF;
376: ------------------------------------------------------------------
377:
378: IF ( P_Event_Class_Code = 'STANDARD INVOICES' ) THEN
379: l_class_section := 'STANDARD ';
380:
381: ELSIF ( P_Event_Class_Code = 'PREPAYMENT INVOICES' ) THEN
382: l_class_section := 'PREPAYMENT ';
383:
1261: (SELECT zl.summary_tax_line_id
1262: FROM zx_lines_summary zl
1263: WHERE zl.application_id = 200
1264: AND zl.entity_code = 'AP_INVOICES'
1265: AND zl.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
1266: AND zl.trx_id = ail.invoice_id
1267: AND zl.tax_regime_code = ail.tax_regime_code
1268: AND zl.tax = ail.tax
1269: AND zl.tax_status_code = ail.tax_status_code
1457: FROM zx_lines zl
1458: WHERE zl.application_id = 200
1459: AND zl.entity_code = 'AP_INVOICES'
1460: AND zl.event_class_code IN
1461: ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
1462: AND zl.trx_id = ail.invoice_id
1463: AND zl.tax_regime_code = ail.tax_regime_code
1464: AND zl.tax = ail.tax
1465: AND zl.tax_status_code = ail.tax_status_code
1968: AND ai.vendor_id = ap.vendor_id
1969: AND ai.vendor_site_id = aps.vendor_site_id
1970: AND zls.application_id = 200
1971: AND zls.entity_code = 'AP_INVOICES'
1972: AND zls.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
1973: AND zls.trx_id = ai.invoice_id
1974: AND NVL(zls.tax_amt_included_flag, 'N') = 'N'
1975: AND NVL(zls.self_assessed_flag, 'N') = 'N'
1976: AND NVL(zls.reporting_only_flag, 'N') = 'N'
2024: (SELECT /*+ index(ZL ZX_LINES_U1) */SUM(NVL(zl.tax_amt, 0))
2025: FROM zx_lines zl
2026: WHERE zl.application_id = 200
2027: AND zl.entity_code = 'AP_INVOICES'
2028: AND zl.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
2029: AND zl.trx_id = ail.invoice_id
2030: AND zl.trx_line_id = ail.line_number
2031: AND NVL(zl.self_assessed_flag, 'N') = 'N'
2032: AND NVL(zl.reporting_only_flag, 'N') = 'N'
2129: FROM zx_lines_summary zls
2130: WHERE zls.application_id = 200
2131: AND zls.entity_code = 'AP_INVOICES'
2132: AND zls.event_class_code IN
2133: ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
2134: AND zls.trx_id = ai.invoice_id
2135: AND NVL(zls.reporting_only_flag, 'N') = 'N')
2136: WHERE ai.invoice_id = P_Invoice_Header_Rec.invoice_id
2137: RETURNING ai.total_tax_amount, ai.self_assessed_tax_amount
5945: FROM zx_trx_headers_gt gt,
5946: ap_invoice_distributions_all dist
5947: WHERE gt.application_id = 200
5948: AND gt.entity_code = 'AP_INVOICES'
5949: AND gt.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
5950: AND gt.trx_id = dist.invoice_id
5951: AND dist.line_type_lookup_code IN ('REC_TAX', 'NONREC_TAX', 'TRV', 'TIPV', 'TERV')
5952: AND dist.invoice_line_number NOT IN
5953: (SELECT line_number
6074: FROM zx_validation_errors_gt ve,
6075: ap_invoice_lines_interface ail
6076: WHERE ve.application_id = 200
6077: AND ve.entity_code = 'AP_INVOICES'
6078: AND ve.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
6079: AND ve.trx_id = P_Invoice_Header_Rec.invoice_id
6080: AND ail.invoice_id = ve.trx_id;
6081: --AND ail.line_number = ve.trx_line_id; -- bug6255826
6082:
6328: NVL(ail.base_amount,0) - SUM(NVL(zdl.tax_amt_funcl_curr,0))
6329: FROM zx_detail_tax_lines_gt zdl
6330: WHERE zdl.application_id = 200
6331: AND zdl.entity_code = 'AP_INVOICES'
6332: AND zdl.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
6333: AND zdl.trx_id = ail.invoice_id
6334: AND zdl.trx_line_id = ail.line_number
6335: AND NVL(zdl.self_assessed_flag, 'N') = 'N'
6336: AND NVL(zdl.tax_amt_included_flag, 'N') = 'N')
6490: WHERE trx_id = p_invoice_id
6491: AND application_id = 200
6492: AND entity_code = 'AP_INVOICES'
6493: AND event_class_code IN
6494: ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
6495: AND ROWNUM=1;
6496: --- End for bug 6485124
6497: -- commented for bug 6485124
6498: /* FROM ap_invoice_lines_all
7209: | PARAMETERS
7210: | p_org_id - Operating unit identifier
7211: | p_legal_entity_id - Legal entity identifier.
7212: | p_transaction_date - Transaction Date.
7213: | P_Related_Doc_Date - Date of the related document. (Eg: Standard PO)
7214: | P_Adjusted_Doc_Date - Date of the adjusted document. (Eg: DM/CM applied to Invoice)
7215: |
7216: | MODIFICATION HISTORY
7217: | DATE Author Action
7335:
7336: END IF;
7337:
7338:
7339: IF ( AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).RELATED_RETAINAGE_DIST_ID IS NOT NULL) THEN --- Standard invoice with retainage
7340:
7341: p_tax_ipv := p_rate_tax_factor* ((AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).amount) -
7342: (p_quantity_invoiced * p_ref_doc_unit_price*(1 - AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).retainage_rate/100)))* p_ref_per_trx_cur_unit_nrec;
7343:
7355:
7356:
7357: IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7358:
7359: l_debug_info := 'TIPV for standard invoice having retainage' || p_tax_ipv ;
7360: FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,l_debug_info);
7361:
7362: END IF;
7363:
7573:
7574: END IF;
7575:
7576:
7577: IF (AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).RELATED_RETAINAGE_DIST_ID IS NOT NULL) THEN --- Standard invoice with retainage
7578:
7579: p_tax_ipv_base := p_rate_tax_factor* ((AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).amount ) -
7580: (p_quantity_invoiced * p_ref_doc_unit_price*(1 - AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).retainage_rate/100)))* p_ref_per_trx_cur_unit_nrec * nvl(p_inv_currency_rate , 1);
7581:
7594:
7595:
7596: IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7597:
7598: l_debug_info := 'TIPV_BASE for standard invoice having retainage' || p_tax_ipv_base ;
7599: FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,l_debug_info);
7600:
7601: END IF;
7602:
7867:
7868: END IF;
7869:
7870:
7871: IF ( AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).RELATED_RETAINAGE_DIST_ID IS NOT NULL) THEN --- Standard invoice with retainage
7872:
7873: p_tax_erv := (p_quantity_invoiced * p_ref_doc_unit_price*(1 - AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).retainage_rate/100))* p_ref_per_trx_cur_unit_nrec * ( p_inv_curr_conv_rate - p_ref_doc_curr_conv_rate) ;
7874:
7875: IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7884:
7885:
7886: IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
7887:
7888: l_debug_info := 'TERV for standard invoice having retainage' || p_tax_erv ;
7889: FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,l_debug_info);
7890:
7891: END IF;
7892:
8088: FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,l_debug_info);
8089:
8090: END IF;
8091:
8092: IF ( AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).RELATED_RETAINAGE_DIST_ID IS NOT NULL) THEN --- Standard invoice with retainage
8093:
8094: p_tax_tv := ((AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).amount )* p_inv_per_trx_cur_unit_nrec)
8095: - ((p_quantity_invoiced * p_ref_doc_unit_price*(1 - AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).retainage_rate/100))*p_ref_per_trx_cur_unit_nrec);
8096:
8107:
8108:
8109: IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8110:
8111: l_debug_info := 'Total Variance for standard invoice having retainage' || p_tax_tv ;
8112: FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,l_debug_info);
8113:
8114: END IF;
8115:
8326:
8327: END IF;
8328:
8329:
8330: IF ( AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).RELATED_RETAINAGE_DIST_ID IS NOT NULL) THEN --- Standard invoice with retainage
8331:
8332: p_tax_tv_base := ((AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).amount)* p_inv_per_trx_cur_unit_nrec * nvl(p_inv_curr_rate , 1) )
8333: - ((p_quantity_invoiced * p_ref_doc_unit_price*(1 - AP_ETAX_SERVICES_PKG.ret_dists(p_trx_line_dist_id).retainage_rate/100))*p_ref_per_trx_cur_unit_nrec * nvl(p_ref_doc_curr_rate , 1));
8334:
8346:
8347:
8348: IF (G_LEVEL_PROCEDURE >= G_CURRENT_RUNTIME_LEVEL) THEN
8349:
8350: l_debug_info := 'Total Variance Base for standard invoice having retainage' || p_tax_tv_base ;
8351: FND_LOG.STRING(G_LEVEL_PROCEDURE,G_MODULE_NAME||l_api_name,l_debug_info);
8352:
8353: END IF;
8354:
9625: IF (G_LEVEL_STATEMENT >= G_CURRENT_RUNTIME_LEVEL) THEN
9626: FND_LOG.STRING(G_LEVEL_STATEMENT,G_MODULE_NAME||l_api_name,l_curr_calling_sequence);
9627: END IF;
9628:
9629: IF (P_Invoice_Type_Lookup_Code IN ('STANDARD','MIXED','ADJUSTMENT',
9630: 'PO PRICE ADJUST','INVOICE REQUEST')) THEN
9631:
9632: P_Line_Class := 'STANDARD INVOICES';
9633:
9628:
9629: IF (P_Invoice_Type_Lookup_Code IN ('STANDARD','MIXED','ADJUSTMENT',
9630: 'PO PRICE ADJUST','INVOICE REQUEST')) THEN
9631:
9632: P_Line_Class := 'STANDARD INVOICES';
9633:
9634: ELSIF (P_Invoice_Type_Lookup_Code IN ('CREDIT', 'CREDIT MEMO REQUEST')) THEN
9635:
9636: P_Line_Class := 'AP_CREDIT_MEMO';
10302: INTO l_allow_update
10303: FROM zx_rec_nrec_dist ZD
10304: WHERE ZD.application_id = 200
10305: AND ZD.entity_code = 'AP_INVOICES'
10306: AND ZD.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
10307: AND ZD.trx_id = p_invoice_id
10308: AND ZD.inclusive_flag = 'Y'
10309: AND ZD.rec_nrec_tax_dist_id IN
10310: ( SELECT AID.detail_tax_dist_id
10330: INTO l_allow_update
10331: FROM zx_rec_nrec_dist ZD
10332: WHERE ZD.application_id = 200
10333: AND ZD.entity_code = 'AP_INVOICES'
10334: AND ZD.event_class_code IN ('STANDARD INVOICES', 'PREPAYMENT INVOICES', 'EXPENSE REPORTS')
10335: AND ZD.trx_id = p_invoice_id
10336: AND ZD.inclusive_flag = 'Y'
10337: AND ZD.rec_nrec_tax_dist_id IN
10338: ( SELECT AID.detail_tax_dist_id