How can we help?

Show Page Sections

Philippines

Enabling support for Philippines involves confirming prerequisites and product IDs, registering with the Bureau of Internal Revenue (BIR) tax authority, and setting up credentials.

Prerequisites

Available products

  • ph_PHInvoice_CAS_2.0

  • ph_PHInvoice_POS_2.0

  • ph_PHInvoice_CRM_2.0

Foreign currency transactions

Philippine peso (PHP) is the only reporting currency for the Philippines. The payload sent to BIR's EIS has no document currency field, and every amount attribute is fixed to PHP. This means that the DocumentCurrencyCode SCI element is ignored for the Philippines, so you shouldn't use it.

For foreign-currency transactions, if you use the ph_PHInvoice_CAS_2.0 product, you must populate the following SCI fields, which Sovos maps to the BIR's JSON format:

DescriptionSCI field
Foreign currency codeInvoice/PaymentExchangeRate/TargetCurrencyCode
Conversion rateInvoice/PaymentExchangeRate/CalculationRate
Payable total in the foreign currencyInvoice/LegalMonetaryTotal/PayableAlternativeAmount
Important:

Sovos doesn't perform currency conversion or exchange-rate lookups. The ERP is responsible for supplying the PHP amounts and the rate. If there are errors, BIR's EIS returns them asynchronously as client-side error codes.

Sovos only maps these currency transaction fields to the BIR's JSON format if you use the ph_PHInvoice_CAS_2.0 product ID.

Withholding tax

Sovos captures and reports withholding tax amounts at header level only, in the PHP currency. The following three fields are mapped from the SCI:

Withholding typeSCI source fieldSCI valueBIR payload field
Income tax withheldInvoice/WithholdingTaxTotal/TaxSubtotal/TaxCategory/TaxScheme/NameIncomeWithholdIncome
VAT withheld at sourceInvoice/WithholdingTaxTotal/TaxSubtotal/TaxCategory/TaxScheme/NameBusinessVATWithholdBusVAT
Percentage tax withheldInvoice/WithholdingTaxTotal/TaxSubtotal/TaxCategory/TaxScheme/NameBusinessPTWithholdBusPT
Important:

You must always include these three nodes in the payload. In case no withholding applies, use "0.00" for the TaxAmount value.

Sovos doesn't perform withholding computation or consistency validation, so the ERP must supply the correct amounts. In addition, Sovos doesn't support:

  • Withholding rates

  • Alphanumeric Tax Code (ATC) codes

  • BIR Form 2307 certificate references

  • Line-level withholding fields

Note: If the withholding values have errors, BIR's EIS returns client errors on the notification retrieval call.

Error handling

When handling errors, the client application must follow the Indirect Tax API's error handling principles, as specified in the error handling documentation.

In general, all error codes in the 400 range are client errors, which you need to analyze. After fixing the error, you can resend the request. Error codes 408 and 429 are exceptions: In these cases, you should wait at least 60 seconds before retrying. Error codes in the 500 range are server errors. In that case, resend the request according to the instructions given on the error handling documentation, which also includes a full list of error codes Indirect Tax API can return.

Configure credentials for the Philippines

Important:

If your company supports multiple products, you must upload the transmission and signing credentials for each product separately.

Setting up transmission and signing credentials is a BIR EIS requirement for reporting invoices.
  1. Send a POST request to the endpoint URL:
    POST https://api-test.sovos.com/v2/configurations/organizations/{orgId}/settings
  2. Include the following headers in your request:
    • Content-Type: application/json

    • Authorization: Bearer {accessToken}

    • x-correlationId: {uniqueValue}

  3. For transmission credentials, include the following parameters in the request body:
    NameTypeRequiredDescription
    contextstringYesUse "transmission"
    configurationsarray of objectsYes
    namestringYesUse "partner_credentials_BIR"
    valueobjectYes
    userIdstringYesThe BIR EIS' user ID
    passwordstringYesThe BIR EIS' password
    accreditationId stringYesThe BIR EIS' accreditation ID
    applicationIdstringYesThe BIR EIS' application ID
    applicationSecretKeystringYesThe BIR EIS' application secret
    scopeobjectYes
    categorystringYesUse "ph_inv"
    productIdstringYesUse "ph_PHInvoice_CAS_2.0", "ph_PHInvoice_POS_2.0", or "ph_PHInvoice_CRM_2.0"
    orgIdstringYesThe organization ID the Sovos Professional Services team provides
    taxIdstringYesThe tax ID of the company for which you are configuring the credentials
  4. For signing credentials, include the following parameters in the request body:
    NameTypeRequiredDescription
    contextstringYesUse "signing"
    configurationsarray of objectsYes
    namestringYesUse "credentials"
    valueobjectYes
    certificateFileDatastringYesThe BIR EIS' signing certificate (private key) encoded in Base64
    keyIdstringYesThe BIR EIS' key ID
    scopeobjectYes
    categorystringYesUse "ph_inv"
    productIdstringYesUse "ph_PHInvoice_CAS_2.0", "ph_PHInvoice_POS_2.0", or "ph_PHInvoice_CRM_2.0"
    orgIdstringYesThe organization ID you get from the Professional Services team
    taxIdstringYesThe tax ID of the company for which you are configuring the credentials

Upon successful creation, the API will return a JSON object containing the uploaded credentials and their assigned SETTING-ID.

Samples for uploading credentials for the Philippines

Transmission

Request sample
curl --location --request POST 'https://api-test.sovos.com/v2/configurations/organizations/{orgId}/settings' \
--header Content-Type: application/json \
--header Authorization: Bearer {accessToken} \
--header x-correlationId: {uniqueValue} \
--data-raw '[
    {
        "context": "transmission",
        "configurations": [
            {
                "name": "partner_credentials_BIR",
                "value": {
                    "userId": "INSERT-USERID-HERE",
                    "password": "INSERT-PASSWORD-HERE",
                    "accreditationId": "INSERT-ACCREDITATIONID-HERE",
                    "applicationId": "INSERT-APPLICATIONID-HERE",
                    "applicationSecretKey": "INSERT-APPLICATIONSECRET-HERE"
                },
                "scope": {
                    "category": "ph_inv",
                    "productId": "ph_PHInvoice_POS_2.0",
                    "orgId": "{orgId}",
                    "taxId": "{taxId}"
                }
            }
        ]
    }
]'
Response sample
{
    "status": 201,
    "message": "Created",
    "success": true,
    "timestamp": 1664826411521,
    "data": [
        {
            "message": "Configurations are created",
            "statusCode": 201,
            "configurationContextResponse": {
                "context": "transmission",
                "configurations": [
                    {
                        "id": "SETTING-ID",
                        "name": "partner_credentials_BIR",
                        "value": {
                            "userId": "INSERT-USERID-HERE",
                            "password": "INSERT-PASSWORD-HERE",
                            "accreditationId": "INSERT-ACCREDITATION-ID-HERE",
                            "applicationId": "INSERT-APPLICATION-ID-HERE",
                            "applicationSecretKey": "INSERT-APPLICATION-SECRET-HERE"
                        },
                        "scope": {
                            "category": "ph_inv",
                            "productId": "ph_PHInvoice_POS_2.0",
                            "orgId": "{orgId}",
			    			  "taxId": "{taxId}"
                        },
                        "auditData": {
                            "createdAt": 1664826410,
                            "createdBy": "user@company.com",
                            "isDeleted": false,
                            "version": 1
                        }
                    }
                ]
            }
        }
    ]
}

