Description | Manage Manual VAT Entries |
Name | ManageTaxReceivablesPayablesEntryIn |
Namespace | http://sap.com/xi/A1S/Global |
Process Component Description | Due Item Processing |
Process Component Name | DueItemProcessing |
Process Component Namespace | http://sap.com/xi/AP/DueItemManagement/Global |
Deployment Unit Description | Financials |
Endpoint Activation | By Scoping of Process Component | Operations |
Release Status | Released |
An Interface to create tax items or to make tax adjustments that the system does not post automatically with business transactions.
The web service interface Manage Tax Receivables Payables Entry In enables you to connect external applications to your SAP Business ByDesign system and to create Tax Receivable Payables Entry in your system. The web service interface Manage Tax Receivables Payables Entry In is relevant if your company wants to create tax items from external applications.
The web service interface Manage Tax Receivables Payables Entry In offers the operation MaintainManualTaxEntryBundle.
Here is an example of a simple web service request:
<n0:ManualTaxEntryBundleMaintainRequest xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <ManualTaxEntry actionCode="01"> <ObjectNodeSenderTechnicalID>xyz</ObjectNodeSenderTechnicalID> <CompanyID>MDEC10000</CompanyID> <BusinessPartnerInternalID>MDEC9785</BusinessPartnerInternalID> <BusinessTransactionDocumentDate>2012-08-01</BusinessTransactionDocumentDate> <CountryCode>DE</CountryCode> <AccountingTransactionDate>2012-08-01</AccountingTransactionDate> <TransactionCurrencyCode>EUR</TransactionCurrencyCode> <Note>Created with A2X service</Note> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row1</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-7381</GeneralLedgerAccountAliasCode> <ProductTaxationCharacteristicsCode listID="">501</ProductTaxationCharacteristicsCode> <TransactionCurrencyDebitNetAmount currencyCode="">10.00</TransactionCurrencyDebitNetAmount> <TransactionCurrencyTaxAmount currencyCode="">1.90</TransactionCurrencyTaxAmount> </AccountAssignment> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row2</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-7381</GeneralLedgerAccountAliasCode> <TransactionCurrencyCreditNetAmount currencyCode="">11.90</TransactionCurrencyCreditNetAmount> </AccountAssignment> </ManualTaxEntry> </n0:ManualTaxEntryBundleMaintainRequest>
For more information about Manual Tax Entries, see Help Center documentation in the SAP Business ByDesign application:
SAP Business ByDesign Library > Business Areas > Financial Management > Cash Flow Management > Tax Management > Manual Tax Entries view > Quick Guide for Sales and Use Tax Entries (US) , Quick Guide for VAT Entries
Ensure that the tax-relevant data of the company is defined for your tax authority.
Action Code
Action codes represent an instruction to the recipient of the web service request to process transmitted message node elements.
Action Code | Description |
---|---|
01 | Create; the system returns an error message if the node element already exists. |
02 | Update; the system returns an error message if the node element does not exist. |
03 | Delete; the system returns an error message if the node element does not exist. |
04 | Save; the system creates or changes the node element data. |
05 | Remove; the system deletes the node element. If the node element does not exist, the system does not send an error message. |
06 | No Action; the system does not change the node element. |
Default action code: 04 (Save).
Note:
|
Empty and Missing Elements
Optional leaf elements in request messages that are not transmitted within a web service request are not changed in corresponding business documents.
Communication Timeout
Maintain bundle is mass-enabled stateless synchronous web service operation. Transferring or requesting amounts of data that are too large, causes communication timeouts. The web service consumer is responsible for ensuring reasonable sizes of data for mass operations.
Message Header
Maintain bundle operation support exactly one execution (idem potency). To ensure exactly one execution of web service requests, the web service consumer has to provide unique values for the elements ID or UUID of the BasicMessageHeader node element.
Change State ID
Using change state identifier (element name ChangeStateID), external applications can enforce that a modifying operation is not executed because the state of the business document has changed since the external application last read its data.
The change state ID is an un-interpretable string that is provided by query and read operations and can be utilized by all modifying operations. If the change state identifier is provided when calling a modifying operation, the system does not perform the operation if the state of the business document instance has changed since the change state ID was computed. If the change state ID is not provided by the web service consumer, the system performs the web service operation without checking the state of the business document.
The web service consumer (external application) is responsible for preventing accidental changes to business documents.
Note: For this web service the change state ID does not apply to Account Assignment node elements.
Object Node Sender Technical Identifier
Request node elements with cardinality > 1 contain an object node sender technical identifier to relate response message elements and log items to corresponding node elements in the request message.
The object node sender technical identifiers are provided as ObjectNodeSenderTechnicalID in request message types and referred to as ReferenceObjectNodeSenderTechnicalID in corresponding response message types.
If the object node sender technical ID is initial, the object node sender technical ID of the parent node element in the request is returned as the reference object node sender technical ID. If the object node sender technical IDs of all parent node elements are initial, the reference object node sender technical ID is returned as initial as well.
Note:
|
Example
Request:
<Child> <ObjectNodeSenderTechnicalID>999_A<ObjectNodeSenderTechnicalID> <Content>Child A: Some correct content</Content> </Child> <Child> <ObjectNodeSenderTechnicalID>999_B<ObjectNodeSenderTechnicalID> <Content>Child B: Some erroneous content</Content> </Child>
Response:
<Log> <Item> <ReferenceObjectNodeSenderTechnicalID>999_B </ReferenceObjectNodeSenderTechnicalID> <Note>Error message for Child B</Note> </Item> </Log>
Response Message
The structure of the response message consists of two parts:
A business document-specific part containing information about IDs and UUIDs of the created and changed business documents
Log items containing system messages including errors, warnings, and information messages raised by the system during processing of the web service request
WSDL
Many external applications consuming web services have special requirements and restrictions regarding the format of WSDLs. Some external applications require service definition WSDLs describing the web service signature. This is normally sufficient for the creation of static client-side proxies. Other external applications, normally those that do not create static client-side proxies, require binding WSDLs including the endpoint definition and authentication policy information.
In both cases, it may be the case that the external application imposes special restrictions on the structure or the size of WSDLs.
Microsoft InfoPath requires binding WSDLs and considers elements with the attribute "minOccurs=0" as "mandatory". However "minOccurs=0" means "optional" in SAP web services. In order to circumvent this problem, the WSDL must be saved locally and an additional attribute "nillable=true" must be added to make a query parameter optional for Microsoft InfoPath.
For very small clients such as mobile devices, the size of the WSDL itself may become a problem. In most cases the client only requires a very small part of the signature, but due to the complexity of the WSDL they may end up with long runtimes during serialization of the request or deserialization of the response. In order to circumvent this problem, the WSDL must be saved locally and the optional parts of the signature have to be removed before the WSDL is imported or static client-side proxies are generated.
External applications have to take into account that web service request and response message types can be enhanced with additional elements and attributes. Enhancements can be created by SAP, SAP partners, and key users. Enhancements of request message types are always optional elements or attributes. The SAP system does not require the external application to provide values in the request. Enhancements of response message types can contain mandatory elements or attributes. The external application must be able to process the extended response successfully.
XML element and attribute names are always stable. Technical definitions of data types can be enhanced in a compatible way. This may result in changed data type names. External applications can rely on XML element names and attribute names, but should not rely on data type names.
Note: You can download the WSDL file for any web service here:
|
GDT Documentation
You can find the documentation of the global data types in the SAP Community Network: Go to http://scn.sap.com/docs/DOC-17516 and click View Document.
Scenarios
Possible scenarios include the following:
Create Manual Tax Entries of following kinds:
Sales and Use Tax Entries
VAT entries
The Entries can either be created in “In Preparation” or “Released” status
The Maintain Manual Tax Entry Bundle operation is used to create manual tax entries (Sales and Use Tax entries, VAT entries)
Example web service request to create and post a VAT entry (status will be Released):
<n0:ManualTaxEntryBundleMaintainRequest xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <ManualTaxEntry actionCode="01"> <ObjectNodeSenderTechnicalID>xyz</ObjectNodeSenderTechnicalID> <CompanyID>MDEC10000</CompanyID> <BusinessPartnerInternalID>MDEC9785</BusinessPartnerInternalID> <BusinessTransactionDocumentDate>2012-08-01</BusinessTransactionDocumentDate> <CountryCode>DE</CountryCode> <AccountingTransactionDate>2012-08-01</AccountingTransactionDate> <TransactionCurrencyCode>EUR</TransactionCurrencyCode> <Note>Created with A2X service</Note> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row1</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-7381</GeneralLedgerAccountAliasCode> <ProductTaxationCharacteristicsCode listID="">501</ProductTaxationCharacteristicsCode> <!-- Credit Amount should not be filled, if debit Amount is filled --> <!-- currency code should be left blank, will be taken over from the parent --> <TransactionCurrencyDebitNetAmount currencyCode="">10.00</TransactionCurrencyDebitNetAmount> <TransactionCurrencyTaxAmount currencyCode="">1.90</TransactionCurrencyTaxAmount> </AccountAssignment> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row2</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-7381</GeneralLedgerAccountAliasCode> <!-- debit Amount should not be filled, if credit Amount is filled --> <!-- currency code should be left blank, will be taken over from the parent --> <TransactionCurrencyCreditNetAmount currencyCode="">11.90</TransactionCurrencyCreditNetAmount> </AccountAssignment> </ManualTaxEntry> </n0:ManualTaxEntryBundleMaintainRequest>
Example web service request to create a VAT entry in “In Preparation” status (without posting):
<n0:ManualTaxEntryBundleMaintainRequest xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <ManualTaxEntry actionCode="01"> <ObjectNodeSenderTechnicalID>xyz</ObjectNodeSenderTechnicalID> <CompanyID>MDEC10000</CompanyID> <BusinessPartnerInternalID>MDEC9785</BusinessPartnerInternalID> <BusinessTransactionDocumentDate>2012-08-01</BusinessTransactionDocumentDate> <CountryCode>DE</CountryCode> <AccountingTransactionDate>2012-08-01</AccountingTransactionDate> <TransactionCurrencyCode>EUR</TransactionCurrencyCode> <Note>Created with A2X service</Note> <!-- Draft Indicator "true" means Post action will not be called --> <DraftIndicator>true</DraftIndicator> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row1</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-7381</GeneralLedgerAccountAliasCode> <ProductTaxationCharacteristicsCode listID="">501</ProductTaxationCharacteristicsCode> <!-- Credit Amount should not be filled, if debit Amount is filled --> <!-- currency code should be left blank, will be taken over from the parent --> <TransactionCurrencyDebitNetAmount currencyCode="">10.00</TransactionCurrencyDebitNetAmount> <TransactionCurrencyTaxAmount currencyCode="">1.90</TransactionCurrencyTaxAmount> </AccountAssignment> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row2</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-7381</GeneralLedgerAccountAliasCode> <!-- debit Amount should not be filled, if credit Amount is filled --> <!-- currency code should be left blank, will be taken over from the parent --> <TransactionCurrencyCreditNetAmount currencyCode="">11.90</TransactionCurrencyCreditNetAmount> </AccountAssignment> </ManualTaxEntry> </n0:ManualTaxEntryBundleMaintainRequest>
Example web service request to create and post a Sales and Use Tax entry(status will be Released):
<n0:ManualTaxEntryBundleMaintainRequest xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <BasicMessageHeader> <ID>00000000000102dcade9bcb0aa000c68</ID> </BasicMessageHeader> <ManualTaxEntry actionCode="01"> <ObjectNodeSenderTechnicalID>xyz0</ObjectNodeSenderTechnicalID> <CompanyID>MC10000</CompanyID> <BusinessTransactionDocumentDate>2012-08-01</BusinessTransactionDocumentDate> <CountryCode>US</CountryCode> <AccountingTransactionDate>2012-08-01</AccountingTransactionDate> <TransactionCurrencyCode>USD</TransactionCurrencyCode> <Note>Created from A2X Service</Note> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row1</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-1500</GeneralLedgerAccountAliasCode> <ProductTaxationCharacteristicsCode listID="">525</ProductTaxationCharacteristicsCode> <TransactionCurrencyDebitNetAmount currencyCode="">100</TransactionCurrencyDebitNetAmount> <TransactionCurrencyTaxAmount currencyCode="">1.10</TransactionCurrencyTaxAmount> <!-- Juristication Code is mandatory for Country US --> <JurisdictionCode listID="" listVersionID="" listAgencyID="" listAgencySchemeID="" listAgencySchemeAgencyID="">OH</JurisdictionCode> <!-- Region Code is mandatory for Country US --> <RegionCode listID="" listVersionID="" listAgencyID="" listAgencySchemeID="" listAgencySchemeAgencyID="">OH</RegionCode> </AccountAssignment> <AccountAssignment actionCode="01"> <ObjectNodeSenderTechnicalID>row2</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-1500</GeneralLedgerAccountAliasCode> <TransactionCurrencyCreditNetAmount currencyCode="">101.10</TransactionCurrencyCreditNetAmount> </AccountAssignment> </ManualTaxEntry> </n0:ManualTaxEntryBundleMaintainRequest>
Description | Create manual tax entries |
Name | MaintainManualTaxEntryBundle |
Synchronous | yes |
Release Status | Released |
To create Manual Tax Entry (Sales and Use Tax entry, VAT entry) in a system from a source system or file.
The request message of the operation MaintainManualTaxEntryBundle contains a BasicMessageHeader node element as well as a ManualTaxEntry node element that contains the manual tax entry data to be created. The detailed structure of the ManualTaxEntry node will be explained in the following sub-chapters. The ManualTaxEntry node can occur multiple times in the request message – this means that multiple manutal tax entries can be created through a single web service request.
The response message type of the operation MaintainManualTaxEntryBundle contains log items, processing information and a manual tax entry specific node with ReferenceObjectNodeSenderTechnicalID, ChangeStateID, as well as Manual Tax Entry ID and UUID.
ManualTaxEntry
The ManualTaxEntry node element contains all general information such as ID, UUID, names, and other identifications. The data for this node is related to Entry Details & Accounting Data section in the New Manual Tax Entry UI.
BusinessPartnerInternalID element is relevant only for VAT entries.
Draft Indicator element determines whether the Post action will be called or not.
If DraftIndicator is true, Post action will not be called for the Tax entry and the same would be created in “In Preparation” status.
If this element is missing/omitted in the request or specified as “false” the Post action will be called. Tax entry will be created in “Released” status.
AccountingTransactionDate element shall be filled with the Posting Date.
BusinessTransactionDocumentDate element shall be filled with the Tax Due Date.
AccountAssignment
The Account Assignment node element contains the account assignment items for the manual tax entry.
Data for the Account Assignment node element is related to Account Assignment list on the manual tax entry UI.
For a given Account Assignment item either TransactionCurrencyDebitNetAmount or TransactionCurrencyCreditNetAmount shall be filled, not both.
Example:
<AccountAssignment ActionCode="01"> <ObjectNodeSenderTechnicalID>row2</ObjectNodeSenderTechnicalID> <GeneralLedgerAccountAliasCode>A-7381</GeneralLedgerAccountAliasCode> <TransactionCurrencyCreditNetAmount currencyCode="">11.90</TransactionCurrencyCreditNetAmount> </AccountAssignment>
Relation between UI and request message:
User Interface | Request Message |
---|---|
Description | Note |
G/L Account | GeneralLedgerAccountAliasCode |
Jurisdiction Code | JurisdictionCode |
Tax Reporting Unit | PermanentEstablishmentID |
Postal Code | PostalCode |
Accounting code of the Service | ProductTaxStandardClassificationCode |
Tax Code | ProductTaxationCharacteristicsCode |
Project Task | ProjectID |
State | RegionCode |
Sales Order | SalesOrderID |
Sales Order Item | SalesOrderItemID |
Date of Tax Determination | TaxDeterminationDate |
Debit Net Amount | TransactionCurrencyDebitNetAmount |
Credit Net Amount | TransactionCurrencyCreditNetAmount |
Tax Amount | TransactionCurrencyTaxAmount |
Account Assignment Type | AccountingCodingBlockTypeCode |
Profit Center | ProfitCentreID |
Individual Material | IndividualMaterialID |
Cost Object | CostObjectID |
Following elements are relevant only for VAT entries for country India:
PermanentEstablishmentID
ProductTaxStandardClassificationCode
Following elements are relevant and must be filled for Sales and Use Tax Entries (for Country US)
JurisdictionCode
RegionCode