> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.kubifactu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nuevo SIF de empresa

> Creación de un Sistema Informático de Facturación de empresa.



## OpenAPI

````yaml /api-reference/openapi/openapi.yaml post /api/clientcompanies/{companyId}/sifs
openapi: 3.0.0
info:
  title: Kubifactu API
  description: API para el procesamiento y gestión de facturas de Veri*Factu
  version: 1.0.0
  contact:
    email: soporte@kubifactu.com
    name: Soporte KubiFACTU
    url: https://apidocs.kubifactu.com
servers:
  - url: https://api.kubifactu.com
    description: Servidor de producción
  - url: https://devapi.kubifactu.com
    description: Servidor de pruebas
security: []
paths:
  /api/clientcompanies/{companyId}/sifs:
    post:
      summary: Nuevo SIF de empresa
      description: Creación de un Sistema Informático de Facturación de empresa.
      operationId: createClientCompanySif
      parameters:
        - name: companyId
          in: path
          description: |
            ID de la empresa.
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateClientCompanySifRequest'
      responses:
        '200':
          description: Empresa creada con éxito.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSIFResponse'
        '403':
          description: No autorizado. La API-KEY proporcionada no es válida.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedApiKeyErrorResponse'
        '422':
          description: Errores de validación.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: Error interno del servidor.
      security:
        - owner_api_key: []