Signing

Request sample
curl --location --request POST 'https://api-test.sovos.com/v2/configurations/organizations/{orgId}/settings' \
--header Content-Type: application/json \
--header Authorization: Bearer {accessToken} \
--header x-correlationId: {uniqueValue} \
--data-raw '[
    {
        "context": "signing",
        "configurations": [
            {
                "name": "credentials",
                "value": {
                    "certificateFileData": "INSERT-CERT-FILEDATA-HERE",
                    "keyId": "INSERT-KEYID-HERE"
                },
                "scope": {
                    "category": "ph_inv",
                    "productId": "ph_PHInvoice_POS_2.0",
                    "orgId": "{orgId}"
                    "taxId": "{taxId}"
                }
            }
        ]
    }
]'
Response sample
{
    "status": 201,
    "message": "Created",
    "success": true,
    "timestamp": 1667465886908,
    "data": [
        {
            "message": "Configurations are created",
            "statusCode": 201,
            "configurationContextResponse": {
                "context": "Signing",
                "configurations": [
                    {
                        "id": "SETTING-ID",
                        "name": "credentials",
                        "value": {
                            "certificateFileData": "INSERT-CERT-FILEDATA-HERE",
                            "keyId": "INSERT-KEYID-HERE"
                        },
                        "scope": {
                            "category": "ph_inv",
                            "productId": "ph_PHInvoice_POS_2.0",
                            "orgId": "{orgId}",
                            "taxId": "{taxId}"
                        },
                        "auditData": {
                            "createdAt": 1667465886,
                            "createdBy": "user@company.com",
                            "isDeleted": false,
                            "version": 1
                        }
                    }
                ]
            }
        }
    ]
}

Report invoice

Invoice reporting in the Philippines is based on the Default business process, which follows this order: mapping, signing, and transmission. The following diagram provides a detailed overview:

Philippines outbound flow for invoice reporting

Suppliers directly send invoices to buyers and can only report their invoices to EIS using the Indirect Tax API, while buyers can only manually retrieve certain details from these reports. Here is a diagram that shows how this works:

Philippines reporting overview

Step 1: Supplier creates the Standard Business Document

Every invoice you send to Sovos must be part of a Standard Business Document (SBD). This document includes a Standard Business Document Header (SBDH) and a Sovos Document node, which in turn includes a Sovos Canonical Invoice (SCI). To create the SBD, follow the detailed instructions in the SBDH, Sovos Document, and SCI pages. Here are some key elements that should be included in the SBD and in the invoice:

Use the following values in the SBDH for documents that use the SCI format:

NodeRequiredAttributesValue
StandardBusinessDocumentHeader.Sender.IdentifierYesAuthority="PH"Supplier’s Taxpayer Identification Number (TIN)
StandardBusinessDocumentHeader.Receiver.IdentifierYesAuthority="PH"
StandardBusinessDocumentHeader.DocumentIdentification.StandardYesurn:oasis:names:specification:ubl:schema:xsd:Invoice-2
StandardBusinessDocumentHeader.DocumentIdentification.TypeVersionYes2.1
StandardBusinessDocumentHeader.DocumentIdentification.TypeYesInvoice
StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: Country

Child node Identifier: PH

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: ProcessType

Child node Identifier: Outbound

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: SenderDocumentId

Child node Identifier: A unique document ID. We recommend the ERP document ID.

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: SenderSystemId

Child node Identifier: The system ID configured in the backend. This parameter determines which notifications are returned to the client and what attachments they include. If you don't use SenderSystemId on the client side, the API uses the default value of "DefaultSystemERP". For more information, see this topic.

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: CompanyCode

Child node Identifier: Supplier’s TIN

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: BusinessCategory

Child node Identifier: B2B or B2C

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: Mapping.OutputSchema

Child node Identifier: PHInvoice

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: Mapping.TransformDocument

Child node Identifier: SCI-TO-LEGAL_INVOICE

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: SubSchema

Child node Identifier: CAS, POS, or CRM

StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type: Version

Child node Identifier: 2.0

StandardBusinessDocumentHeader.BusinessScope.Scope.BusinessService. BusinessServiceNameYesDefault
SovosDocument.SovosCanonicalInvoice.InvoiceYesSCI

Alternatively, the supplier can use the local format (JSON) instead of SCI. Use the following values in the SBDH for documents that use the local format:

NodeRequiredValue
StandardBusinessDocumentHeader.DocumentIdentification.StandardYesPHInvoice
StandardBusinessDocumentHeader.DocumentIdentification.TypeVersionYes2.0
StandardBusinessDocumentHeader.DocumentIdentification.TypeYesPHInvoice
StandardBusinessDocumentHeader.BusinessScope.Scope (with child nodes)Yes

Child node Type:Mapping.TransformDocument

Child node Identifier: LEGAL-TO-SCI_INVOICE

SovosDocument.SovosLegalDocument.Base64Document YesA local format

You need to encode the local format (JSON) document in Base64 before you can add it as part of the SBD. Here is a sample:

    </sbd:StandardBusinessDocumentHeader>
    <svs:SovosDocument>
        <svs:SovosLegalDocument>
            <enc:Base64Document>
                <enc:EmbeddedDocument id="1" fileName="invoice.xml" mimeCode="application/xml">PD94bWwgdmVyc...FrdHVyYT4NCg==</enc:EmbeddedDocument>
            </enc:Base64Document>
        </svs:SovosLegalDocument>
    </svs:SovosDocument>
</svs:StandardBusinessDocument>
Note:

Include all the mandatory nodes, as specified in the SBDH schema. If the information cannot be provided, and the respective mandatory node has not been mentioned on the current page, for example the receiver.identifier, you can leave the node empty but you must still include it in the SBDH.

