Índice |
---|
The Registration of Service Providers of Other Municipalities (CPOM) was an initiative of the prefectures of several Brazilian states in order to guarantee the correct payment of the service tax (ISS) in typical cases in which the provider has a CNPJ in a municipality other than where the service will be provided. This measure aims to combat tax evasion practiced by some companies that use fictitious addresses to pay less taxes.
How this evasion works:
By the Complementary Law no. 116/03, ISS must be collected at the service provider’s establishment (rule that includes numerous exceptions). The municipalities have the autonomy to define the ISS rate between 2% and 5%. Some business owners, in face of this fact, register companies in addresses from municipalities where the rate is lower than that of the municipality where the business is actually established.
Informações |
---|
For more details on the legislation, access the link for the city of São Paulo: Registration of Companies Outside the Municipality |
With CPOM in force, the provision of services is now subject to ISS double taxation. We are talking specifically about the following scenario:
Prefecture of city B requires CPOM
Informações |
---|
The minimum value rule for ISS withholding is considered anyway, and like the rate, the minimum value varies according to the city and service code (ISS Tax Registration - FISA052 routine). |
Illustrative flowchart (city A = Barueri, city B = São Paulo)
Aviso |
---|
Make sure that the municipality where the service invoice is being issued is included in this obligation and that it requires CPOM. |
As from the Supplier Municipality Verification event (yellow circle), due considerations will be made in the Tax module, in the ISS Double Taxation Registration. Both taxes (both the service provider and the service contractor's) will be calculated and withheld in the Financial module when the Accounts Payable bill is issued. For the ISS withholding on the bill post (parameter MV_MRETISS = 2), this functionality has not yet come into effect.
Informações |
---|
The detailed configuration for ISS calculation and withholding can be found at this link: DOC0020_ISS_Withholding |
MV_MRETISS = 1
MV_ALIQISS = 2
Nature Registration
Supplier Registration
ISS Double Taxation Registration (this will include, by type of service, Service Providers - Suppliers that are from other municipalities and that do not have CPOM for the municipality where the Accounts Payable invoice is being issued)
ISS Rate Registration (also enter, in this registration, the Supplier that represents the Municipality responsible for paying ISS double taxation). It is not necessary to bind a product
Addition of Accounts Payable for BRL 10,000.00, in which BRL 200.00 is ISS
When saved, the routine validates the scenario:
By filling the ISS Serv Code field with the type of service previously registered to calculate the ISS double taxation
Generated tax
Data modeling, fields creation in file SX3 - Fields:
Table SE2 Accounts Payable:
• E2_CODSERV
Field | E2_CODSERV |
Type | Character |
Size | 9 |
Decimal | 0 |
Format | @! |
Title | ISS Serv Code |
Description | ISS Service Code |
Level | 1 |
Used | Yes |
Mandatory | No |
Browse | No |
Visual? | Edit |
Context | Real |
Options | <empty> |
When | <empty> |
Relation | <empty> |
Val. System | ExistCpo("SX5","60"+AllTrim(M→E2_CODSERV)) .and. Fa050Nat2() |
Help | E2_CODSERV |
Field | E2_BTRISS |
Type | Numeric |
Size | 14 |
Decimal | 2 |
Format | @E 99,999,999,999.99 |
Title | ISS Double Taxation |
Description | ISS CPOM Double Taxation |
Level | 1 |
Used | Yes |
Mandatory | No |
Browse | No |
Visual? | Edit |
Context | Real |
Options | <Empty> |
When | M->E2_MULTNAT != "1" |
Relationship | <Empty> |
Val. System | Positivo() .and. IIF(M->E2_TIPO="PR" .and. M->E2_ISSBTR > 0,.F.,.T.) |
Help | E2_BTRISS |
Field | E2_VRETBIS |
Type | Numeric |
Size | 14 |
Decimal | 2 |
Format | @E 99,999,999,999.99 |
Title | Vl. ISBWithh. |
Description | Vl. ISS Double Tax Withholding |
Level | 1 |
Used | Yes |
Mandatory | No |
Browse | No |
Visual? | View |
Context | Real |
Options | <Empty> |
When | <Empty> |
Relation | <Empty> |
Val. System | <Empty> |
Help | E2_VRETBIS |
Data modeling, fields creation in file SX3 - Fields:
Table SE1 Accounts Receivable:
Field | E1_CODSERV |
Type | Character |
Size | 9 |
Decimal | 0 |
Format | @! |
Title | ISS Serv Code |
Description | ISS Service Code |
Level | 1 |
Used | Yes |
Mandatory | No |
Browse | No |
Visual? | Edit |
Context | Real |
Options | <empty> |
When | <empty> |
Relation | <empty> |
Val. System | ExistCpo("SX5","60"+AllTrim(M→E1_CODSERV)) .and. Fa040Natur() |
Help | E1_CODSERV |
Field | E1_BTRISS |
Type | Numeric |
Size | 14 |
Decimal | 2 |
Format | @E 99,999,999,999.99 |
Title | ISS Double Taxation |
Description | ISS Double Taxation Amount |
Level | 1 |
Used | Yes |
Mandatory | No |
Browse | No |
Visual? | Edit |
Context | Real |
Options | <Empty> |
When | M->E1_MULTNAT != "1" |
Relation | <Empty> |
Val. System | positivo() .and. m->e1_iss < m->e1_valor .and. IIF(m->e1_tipo="PR" .and. m->e1_iss > 0,.F.,.T.) .and. fa040valor() |
Help | ISS Double Taxation |
Field | E1_VRETBIS |
Type | Numeric |
Size | 14 |
Decimal | 2 |
Format | @E 99,999,999,999.99 |
Title | Value Wt. ISSB |
Description | Amount withheld in ISS double taxation |
Level | 1 |
Used | Yes |
Mandatory | No |
Browse | No |
Visual? | View |
Context | Real |
Options | <Empty> |
When | <Empty> |
Relation | <Empty> |
Val. System | <Empty> |
Help | Value Wt. ISSB |