components:
  schemas:
    CreateClientCompanySifRequest:
      type: object
      properties:
        company_name:
          type: string
          description: Nombre de la empresa.
          example: Empresa de ejemplo
        tax_id_number:
          type: string
          description: NIF/CIF de la empresa.
          example: S6271969E
        other_country_code:
          $ref: '#/components/schemas/other_country_code'
        other_tax_id_type_key:
          $ref: '#/components/schemas/other_tax_id_type_key'
        other_tax_id_number:
          type: string
          description: >
            Número de identificación en el país de residencia del sujeto.
            Ejemplo: `L74JF44L2` para una empresa de `DE`.
        name:
          type: string
          description: Nombre del SIF.
          maxLength: 30
          example: SIF-0001
        sif_id:
          type: string
          maxLength: 2
          description: >
            Identificador del SIF para Veri*Factu. Deberá distinguirse de otros
            posibles SIFs que produzca esta entidad productora.


            Deberá tener rellenadas siempre las dos posiciones, cada una de las
            cuales deberá ser una letra mayúscula, excepto la Ñ, o un dígito
            numérico.
        version:
          type: string
          description: Versión en formato X.Y.Z del SIF.
          example: 1.0.0
        installation_number:
          type: string
          maxLength: 100
          description: >-
            Número de instalación del sistema informático de facturación (SIF)
            utilizado. Deberá distinguirse de otros posibles SIF utilizados para
            realizar la facturación del obligado a expedir facturas, es decir,
            de otras posibles instalaciones de SIF pasadas, presentes o futuras
            utilizadas para realizar la facturación del obligado a expedir
            facturas, incluso aunque en dichas instalaciones se emplee el mismo
            SIF de un productor.
          example: >-
            LQLFBFLMUSLAEMU7SC2BROSETQU7SSRIKJDRW2QHVMCPE574M4JORYRDLWPS3NRXWJ3APCNKWWXO771GSIO731KXTAUPIMXWV33Y
      required:
        - company_name
        - tax_id_number
        - name
        - sif_id
        - version
        - installation_number
    CreateSIFResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/sif'
    UnauthorizedApiKeyErrorResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            error:
              type: object
              properties:
                code:
                  type: string
                  description: Código de error que indica el tipo de problema.
                  example: E-UNAUTH-APIKEY
                message:
                  type: string
                  description: Mensaje detallado del error.
                  example: >-
                    No client with API-KEY
                    '5tVySMGJOpq8HfMgIX28Qz6kF0dFOoq37x55PLZcWsGeGeYkNgJyAcRTlFJ5NbVoDRm8qtCywEoiN3A9JkBanMBXYmxiqR3BItxgxx'
                    was found.
                http_code:
                  type: integer
                  description: Código HTTP asociado al error.
                  example: 403
                errors:
                  type: object
                  nullable: true
                  description: >
                    Detalles adicionales del error. Puede ser `null` si no hay
                    información específica.
                  example: null
                details:
                  type: object
                  properties:
                    request_id:
                      type: string
                      description: Identificador único de la solicitud para rastreo.
                      example: 2cc8ef846029ec69613711ad1d85f6dfebf16ffb
    ValidationErrorResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            error:
              type: object
              properties:
                message:
                  type: string
                  description: Mensaje general del error.
                  example: The given data was invalid.
                errors:
                  type: object
                  additionalProperties:
                    type: array
                    items:
                      type: string
                  description: >
                    Lista de errores de validación organizados por campo.

                    Cada clave es el nombre del campo asociado al error y
                    contiene un array de mensajes.
                  example:
                    invoice_exists:
                      - >-
                        An invoice already exists with the indicated invoice
                        number and fiscal for the provided SIF. Existing invoice
                        ID: [9db6bb78-6799-4abb-b9a0-22d127c543ed].
                    incorrect_total_quota:
                      - >-
                        The total quota of the invoice does not match the total
                        tax quota and equalization_tax_quota of the lines.
                        Calculated total quota: [26.25].
                    incorrect_total_amount:
                      - >-
                        The total amount of the invoice does not match the total
                        tax base of the lines. Calculated total amount:
                        [151.25].
                details:
                  type: object
                  properties:
                    request_id:
                      type: string
                      format: uuid
                      description: Identificador único de la solicitud para rastreo.
                      example: 9ded9e2c-d59e-4432-a926-652cbcfac365
    other_country_code:
      type: string
      description: >
        Código del país en formato [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2). Sólo es necesario
        rellenarlo **si el sujeto no es nacional**. El código de país debe ser
        `ES` si `other_tax_id_type_key` es `07 (no censado)`. Ejemplo: `DE`
    other_tax_id_type_key:
      type: string
      description: >
        Clave para identificar el tipo de documento. Los valores posibles son:


        - `02`: **NIF-IVA**: Número de Identificación Fiscal para IVA.

        - `03`: **Pasaporte**: Documento oficial que acredita la identidad y
        nacionalidad del portador.

        - `04`: **Documento oficial de identificación expedido por el país o
        territorio de residencia**.

        - `05`: **Certificado de residencia**: Documento que acredita la
        residencia fiscal.

        - `06`: **Otro documento probatorio**: Documento adicional que sirve
        como prueba de identidad.

        - `07`: **No censado**: El receptor no está registrado en el censo
        fiscal.
      enum:
        - '02'
        - '03'
        - '04'
        - '05'
        - '06'
        - '07'
    sif:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Identificador único del SIF.
          example: 9dccd6c6-08f8-490d-a370-bfef724c0855
        company_name:
          type: string
          description: Nombre de la empresa asociada al SIF.
          example: Empresa de ejemplo
        tax_id_number:
          type: string
          description: NIF/CIF de la empresa asociada al SIF.
          example: S6271969E
        other_country_code:
          $ref: '#/components/schemas/other_country_code'
        other_tax_id_type_key:
          $ref: '#/components/schemas/other_tax_id_type_key'
        other_tax_id_number:
          type: string
          description: >
            Número de identificación en el país de residencia de la empresa.
            Ejemplo: `L74JF44L2` para una empresa de `DE`.
        name:
          type: string
          description: Nombre del SIF.
          example: SIF 0001
        sif_id:
          type: string
          description: Identificador del SIF para Veri*Factu.
          example: DC
        version:
          type: string
          description: Versión del SIF.
          example: 1.0.0
        installation_number:
          type: string
          description: Número de instalación asociado al SIF.
          example: >-
            BM1WJ36SS5MOL6LWPLHTMBFUOTQO5TNDU2ILL34JG6FLSVAUMD1I0G41AS7PC870QAHHIOWJSBPKRB2XELRCUWO4TSJ8XY0UPAML
        only_verifactu_use_key:
          type: string
          description: |
            Indica si el SIF es solo para uso de Veri*Factu.
            Valores posibles: `S` (Sí), `N` (No).
          example: S
        multi_ot_key:
          type: string
          description: >
            Indica si el SIF admite operaciones de registros de facturación de
            múltiples empresas.

            Valores posibles: `S` (Sí), `N` (No).
          example: 'N'
        supporting_multiple_ots_key:
          type: string
          description: >
            Indica si el SIF soporta actualmente el procesamiento de registros
            de facturación de múltiples empresas.

            Valores posibles: `S` (Sí), `N` (No).
          example: 'N'
  securitySchemes:
    owner_api_key:
      type: apiKey
      name: X-Qbikode-UserApiKey
      in: header
      description: >
        API-KEY del intermediario que hace la petición. Este dato se puede
        consultar en el panel web, en la página de _Perfil de usuario_.

````