SBD samples

Use these SBD samples for your reference:

SBD with SCI sample
<sbd:StandardBusinessDocument xmlns="http://uri.etsi.org/01903/v1.4.1#" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:sbd="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:ad="http://www.sovos.com/namespaces/additionalData" xmlns:sci="http://www.sovos.com/namespaces/sovosCanonicalInvoice" xmlns:svs="http://www.sovos.com/namespaces/sovosDocument" xmlns:sov="http://www.sovos.com/namespaces/sovosExtensions" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:inv="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
	<sbd:StandardBusinessDocumentHeader>
		<sbd:HeaderVersion>1.0</sbd:HeaderVersion>
		<sbd:Sender>
			<sbd:Identifier Authority="PH">123456789</sbd:Identifier>
			<sbd:ContactInformation>
				<sbd:Contact>123456789</sbd:Contact>
				<sbd:EmailAddress/>
				<sbd:FaxNumber/>
				<sbd:TelephoneNumber/>
				<sbd:ContactTypeIdentifier/>
			</sbd:ContactInformation>
		</sbd:Sender>
		<sbd:Receiver>
			<sbd:Identifier Authority="PH">444555666</sbd:Identifier>
			<sbd:ContactInformation>
				<sbd:Contact>444555666</sbd:Contact>
				<sbd:EmailAddress/>
				<sbd:FaxNumber/>
				<sbd:TelephoneNumber/>
				<sbd:ContactTypeIdentifier/>
			</sbd:ContactInformation>
		</sbd:Receiver>
		<sbd:DocumentIdentification>
			<sbd:Standard>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</sbd:Standard>
			<sbd:TypeVersion>2.1</sbd:TypeVersion>
			<sbd:InstanceIdentifier/>
			<sbd:Type>Invoice</sbd:Type>
			<sbd:MultipleType>false</sbd:MultipleType>
			<sbd:CreationDateAndTime>2022-06-16T00:31:52Z</sbd:CreationDateAndTime>
		</sbd:DocumentIdentification>
		<sbd:BusinessScope>
			<sbd:Scope>
				<sbd:Type>Version</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>2.0</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderDocumentId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>321412</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderSystemId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>UAT101</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
                <sbd:Type>CompanyCode</sbd:Type>
                <sbd:InstanceIdentifier/>
                <sbd:Identifier>123456789</sbd:Identifier>
            </sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Country</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PH</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>ProcessType</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>Outbound</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.TransformDocument</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>SCI-TO-LEGAL_INVOICE</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.OutputSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PHInvoice</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>BusinessCategory</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>B2B</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SubSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>CAS</sbd:Identifier>
			</sbd:Scope>
		 	<sbd:Scope>
                <sbd:Type>BusinessProcess</sbd:Type>
                <sbd:InstanceIdentifier/>
                <sbd:BusinessService>
                    <sbd:BusinessServiceName>Default</sbd:BusinessServiceName>
                </sbd:BusinessService>
            </sbd:Scope>
		</sbd:BusinessScope>
	</sbd:StandardBusinessDocumentHeader>
	<svs:SovosDocument>
		<sci:SovosCanonicalInvoice>
			<inv:Invoice>
			    *UBL Elements*
			</inv:Invoice>
		</sci:SovosCanonicalInvoice>
	</svs:SovosDocument>
</sbd:StandardBusinessDocument>
SBD with local format sample
<sbd:StandardBusinessDocument xmlns="http://uri.etsi.org/01903/v1.4.1#" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:sbd="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:ad="http://www.sovos.com/namespaces/additionalData" xmlns:sci="http://www.sovos.com/namespaces/sovosCanonicalInvoice" xmlns:svs="http://www.sovos.com/namespaces/sovosDocument" xmlns:sov="http://www.sovos.com/namespaces/sovosExtensions" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:inv="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
	<sbd:StandardBusinessDocumentHeader>
		<sbd:HeaderVersion>1.0</sbd:HeaderVersion>
		<sbd:Sender>
			<sbd:Identifier Authority="PH">123456789</sbd:Identifier>
			<sbd:ContactInformation>
				<sbd:Contact>123456789</sbd:Contact>
				<sbd:EmailAddress/>
				<sbd:FaxNumber/>
				<sbd:TelephoneNumber/>
				<sbd:ContactTypeIdentifier/>
			</sbd:ContactInformation>
		</sbd:Sender>
		<sbd:Receiver>
			<sbd:Identifier Authority="PH">444555666</sbd:Identifier>
			<sbd:ContactInformation>
				<sbd:Contact>444555666</sbd:Contact>
				<sbd:EmailAddress/>
				<sbd:FaxNumber/>
				<sbd:TelephoneNumber/>
				<sbd:ContactTypeIdentifier/>
			</sbd:ContactInformation>
		</sbd:Receiver>
		<sbd:DocumentIdentification>
			<sbd:Standard>PHInvoice</sbd:Standard>
			<sbd:TypeVersion>2.0</sbd:TypeVersion>
			<sbd:InstanceIdentifier/>
			<sbd:Type>PHInvoice</sbd:Type>
			<sbd:MultipleType>false</sbd:MultipleType>
			<sbd:CreationDateAndTime>2022-06-16T00:31:52Z</sbd:CreationDateAndTime>
		</sbd:DocumentIdentification>
		<sbd:BusinessScope>
			<sbd:Scope>
				<sbd:Type>Version</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>2.0</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderDocumentId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>321412</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderSystemId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>UAT101</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
                <sbd:Type>CompanyCode</sbd:Type>
                <sbd:InstanceIdentifier/>
                <sbd:Identifier>123456789</sbd:Identifier>
            </sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Country</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PH</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>ProcessType</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>Outbound</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.TransformDocument</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>LEGAL-TO-SCI_INVOICE</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.OutputSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PHInvoice</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>BusinessCategory</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>B2B</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SubSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>CAS</sbd:Identifier>
			</sbd:Scope>
		 	<sbd:Scope>
                <sbd:Type>BusinessProcess</sbd:Type>
                <sbd:InstanceIdentifier/>
                <sbd:BusinessService>
                    <sbd:BusinessServiceName>Default</sbd:BusinessServiceName>
                </sbd:BusinessService>
            </sbd:Scope>
		</sbd:BusinessScope>
	</sbd:StandardBusinessDocumentHeader>
	<svs:SovosDocument>
		<svs:SovosLegalDocument>
			<enc:Base64Document>
				<enc:EmbeddedDocument id="1" fileName="invoice.json" mimeCode="application/json">
				    *Base64 encoded invoice in Local Format (JSON)*
				</enc:EmbeddedDocument>
			</enc:Base64Document>
		</svs:SovosLegalDocument>
	</svs:SovosDocument>
