|
| 1 | +--- |
| 2 | +id: peru_igv |
| 3 | +title: IGV |
| 4 | +--- |
| 5 | + |
| 6 | +_Inpuesto General a las Ventas (IGV)_ is a type of tax valid in Perú. Whenever you create a **_InvoiceType_, _CreditNoteType_, or _DebitNoteType_** you can define, for each item selled, a specific type of _IGV_. All _IGV_ types might be grouped into 4 groups: |
| 7 | + |
| 8 | +- Gravadas |
| 9 | +- Exoneradas |
| 10 | +- Inafectas |
| 11 | +- Gratuitas |
| 12 | + |
| 13 | +## Examples |
| 14 | + |
| 15 | +### _Invoice (boleta/factura)_ |
| 16 | + |
| 17 | +Use the field `tipoIgv` in each item selled: |
| 18 | + |
| 19 | +```java |
| 20 | +InvoiceInputModel pojo = InvoiceInputModel.Builder.anInvoiceInputModel() |
| 21 | + .withDetalle(Arrays.asList( |
| 22 | + DocumentLineInputModel.Builder.aDocumentLineInputModel() |
| 23 | + .withTipoIgv(Catalog7.GRAVADO_OPERACION_ONEROSA.toString()) |
| 24 | + .build(), |
| 25 | + DocumentLineInputModel.Builder.aDocumentLineInputModel() |
| 26 | + .withTipoIgv(Catalog7.GRAVADO_OPERACION_ONEROSA.toString()) |
| 27 | + .build()) |
| 28 | + ) |
| 29 | + .build(); |
| 30 | +``` |
| 31 | + |
| 32 | +### _CreditNote (nota de crédito)_ |
| 33 | + |
| 34 | +Use the field `tipoIgv` in each item selled: |
| 35 | + |
| 36 | +```java |
| 37 | +CreditNoteInputModel pojo = CreditNoteInputModel.Builder.aCreditNoteInputModel() |
| 38 | + .withDetalle(Arrays.asList( |
| 39 | + DocumentLineInputModel.Builder.aDocumentLineInputModel() |
| 40 | + .withTipoIgv(Catalog7.GRAVADO_OPERACION_ONEROSA.toString()) |
| 41 | + .build(), |
| 42 | + DocumentLineInputModel.Builder.aDocumentLineInputModel() |
| 43 | + .withTipoIgv(Catalog7.GRAVADO_OPERACION_ONEROSA.toString()) |
| 44 | + .build()) |
| 45 | + ) |
| 46 | + .build(); |
| 47 | +``` |
| 48 | + |
| 49 | +### _DebitNote (nota de débito)_ |
| 50 | + |
| 51 | +Use the field `tipoIgv` in each item selled: |
| 52 | + |
| 53 | +```java |
| 54 | +DebitNoteInputModel pojo = DebitNoteInputModel.Builder.aDebitNoteInputModel() |
| 55 | + .withDetalle(Arrays.asList( |
| 56 | + DocumentLineInputModel.Builder.aDocumentLineInputModel() |
| 57 | + .withTipoIgv(Catalog7.GRAVADO_OPERACION_ONEROSA.toString()) |
| 58 | + .build(), |
| 59 | + DocumentLineInputModel.Builder.aDocumentLineInputModel() |
| 60 | + .withTipoIgv(Catalog7.GRAVADO_OPERACION_ONEROSA.toString()) |
| 61 | + .build()) |
| 62 | + ) |
| 63 | + .build(); |
| 64 | +``` |
| 65 | + |
| 66 | +## Values of _tipoIgv_ |
| 67 | + |
| 68 | +The list of possible values of _tipoIgv_ can be found in the **Catalog 07** defined by the SUNAT. |
| 69 | + |
| 70 | +| Value | Code | |
| 71 | +| ----------------------------------------- | ---- | |
| 72 | +| GRAVADO_OPERACION_ONEROSA | 10 | |
| 73 | +| GRAVADO_RETIRO_POR_PREMIO | 11 | |
| 74 | +| GRAVADO_RETIRO_POR_DONACION | 12 | |
| 75 | +| GRAVADO_RETIRO | 13 | |
| 76 | +| GRAVADO_RETIRO_POR_PUBLICIDAD | 14 | |
| 77 | +| GRAVADO_BONIFICACIONES | 15 | |
| 78 | +| GRAVADO_RETIRO_POR_ENTREGA_A_TRABAJADORES | 16 | |
| 79 | +| GRAVADO_IVAP | 17 | |
| 80 | +| EXONERADO_OPERACION_ONEROSA | 20 | |
| 81 | +| EXONERADO_TRANSFERENCIA_GRATUITA | 21 | |
| 82 | +| INAFECTO_OPERACION_ONEROSA | 30 | |
| 83 | +| INAFECTO_RETIRO_POR_BONIFICACION | 31 | |
| 84 | +| INAFECTO_RETIRO | 32 | |
| 85 | +| INAFECTO_RETIRO_POR_MUESTRAS_MEDICAS | 33 | |
| 86 | +| INAFECTO_RETIRO_POR_CONVENIO_COLECTIVO | 34 | |
| 87 | +| INAFECTO_RETIRO_POR_PREMIO | 35 | |
| 88 | +| INAFECTO_RETIRO_POR_PUBLICIDAD | 36 | |
| 89 | +| EXPORTACION | 40 | |
| 90 | + |
| 91 | +## Default value of _tipoIgv_ |
| 92 | + |
| 93 | +If _tipoIgv_ is not defined within the POJO, then a default value defined in the **Config** will be applied. Learn how to configure the config in the [Concepts page](./concepts#config) |
0 commit comments