</sbd:StandardBusinessDocument>
Note:

A full SBD sample is available on the Postman Samples collection.

Step 2: Supplier sends the SBD to Sovos

The supplier sends a POST request to the /documents endpoint.

The request must include the following request body parameters:

NameTypeRequiredDescription
datastringYesThe Base64-encoded SBD from step 1
dataEncodingstringYesUse "base64"
Note:

After receiving the document, Sovos validates the structure and the schema of both the SCI and the SBD parts.

Request sample
curl --location --request POST 'https://api-test.sovos.com/v1/documents' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer TOKEN' \
--header 'x-correlationId: SET-TO-UNIQUE-VALUE' \
--data-raw '{
	"data": "PD9...d4=",
	"dataEncoding" : "base64"
}'
Response sample
{
   "timestamp": 1605282724079,
    "status": 202,
    "success": true,
    "message": "Document Received",
    "data": {
        "documentId": "3add2b7104dc0049ff0bf410f57e0a19afaf"
    }
}

Step 3: Sovos maps the SCI into JSON

Upon receiving the SCI, Sovos maps the file into the required JSON format.

Note:

Sovos skips this step if the SBD contains the invoice in the local format (JSON).

Step 4: Sovos signs the JSON

Sovos signs the document using the supplier's key.

Step 5: Sovos transmits the JSON

Sovos transmits the signed JSON file to the tax authority.

Step 6: Tax authority processes the JSON

The tax authority performs the schema validation and several business validations. Then it generates an approval or a rejection response message along with an error message, where applicable.

Step 7: Tax authority sends the response to Sovos

The tax authority sends the response to Sovos.

Step 8: Archiving

You can compliantly archive the XML, the application response, and any graphical representation, such as a PDF, using Sovos' Compliant Archive.

For suppliers integrating with the solution for this country for the first time, we recommend the bundled approach, in which archiving is part of the invoice clearance flow. Archiving can also be done separately through an explicit API call that uses another archive. For more information on standalone archiving, see the e-Archiving documentation page.

Note: Bundled e-invoice archiving is optional but enabled by default. This means you can use your current solution and include Sovos e-Archiving.

The system stores the LegalSigned attachment, which is the signed document sent to the tax authority.

Step 9: Supplier retrieves the application responses

Attachments configuration

You can access your attachments:

  • As binary data, so the file is embedded in the Base64-encoded application response.

  • As open download links, in which the response contains a public URL to download the file.

  • As secure download links, in which you need to use the Indirect Tax API's bearer token to download the attachment.

By default, Sovos configures your attachments as open download links to avoid potential size limitations when retrieving responses. To improve security, you should configure them as secure links. Then, make a GET call to the secure link returned by the Indirect Tax API, and include the API token. Sample request:

curl --location 'https://einvoicing-api.sovos.com/download/api/v1/download/JqYyqliXiJFKhXshnBQZfW3qpfwATVGE5Q73T41JUynNLJD8zHy5VH__9qzL9No-Kia9olSw3_lNX3KmaA9Je89Xx--vk5pQjyKx0iT_4CwPSABD0Yg7uxXZ8SNiliEhFY-4TOX7m1TV5FwwfqntehbGaiGMI2JVYu18VBDiC_0/plain%27 \
--header 'Authorization: Bearer TOKEN'

As a response to the initial sending of the document, the client receives a JSON response message with an HTTP status code of 202 (asynchronous transaction). This means that the supplier must retrieve the application responses that become available during the transaction, which provide status information and the cleared XML encoded in Base64 after it's available during the process.

You must also consider the transmission message in your response. This message maps to the SCIGovtStatusCode and StatusReason elements in the response message, as described in the application responses documentation, which details any warnings or other notes to consider. The tax authority doesn't define any specific set of rules about what action to take on each error. Depending on the type of message, you may have to modify the invoice, take further action, or make a note for the future.

To complete a transaction, the supplier must retrieve the application responses until the transaction has finished. If the supplier has subscribed to all notifications, the transaction can generate different application responses. See the table below:

#SCICloudStatusCodeSCIResponseCode Sample
1100IP
	<cac:DocumentResponse>
		<cac:Response>
			<cbc:ReferenceID/>
			<cbc:ResponseCode listID="SCIResponseCode">IP</cbc:ResponseCode>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCICloudStatusCode">100</cbc:StatusReasonCode>
				<cbc:StatusReason>Document received successfully</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIStatusAction">NOA</cbc:StatusReasonCode>
				<cbc:StatusReason>No action required</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIERPStatusCode">100-Received successfully</cbc:StatusReasonCode>
				<cbc:StatusReason>Document received successfully</cbc:StatusReason>
			</cac:Status>
		</cac:Response>
Document received successfully
2101IP
	<cac:DocumentResponse>
		<cac:Response>
			<cbc:ReferenceID/>
			<cbc:ResponseCode listID="SCIResponseCode">IP</cbc:ResponseCode>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCICloudStatusCode">101</cbc:StatusReasonCode>
				<cbc:StatusReason>Document mapped successfully</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIStatusAction">NOA</cbc:StatusReasonCode>
				<cbc:StatusReason>No action required</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIERPStatusCode"/>
				<cbc:StatusReason>Document mapped successfully</cbc:StatusReason>
			</cac:Status>
		</cac:Response>
Document mapped successfully
3200AP
	<cac:DocumentResponse>
		<cac:Response>
			<cbc:ReferenceID/>
			<cbc:ResponseCode listID="SCIResponseCode">AP</cbc:ResponseCode>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCICloudStatusCode">200</cbc:StatusReasonCode>
				<cbc:StatusReason>Authorized by the tax authority</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIStatusAction">NOA</cbc:StatusReasonCode>
				<cbc:StatusReason>No action required</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIERPStatusCode">200-Authorized</cbc:StatusReasonCode>
				<cbc:StatusReason>Authorized by the tax authority</cbc:StatusReason>
			</cac:Status>
		</cac:Response>
Authorized by the tax authority
4209IP
	<cac:DocumentResponse>
		<cac:Response>
			<cbc:ReferenceID/>
			<cbc:ResponseCode listID="SCIResponseCode">IP</cbc:ResponseCode>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCICloudStatusCode">209</cbc:StatusReasonCode>
				<cbc:StatusReason>Workflow Successfully Completed</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIStatusAction">NOA</cbc:StatusReasonCode>
				<cbc:StatusReason>No action required</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIERPStatusCode">209-Completed successfully</cbc:StatusReasonCode>
				<cbc:StatusReason>Workflow Successfully Completed</cbc:StatusReason>
			</cac:Status>
		</cac:Response>
Workflow Successfully Completed
5400RE
	<cac:DocumentResponse>
		<cac:Response>
			<cbc:ReferenceID/>
			<cbc:ResponseCode listID="SCIResponseCode">RE</cbc:ResponseCode>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCICloudStatusCode">400</cbc:StatusReasonCode>
				<cbc:StatusReason>Rejected by the tax authority or the counter party</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIStatusAction">NIN</cbc:StatusReasonCode>
				<cbc:StatusReason>Request to re-issue a corrected new invoice (or other document) or fix the error and resend the document</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIERPStatusCode">400-Rejected</cbc:StatusReasonCode>
				<cbc:StatusReason>Rejected by the tax authority or the counter party</cbc:StatusReason>
			</cac:Status>
			<cac:Status>
				<cbc:StatusReasonCode listID="SCIGovtStatusCode">ERR002</cbc:StatusReasonCode>
				<cbc:StatusReason>The Issuance date in EisUniqueId is different from Issuance date.</cbc:StatusReason>
			</cac:Status>
		</cac:Response>
Rejected by the tax authority or the counterparty

The supplier can use the following Indirect Tax API endpoints to retrieve application responses:

  • GET /notifications/PH

  • GET /documents/PH/{documentId}/notifications

GET /notifications/PH

The supplier can send a GET request to the /notifications/PH endpoint to retrieve application responses that match the configured search criteria. To make this request, use the following query parameters:

NameTypeRequiredDefaultDescription
taxIdstringNo

Include only notifications related to the specified taxId. This value is related to the CompanyCode in the SBDH.

Note:

If a request does not include this parameter, it will return all the notifications related to the country and the sourceSystemId parameter.

pageintegerNo1

To specify the page to be returned, use a value between 1 and 10.

perPageintegerNo10

To specify the number of results for the returned page, use a value between 1 and 100.

Important:

If the attachment file is configured to return binary content instead of a link, use only values between 1 and 10.

sourceSystemIdstringYes

Include only notifications related to documents that originate from the given source system. This value is related to the SenderSystemId in the SBDH.

includeAcknowledgedbooleanNofalse

Use "true" to include previously acknowledged notifications, within 24 hours of their acknowledgment, in the result.

processTypestringNo

Use "0" to only include notifications related to outbound documents.

Request sample
curl --location --request GET 'https://api-test.sovos.com/v1/notifications/PH?page=1&perPage=2&taxId={taxId}&sourceSystemId={sourceSystemId}&processType=0' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer TOKEN' \
--header 'x-correlationId: SET-TO-UNIQUE-VALUE'
Response sample
{
    "timestamp": 1633685509314,
    "status": 200,
    "success": true,
    "message": "Notifications Listed",
    "data": {
        "pageState": {
            "page": 1,
            "perPage": 50,
            "totalEntries": 1
        },
        "notifications": [
            {
                "createdDate": 1633681296,
                "metadata": {
                    "productId": "ph_PHInvoice_CAS_2.0",
                    "documentId": "3add2b7104dc0049ff0bf410f57e0a19afaf",
                    "erpDocumentId": "321412",
                    "erpSystemId": "UAT101",
                    "processType": "0",
                    "taxId": "08AAACI9260R002",
                    "sciCloudStatusCode": "200",
                    "sciResponseCode": "AP",
                    "sciStatusAction": "NOA",
                    "sciGovtStatusCode": "100"
                },
                "appPrefix": "DLT",
                "notificationId": "a8dc1aa2-fbe6-45ce-9e4c-97a3d5fdb91c",
                "content": "PEF...NlPg=="
            }
        ]
    }
}
GET /documents/PH/{documentId}/notifications
The supplier can send a GET request to the /documents/PH/{documentId}/notifications endpoint to retrieve application responses related to a single document. To make this request, set the following parameters:
NameTypeRequiredParameter typeDefaultDescription
documentIdstringYesPathThe document ID returned in step 2
Request sample
curl --location --request GET 'https://api-test.sovos.com/v1/documents/PH/{documentId}/notifications' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer TOKEN' \
--header 'x-correlationId: SET-TO-UNIQUE-VALUE'
Response sample
{
    "timestamp": 1633685509314,
    "status": 200,
    "success": true,
    "message": "Notifications Listed",
    "data": {
        "pageState": {
            "page": 1,
            "perPage": 50,
            "totalEntries": 1
        },
        "notifications": [
            {
                "createdDate": 1633681296,
                "metadata": {
                    "productId": "ph_PHInvoice_CAS_2.0",
                    "documentId": "3add2b7104dc0049ff0bf410f57e0a19afaf",
                    "erpDocumentId": "321412",
                    "erpSystemId": "UAT101",
                    "processType": "0",
                    "taxId": "08AAACI9260R002",
                    "sciCloudStatusCode": "200",
                    "sciResponseCode": "AP",
                    "sciStatusAction": "NOA",
                    "sciGovtStatusCode": "100"
                },
                "appPrefix": "DLT",
                "notificationId": "a8dc1aa2-fbe6-45ce-9e4c-97a3d5fdb91c",
                "content": "PEF...NlPg=="
            }
        ]
    }
}

Step 10: Supplier marks the application responses as acknowledged

The supplier must process the retrieved application responses and mark them as acknowledged. This can be done by sending a PUT request to the /notifications/PH endpoint.

To make this request, set the following request body parameters:

NameTypeRequiredDescription
statusstringYesUse "read"
notificationIdstringYesThe notification ID
Note:

Multiple notificationId values can be acknowledged in one Indirect Tax API call by including them in a single request.

Request sample
curl --location --request PUT 'https://api-test.sovos.com/v1/notifications/PH' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer TOKEN' \
--header 'x-correlationId: SET-TO-UNIQUE-VALUE' \
--data-raw '[
    {
        "status": "read",
        "notificationId": "51341d39-fd3e-4dcf-aea3-a73d73e0de76"
    }
]'
Response sample
{
    "timestamp": 1601673284,
    "status": 200,
    "success": true,
    "message": "Notifications acknowledged successfully."
}

Step 11: Supplier sends the invoice to the buyer

The supplier must design a solution that accommodates the preferred business processes for delivering the invoice to the buyer because this process is outside the scope of Sovos. The supplier can send the invoice to the buyer before or after reporting it to the tax authority.

SCI samples

The following samples are guidelines for integration with the Indirect Tax API in the Philippines. Because each integrating system is unique and has different requirements, you must adapt these samples before use.

Invoice issued by CAS

<?xml version="1.0" encoding="UTF-8"?>
<sbd:StandardBusinessDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://uri.etsi.org/01903/v1.4.1#" xmlns:ad="http://www.sovos.com/namespaces/additionalData" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:n0="urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:crn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2" xmlns:dbn="urn:oasis:names:specification:ubl:schema:xsd:DebitNote-2" xmlns:enc="http://www.sovos.com/namespaces/base64Document" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:inv="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2" xmlns:sac="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2" xmlns:sbc="urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2" xmlns:sbd="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" xmlns:sci="http://www.sovos.com/namespaces/sovosCanonicalInvoice" xmlns:sov="http://www.sovos.com/namespaces/sovosExtensions" xmlns:svs="http://www.sovos.com/namespaces/sovosDocument" xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:ccts-cct="urn:un:unece:uncefact:data:specification:CoreComponentTypeSchemaModule:2" xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader file:///C:/Git/Philippines/SCI/Philippines/Schemas/Sovos%20Document_v4/Sovos%20Document_v4/Standard%20Business%20Document/SBD.xsd">
	<sbd:StandardBusinessDocumentHeader>
		<sbd:HeaderVersion>1.0</sbd:HeaderVersion>
		<sbd:Sender>
			<sbd:Identifier Authority="PH">999999999</sbd:Identifier>
		</sbd:Sender>
		<sbd:Receiver>
			<sbd:Identifier Authority="PH">444555666</sbd:Identifier>
		</sbd:Receiver>
		<sbd:DocumentIdentification>
			<sbd:Standard>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</sbd:Standard>
			<sbd:TypeVersion>2.1</sbd:TypeVersion>
			<sbd:InstanceIdentifier/>
			<sbd:Type>Invoice</sbd:Type>
			<sbd:MultipleType>false</sbd:MultipleType>
			<sbd:CreationDateAndTime>2023-01-04T13:57:15Z</sbd:CreationDateAndTime>
		</sbd:DocumentIdentification>
		<sbd:BusinessScope>
			<sbd:Scope>
				<sbd:Type>Country</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PH</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.TransformDocument</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>SCI-TO-LEGAL_INVOICE</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.OutputSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PHInvoice</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>CompanyCode</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>999999999</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderDocumentId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>2023031520kw1Ls850911040</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderSystemId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>ERPSystem</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>ProcessType</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>Outbound</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>BusinessProcess</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:BusinessService>
					<sbd:BusinessServiceName>Default</sbd:BusinessServiceName>
				</sbd:BusinessService>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>BusinessCategory</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>B2B</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SubSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>CAS</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Version</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>2.0</sbd:Identifier>
			</sbd:Scope>
		</sbd:BusinessScope>
	</sbd:StandardBusinessDocumentHeader>
	<svs:SovosDocument>
		<sci:SovosCanonicalInvoice>
			<inv:Invoice>
				<cbc:CustomizationID/>
				<cbc:ID>2023031520kw1Ls850911040</cbc:ID>
				<cbc:CopyIndicator>false</cbc:CopyIndicator>
				<cbc:UUID>0000000205</cbc:UUID>
				<cbc:IssueDate>2023-03-15</cbc:IssueDate>
				<cbc:InvoiceTypeCode>01</cbc:InvoiceTypeCode>
				<cbc:Note>It's test e-invoice</cbc:Note>
				<cac:OriginatorDocumentReference>
					<cbc:ID/>
				</cac:OriginatorDocumentReference>
				<cac:AdditionalDocumentReference>
					<cbc:ID schemeID="PtuNum">FP012345-011-0123456-00001</cbc:ID>
				</cac:AdditionalDocumentReference>
				<cac:AccountingSupplierParty>
					<cac:Party>
						<cbc:IndustryClassificationCode>00000</cbc:IndustryClassificationCode>
						<cac:PartyIdentification>
							<cbc:ID>999999999</cbc:ID>
						</cac:PartyIdentification>
						<cac:PartyName>
							<cbc:Name>AAA Technology</cbc:Name>
						</cac:PartyName>
						<cac:PostalAddress>
							<cbc:StreetName>Address .......</cbc:StreetName>
						</cac:PostalAddress>
						<cac:PartyTaxScheme>
							<cac:TaxScheme>
								<cbc:TaxTypeCode>0</cbc:TaxTypeCode>
							</cac:TaxScheme>
						</cac:PartyTaxScheme>
						<cac:PartyLegalEntity>
							<cbc:RegistrationName>AAA Technology</cbc:RegistrationName>
						</cac:PartyLegalEntity>
						<cac:Contact>
							<cbc:ElectronicMail>sales@aaatech.com</cbc:ElectronicMail>
						</cac:Contact>
					</cac:Party>
				</cac:AccountingSupplierParty>
				<cac:AccountingCustomerParty>
					<cac:Party>
						<cbc:IndustryClassificationCode>00000</cbc:IndustryClassificationCode>
						<cac:PartyIdentification>
							<cbc:ID>444555666</cbc:ID>
						</cac:PartyIdentification>
						<cac:PartyName>
							<cbc:Name>BBB Corporation</cbc:Name>
						</cac:PartyName>
						<cac:PostalAddress>
							<cbc:StreetName>Addres ....</cbc:StreetName>
						</cac:PostalAddress>
						<cac:PartyLegalEntity>
							<cbc:RegistrationName>BBB Corporation</cbc:RegistrationName>
						</cac:PartyLegalEntity>
						<cac:Contact>
							<cbc:ElectronicMail>email@test.com</cbc:ElectronicMail>
						</cac:Contact>
					</cac:Party>
				</cac:AccountingCustomerParty>
				<cac:Delivery>
					<cac:DeliveryAddress>
						<cbc:StreetName>Delivery address</cbc:StreetName>
					</cac:DeliveryAddress>
				</cac:Delivery>
				<cac:Delivery>
					<cbc:ID>Air</cbc:ID>
					<cac:Despatch>
						<cbc:ID>Airnum</cbc:ID>
						<cbc:ActualDespatchDate>2021-07-30</cbc:ActualDespatchDate>
					</cac:Despatch>
				</cac:Delivery>
				<cac:Delivery>
					<cbc:ID>Lad</cbc:ID>
					<cac:Despatch>
						<cbc:ID>Bill of lading number</cbc:ID>
						<cbc:ActualDespatchDate>2021-07-30</cbc:ActualDespatchDate>
					</cac:Despatch>
				</cac:Delivery>
				<cac:AllowanceCharge>
					<cbc:ID>SeniorCitizen</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>PWD</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>Regular</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>Special</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>Rmk2</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:AllowanceChargeReason>Additional Remark</cbc:AllowanceChargeReason>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>OtherNonTaxCharge</cbc:ID>
					<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>OtherTaxRev</cbc:ID>
					<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:PaymentExchangeRate>
					<cbc:SourceCurrencyCode>PHP</cbc:SourceCurrencyCode>
					<cbc:TargetCurrencyCode>USD</cbc:TargetCurrencyCode>
					<cbc:CalculationRate>0.02</cbc:CalculationRate>
				</cac:PaymentExchangeRate>
				<cac:TaxTotal>
					<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>InvoiceTaxType</cbc:Name>
								<cbc:TaxTypeCode>01</cbc:TaxTypeCode>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:TaxTotal>
				<cac:TaxTotal>
					<cbc:TaxAmount currencyID="PHP">18000</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">18000</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>VATAmt</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:TaxTotal>
				<cac:TaxTotal>
					<cbc:TaxAmount currencyID="PHP">150000</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">150000</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>TotNetSalesAftDisct</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:TaxTotal>
				<cac:WithholdingTaxTotal>
					<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>Income</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>BusinessVAT</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>BusinessPT</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:WithholdingTaxTotal>
				<cac:LegalMonetaryTotal>
					<cbc:TaxExclusiveAmount currencyID="PHP">10000</cbc:TaxExclusiveAmount>
					<cbc:PayableAmount currencyID="PHP">168000</cbc:PayableAmount>
					<cbc:PayableAlternativeAmount currencyID="USD">3000</cbc:PayableAlternativeAmount>
				</cac:LegalMonetaryTotal>
				<cac:InvoiceLine>
					<cbc:ID/>
					<cbc:InvoicedQuantity unitCode="EA">5</cbc:InvoicedQuantity>
					<cbc:LineExtensionAmount currencyID="PHP">50000</cbc:LineExtensionAmount>
					<cac:AllowanceCharge>
						<cbc:ID>Regular</cbc:ID>
						<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
						<cbc:Amount currencyID="PHP">0</cbc:Amount>
					</cac:AllowanceCharge>
					<cac:AllowanceCharge>
						<cbc:ID>Special</cbc:ID>
						<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
						<cbc:Amount currencyID="PHP">0</cbc:Amount>
					</cac:AllowanceCharge>
					<cac:Item>
						<cbc:Description>Description 1</cbc:Description>
						<cbc:Name>Product 1</cbc:Name>
					</cac:Item>
					<cac:Price>
						<cbc:PriceAmount currencyID="PHP">10000</cbc:PriceAmount>
					</cac:Price>
					<cac:ItemPriceExtension>
						<cbc:Amount currencyID="PHP">50000</cbc:Amount>
					</cac:ItemPriceExtension>
				</cac:InvoiceLine>
				<cac:InvoiceLine>
					<cbc:ID/>
					<cbc:InvoicedQuantity unitCode="EA">5</cbc:InvoicedQuantity>
					<cbc:LineExtensionAmount currencyID="PHP">100000</cbc:LineExtensionAmount>
					<cac:AllowanceCharge>
						<cbc:ID>Regular</cbc:ID>
						<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
						<cbc:Amount currencyID="PHP">0</cbc:Amount>
					</cac:AllowanceCharge>
					<cac:AllowanceCharge>
						<cbc:ID>Special</cbc:ID>
						<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
						<cbc:Amount currencyID="PHP">0</cbc:Amount>
					</cac:AllowanceCharge>
					<cac:Item>
						<cbc:Description>Description 2</cbc:Description>
						<cbc:Name>Product 2</cbc:Name>
					</cac:Item>
					<cac:Price>
						<cbc:PriceAmount currencyID="PHP">20000</cbc:PriceAmount>
					</cac:Price>
					<cac:ItemPriceExtension>
						<cbc:Amount currencyID="PHP">100000</cbc:Amount>
					</cac:ItemPriceExtension>
				</cac:InvoiceLine>
			</inv:Invoice>
		</sci:SovosCanonicalInvoice>
	</svs:SovosDocument>
</sbd:StandardBusinessDocument>

Invoice issued by POS

The following sample doesn't contain line items:

<?xml version="1.0" encoding="UTF-8"?>
<sbd:StandardBusinessDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://uri.etsi.org/01903/v1.4.1#" xmlns:ad="http://www.sovos.com/namespaces/additionalData" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:n0="urn:oasis:names:specification:ubl:schema:xsd:CommonSignatureComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:crn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2" xmlns:dbn="urn:oasis:names:specification:ubl:schema:xsd:DebitNote-2" xmlns:enc="http://www.sovos.com/namespaces/base64Document" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:inv="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDataTypes-2" xmlns:sac="urn:oasis:names:specification:ubl:schema:xsd:SignatureAggregateComponents-2" xmlns:sbc="urn:oasis:names:specification:ubl:schema:xsd:SignatureBasicComponents-2" xmlns:sbd="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader" xmlns:sci="http://www.sovos.com/namespaces/sovosCanonicalInvoice" xmlns:sov="http://www.sovos.com/namespaces/sovosExtensions" xmlns:svs="http://www.sovos.com/namespaces/sovosDocument" xmlns:udt="urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:ccts-cct="urn:un:unece:uncefact:data:specification:CoreComponentTypeSchemaModule:2" xsi:schemaLocation="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader file:///C:/Git/Philippines/SCI/Philippines/Schemas/Sovos%20Document_v4/Sovos%20Document_v4/Standard%20Business%20Document/SBD.xsd">
	<sbd:StandardBusinessDocumentHeader>
		<sbd:HeaderVersion>1.0</sbd:HeaderVersion>
		<sbd:Sender>
			<sbd:Identifier Authority="PH">999999999</sbd:Identifier>
		</sbd:Sender>
		<sbd:Receiver>
			<sbd:Identifier Authority="PH">444555666</sbd:Identifier>
		</sbd:Receiver>
		<sbd:DocumentIdentification>
			<sbd:Standard>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</sbd:Standard>
			<sbd:TypeVersion>2.1</sbd:TypeVersion>
			<sbd:InstanceIdentifier/>
			<sbd:Type>Invoice</sbd:Type>
			<sbd:MultipleType>false</sbd:MultipleType>
			<sbd:CreationDateAndTime>2023-01-04T13:57:15Z</sbd:CreationDateAndTime>
		</sbd:DocumentIdentification>
		<sbd:BusinessScope>
			<sbd:Scope>
				<sbd:Type>Country</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PH</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.TransformDocument</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>SCI-TO-LEGAL_INVOICE</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Mapping.OutputSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>PHInvoice</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>CompanyCode</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>999999999</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderDocumentId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>2023032031lQPz7K10000003</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SenderSystemId</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>ERPSystem</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>ProcessType</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>Outbound</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>BusinessProcess</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:BusinessService>
					<sbd:BusinessServiceName>Default</sbd:BusinessServiceName>
				</sbd:BusinessService>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>BusinessCategory</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>B2C</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>SubSchema</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>POS</sbd:Identifier>
			</sbd:Scope>
			<sbd:Scope>
				<sbd:Type>Version</sbd:Type>
				<sbd:InstanceIdentifier/>
				<sbd:Identifier>2.0</sbd:Identifier>
			</sbd:Scope>
		</sbd:BusinessScope>
	</sbd:StandardBusinessDocumentHeader>
	<svs:SovosDocument>
		<sci:SovosCanonicalInvoice>
			<inv:Invoice>
				<cbc:CustomizationID/>
				<cbc:ID>2023032031lQPz7K10000003</cbc:ID>
				<cbc:CopyIndicator>false</cbc:CopyIndicator>
				<cbc:UUID>0000000205</cbc:UUID>
				<cbc:IssueDate>2023-03-20</cbc:IssueDate>
				<cbc:InvoiceTypeCode>01</cbc:InvoiceTypeCode>
				<cbc:Note>It's test e-invoice</cbc:Note>
				<cac:OriginatorDocumentReference>
					<cbc:ID/>
				</cac:OriginatorDocumentReference>
				<cac:AdditionalDocumentReference>
					<cbc:ID schemeID="PtuNum">FP012345-011-0123456-00001</cbc:ID>
				</cac:AdditionalDocumentReference>
				<cac:AdditionalDocumentReference>
					<cbc:ID schemeID="Min">Machine identification number</cbc:ID>
				</cac:AdditionalDocumentReference>
				<cac:AdditionalDocumentReference>
					<cbc:ID schemeID="Msn">Machine serial number</cbc:ID>
				</cac:AdditionalDocumentReference>
				<cac:AccountingSupplierParty>
					<cac:Party>
						<cbc:IndustryClassificationCode>00000</cbc:IndustryClassificationCode>
						<cac:PartyIdentification>
							<cbc:ID>999999999</cbc:ID>
						</cac:PartyIdentification>
						<cac:PartyName>
							<cbc:Name>AAA Technology</cbc:Name>
						</cac:PartyName>
						<cac:PostalAddress>
							<cbc:StreetName>Address .......</cbc:StreetName>
						</cac:PostalAddress>
						<cac:PartyTaxScheme>
							<cac:TaxScheme>
								<cbc:TaxTypeCode>0</cbc:TaxTypeCode>
							</cac:TaxScheme>
						</cac:PartyTaxScheme>
						<cac:PartyLegalEntity>
							<cbc:RegistrationName>AAA Technology</cbc:RegistrationName>
						</cac:PartyLegalEntity>
						<cac:Contact>
							<cbc:ElectronicMail>sales@aaatech.com</cbc:ElectronicMail>
						</cac:Contact>
					</cac:Party>
				</cac:AccountingSupplierParty>
				<cac:AccountingCustomerParty>
					<cac:Party>
						<cbc:IndustryClassificationCode>00000</cbc:IndustryClassificationCode>
						<cac:PartyIdentification>
							<cbc:ID>444555666</cbc:ID>
						</cac:PartyIdentification>
						<cac:PartyName>
							<cbc:Name>BBB Corporation</cbc:Name>
						</cac:PartyName>
						<cac:PostalAddress>
							<cbc:StreetName>Addres ....</cbc:StreetName>
						</cac:PostalAddress>
						<cac:PartyLegalEntity>
							<cbc:RegistrationName>BBB Corporation</cbc:RegistrationName>
						</cac:PartyLegalEntity>
						<cac:Contact>
							<cbc:ElectronicMail>email@test.com</cbc:ElectronicMail>
						</cac:Contact>
					</cac:Party>
				</cac:AccountingCustomerParty>
				<cac:AllowanceCharge>
					<cbc:ID>SeniorCitizen</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>PWD</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>Regular</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>Special</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>Rmk2</cbc:ID>
					<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
					<cbc:AllowanceChargeReason>Additional Remark</cbc:AllowanceChargeReason>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>OtherNonTaxCharge</cbc:ID>
					<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:AllowanceCharge>
					<cbc:ID>OtherTaxRev</cbc:ID>
					<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
					<cbc:Amount currencyID="PHP">0</cbc:Amount>
				</cac:AllowanceCharge>
				<cac:TaxTotal>
					<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>InvoiceTaxType</cbc:Name>
								<cbc:TaxTypeCode>01</cbc:TaxTypeCode>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:TaxTotal>
				<cac:TaxTotal>
					<cbc:TaxAmount currencyID="PHP">18000</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">18000</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>VATAmt</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>ExemptSales</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>ZeroSales</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:TaxTotal>
				<cac:TaxTotal>
					<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>TotSalesAmt</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:TaxTotal>
				<cac:TaxTotal>
					<cbc:TaxAmount currencyID="PHP">150000</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">150000</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>TotNetSalesAftDisct</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:TaxTotal>
				<cac:WithholdingTaxTotal>
					<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>Income</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>BusinessVAT</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
					<cac:TaxSubtotal>
						<cbc:TaxAmount currencyID="PHP">0</cbc:TaxAmount>
						<cac:TaxCategory>
							<cac:TaxScheme>
								<cbc:Name>BusinessPT</cbc:Name>
							</cac:TaxScheme>
						</cac:TaxCategory>
					</cac:TaxSubtotal>
				</cac:WithholdingTaxTotal>
				<cac:LegalMonetaryTotal>
					<cbc:TaxExclusiveAmount currencyID="PHP">0</cbc:TaxExclusiveAmount>
					<cbc:PayableAmount currencyID="PHP">168000</cbc:PayableAmount>
				</cac:LegalMonetaryTotal>
				<cac:InvoiceLine>
					<cbc:ID>N/A</cbc:ID>
					<cbc:LineExtensionAmount currencyID="PHP">0</cbc:LineExtensionAmount>
					<cac:Item/>
				</cac:InvoiceLine>
			</inv:Invoice>
		</sci:SovosCanonicalInvoice>
	</svs:SovosDocument>
</sbd:StandardBusinessDocument>